@common-stack/server-core 8.2.5-alpha.34 → 8.3.1-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import {merge,castArray,without,union,map}from'lodash-es';import {Container}from'inversify';import {transformPrefsToArray,getCurrentPreferences}from'../utils/preferences.js';import'@graphql-tools/utils';import'graphql';const featureCatalog = {};
1
+ import {merge,castArray,without,union,map}from'lodash-es';import {Container}from'inversify';import {transformPrefsToArray,getCurrentPreferences}from'../utils/preferences.js';import'crypto';import'graphql/language/index.js';import'@graphql-tools/utils';import'graphql';const featureCatalog = {};
2
2
  const combine = (features, extractor) => {
3
3
  // Filter out undefined/null features and log warnings for them
4
4
  const validFeatures = features.filter((feature, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"connector.js","sources":["../../src/connector/connector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connector.js","sources":["../../src/connector/connector.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -3,4 +3,3 @@ export * from './interfaces';
3
3
  export * from './constants';
4
4
  export * from './logger';
5
5
  export * from './utils';
6
- export * from './redis';
package/lib/index.js CHANGED
@@ -1 +1 @@
1
- export{Feature,featureCatalog}from'./connector/connector.js';export{GraphqlRootType}from'./interfaces/rules.js';export{TYPES}from'./constants/types.js';export{CACHE_CONTROL_DIRECTIVE}from'./constants/directives.js';export{logger}from'./logger/logger.js';export{getCurrentPreferences,transformPrefsToArray}from'./utils/preferences.js';export{extractTenantId}from'./utils/extract-tenant-id.js';export{getDirectiveArgsFromSchema}from'./utils/get-directive-args-from-schema.js';export{buildRedisKey,buildRedisKeyPattern,isHashLikeTenantId,sanitizeRedisKeyComponent}from'./redis/sanitize-redis-key.js';export{generateQueryCacheKey}from'./redis/generate-query-cache-key.js';export{RedisNamespace,buildRedisKeyPatternWithNamespace,buildRedisKeyWithNamespace,extractNamespaceFromRedisKey,extractTenantIdFromRedisKey,isValidRedisKeyWithNamespace,parseRedisKey}from'./redis/redis-key-builder.js';//# sourceMappingURL=index.js.map
1
+ export{Feature,featureCatalog}from'./connector/connector.js';export{GraphqlRootType}from'./interfaces/rules.js';export{TYPES}from'./constants/types.js';export{CACHE_CONTROL_DIRECTIVE}from'./constants/directives.js';export{logger}from'./logger/logger.js';export{getCurrentPreferences,transformPrefsToArray}from'./utils/preferences.js';export{generateQueryCacheKey}from'./utils/generate-query-cache-key.js';export{extractTenantId}from'./utils/extract-tenant-id.js';export{getDirectiveArgsFromSchema}from'./utils/get-directive-args-from-schema.js';//# sourceMappingURL=index.js.map
@@ -0,0 +1,11 @@
1
+ import { DocumentNode } from 'graphql/language/index.js';
2
+ import { CdmLogger } from '@cdm-logger/core';
3
+ type GenerateQueryCacheKeyOptions = {
4
+ query: string | DocumentNode;
5
+ variables: Record<string, unknown>;
6
+ userId?: string;
7
+ tenantId?: string;
8
+ logger?: CdmLogger.ILogger;
9
+ };
10
+ export declare const generateQueryCacheKey: ({ query, variables, logger, userId, tenantId }: GenerateQueryCacheKeyOptions) => string;
11
+ export {};
@@ -0,0 +1,13 @@
1
+ import {createHash}from'crypto';import {print}from'graphql/language/index.js';const generateQueryCacheKey = ({ query, variables, logger, userId, tenantId }) => {
2
+ const normalizedQuery = (typeof query === 'string' ? query : print(query)).trim();
3
+ const [, queryName] = normalizedQuery?.match(/{\s*(\w+)/) ?? [];
4
+ // Log the data right before hashing
5
+ if (logger) {
6
+ logger.trace('About to hash normalized query: [%s]', normalizedQuery);
7
+ logger.trace('About to hash variables: [%j]', variables);
8
+ }
9
+ const queryHash = createHash('sha256').update(normalizedQuery).digest('hex');
10
+ const variablesHash = variables ? createHash('sha256').update(JSON.stringify(variables)).digest('hex') : null;
11
+ const prefix = `${tenantId ? `${tenantId}:` : ''}${userId ? `${userId}:` : ''}`;
12
+ return `${prefix}${queryName}:${queryHash}${variablesHash ? `:${variablesHash}` : ''}`;
13
+ };export{generateQueryCacheKey};//# sourceMappingURL=generate-query-cache-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate-query-cache-key.js","sources":["../../src/utils/generate-query-cache-key.ts"],"sourcesContent":[null],"names":[],"mappings":"8EAWa,MAAA,qBAAqB,GAAG,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAgC,KAAI;IAClH,MAAM,eAAe,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;AAClF,IAAA,MAAM,GAAG,SAAS,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;;IAGhE,IAAI,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,eAAe,CAAC,CAAC;AACtE,QAAA,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;KAC5D;AAED,IAAA,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,IAAA,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC9G,MAAM,MAAM,GAAG,CAAA,EAAG,QAAQ,GAAG,CAAG,EAAA,QAAQ,CAAG,CAAA,CAAA,GAAG,EAAE,CAAA,EAAG,MAAM,GAAG,CAAG,EAAA,MAAM,CAAG,CAAA,CAAA,GAAG,EAAE,CAAA,CAAE,CAAC;AAChF,IAAA,OAAO,GAAG,MAAM,CAAA,EAAG,SAAS,CAAI,CAAA,EAAA,SAAS,GAAG,aAAa,GAAG,CAAA,CAAA,EAAI,aAAa,CAAE,CAAA,GAAG,EAAE,EAAE,CAAC;AAC3F"}
@@ -1,3 +1,4 @@
1
1
  export * from './preferences';
2
+ export * from './generate-query-cache-key';
2
3
  export * from './extract-tenant-id';
3
4
  export * from './get-directive-args-from-schema';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@common-stack/server-core",
3
- "version": "8.2.5-alpha.34",
3
+ "version": "8.3.1-alpha.0",
4
4
  "description": "common core for higher packages to depend on",
5
5
  "license": "UNLICENSED",
6
6
  "author": "CDMBase LLC",
@@ -24,7 +24,7 @@
24
24
  "watch": "yarn build:lib:watch"
25
25
  },
26
26
  "dependencies": {
27
- "@common-stack/core": "8.2.5-alpha.15",
27
+ "@common-stack/core": "8.3.1-alpha.0",
28
28
  "zod": "^4.0.0"
29
29
  },
30
30
  "peerDependencies": {
@@ -42,5 +42,5 @@
42
42
  "typescript": {
43
43
  "definition": "lib/index.d.ts"
44
44
  },
45
- "gitHead": "b2f197c4c14345a0fcfca3c06f4a8bac3ad9067e"
45
+ "gitHead": "896a0a80a57b2ec62925bdda9ed35e61cd5c1e9f"
46
46
  }
@@ -1,46 +0,0 @@
1
- import { DocumentNode } from 'graphql/language/index.js';
2
- import { CdmLogger } from '@cdm-logger/core';
3
- export type GenerateQueryCacheKeyOptions = {
4
- query: string | DocumentNode;
5
- variables: Record<string, unknown>;
6
- userId?: string;
7
- tenantId?: string;
8
- appName?: string;
9
- logger?: CdmLogger.ILogger;
10
- };
11
- /**
12
- * Generates a cache key for GraphQL queries using standardized Redis key builder
13
- *
14
- * Key format: `[appName]:[tenantId]:[userId]:queryName:queryHash[:variablesHash]`
15
- * or legacy format: `[tenantId]:[userId]:queryName:queryHash[:variablesHash]`
16
- * - Query and variables are hashed for consistent, compact keys
17
- * - Uses buildRedisKey for proper sanitization and validation
18
- * - Optional components are omitted if not provided
19
- *
20
- * @param options - Cache key generation options
21
- * @returns Generated cache key string
22
- *
23
- * @example
24
- * ```typescript
25
- * // With appName (recommended)
26
- * generateQueryCacheKey({
27
- * query: GetCurrentPagePermissionsDocument,
28
- * variables: { resourceUri: '...' },
29
- * userId: 'auth0|123',
30
- * tenantId: 'default',
31
- * appName: 'CDMBASE_TEST',
32
- * logger: myLogger
33
- * })
34
- * // Returns: 'CDMBASE_TEST:default:auth0-123:currentPagePermissions:hash1:hash2'
35
- *
36
- * // Legacy format without appName (for backward compatibility)
37
- * generateQueryCacheKey({
38
- * query: GetCurrentPagePermissionsDocument,
39
- * variables: { resourceUri: '...' },
40
- * userId: 'auth0|123',
41
- * tenantId: 'default',
42
- * })
43
- * // Returns: 'default:auth0-123:currentPagePermissions:hash1:hash2'
44
- * ```
45
- */
46
- export declare const generateQueryCacheKey: ({ query, variables, logger, userId, tenantId, appName, }: GenerateQueryCacheKeyOptions) => string;
@@ -1,70 +0,0 @@
1
- import {createHash}from'crypto';import {print}from'graphql/language/index.js';import {buildRedisKey}from'./sanitize-redis-key.js';/**
2
- * Generates a cache key for GraphQL queries using standardized Redis key builder
3
- *
4
- * Key format: `[appName]:[tenantId]:[userId]:queryName:queryHash[:variablesHash]`
5
- * or legacy format: `[tenantId]:[userId]:queryName:queryHash[:variablesHash]`
6
- * - Query and variables are hashed for consistent, compact keys
7
- * - Uses buildRedisKey for proper sanitization and validation
8
- * - Optional components are omitted if not provided
9
- *
10
- * @param options - Cache key generation options
11
- * @returns Generated cache key string
12
- *
13
- * @example
14
- * ```typescript
15
- * // With appName (recommended)
16
- * generateQueryCacheKey({
17
- * query: GetCurrentPagePermissionsDocument,
18
- * variables: { resourceUri: '...' },
19
- * userId: 'auth0|123',
20
- * tenantId: 'default',
21
- * appName: 'CDMBASE_TEST',
22
- * logger: myLogger
23
- * })
24
- * // Returns: 'CDMBASE_TEST:default:auth0-123:currentPagePermissions:hash1:hash2'
25
- *
26
- * // Legacy format without appName (for backward compatibility)
27
- * generateQueryCacheKey({
28
- * query: GetCurrentPagePermissionsDocument,
29
- * variables: { resourceUri: '...' },
30
- * userId: 'auth0|123',
31
- * tenantId: 'default',
32
- * })
33
- * // Returns: 'default:auth0-123:currentPagePermissions:hash1:hash2'
34
- * ```
35
- */
36
- const generateQueryCacheKey = ({ query, variables, logger, userId, tenantId, appName, }) => {
37
- const normalizedQuery = (typeof query === 'string' ? query : print(query)).trim();
38
- const [, queryName] = normalizedQuery?.match(/{\s*(\w+)/) ?? [];
39
- // Log the data right before hashing
40
- if (logger) {
41
- logger.trace('About to hash normalized query: [%s]', normalizedQuery);
42
- logger.trace('About to hash variables: [%j]', variables);
43
- }
44
- const queryHash = createHash('sha256').update(normalizedQuery).digest('hex');
45
- const variablesHash = variables ? createHash('sha256').update(JSON.stringify(variables)).digest('hex') : null;
46
- // Build segments: queryName, queryHash, and optional variablesHash
47
- const segments = [queryName, queryHash];
48
- if (variablesHash) {
49
- segments.push(variablesHash);
50
- }
51
- // If appName is provided, use the full standardized format
52
- if (appName) {
53
- return buildRedisKey({
54
- appName,
55
- tenantId,
56
- userId,
57
- segments,
58
- });
59
- }
60
- // Legacy format for backward compatibility (no appName)
61
- // Still uses buildRedisKey for sanitization, but strips the appName prefix
62
- const fullKey = buildRedisKey({
63
- appName: '__temp__',
64
- tenantId,
65
- userId,
66
- segments,
67
- });
68
- // Remove the temporary appName prefix: __temp__:
69
- return fullKey.substring('__temp__:'.length);
70
- };export{generateQueryCacheKey};//# sourceMappingURL=generate-query-cache-key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-query-cache-key.js","sources":["../../src/redis/generate-query-cache-key.ts"],"sourcesContent":[null],"names":[],"mappings":"kIAcA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCG;AACU,MAAA,qBAAqB,GAAG,CAAC,EAClC,KAAK,EACL,SAAS,EACT,MAAM,EACN,MAAM,EACN,QAAQ,EACR,OAAO,GACoB,KAAY;IACvC,MAAM,eAAe,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;AAClF,IAAA,MAAM,GAAG,SAAS,CAAC,GAAG,eAAe,EAAE,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;;IAGhE,IAAI,MAAM,EAAE;AACR,QAAA,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,eAAe,CAAC,CAAC;AACtE,QAAA,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,SAAS,CAAC,CAAC;KAC5D;AAED,IAAA,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC7E,IAAA,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;;AAG9G,IAAA,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACxC,IAAI,aAAa,EAAE;AACf,QAAA,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;KAChC;;IAGD,IAAI,OAAO,EAAE;AACT,QAAA,OAAO,aAAa,CAAC;YACjB,OAAO;YACP,QAAQ;YACR,MAAM;YACN,QAAQ;AACX,SAAA,CAAC,CAAC;KACN;;;IAID,MAAM,OAAO,GAAG,aAAa,CAAC;AAC1B,QAAA,OAAO,EAAE,UAAU;QACnB,QAAQ;QACR,MAAM;QACN,QAAQ;AACX,KAAA,CAAC,CAAC;;IAGH,OAAO,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AACjD"}
@@ -1,11 +0,0 @@
1
- /**
2
- * Redis utilities for key management, sanitization, and cache key generation
3
- *
4
- * This module provides a centralized set of utilities for working with Redis keys
5
- * to ensure consistency across the application and proper tenant isolation.
6
- *
7
- * @module redis
8
- */
9
- export { sanitizeRedisKeyComponent, isHashLikeTenantId, buildRedisKey, buildRedisKeyPattern, type BuildRedisKeyOptions, } from './sanitize-redis-key';
10
- export { generateQueryCacheKey, type GenerateQueryCacheKeyOptions } from './generate-query-cache-key';
11
- export { buildRedisKeyWithNamespace, buildRedisKeyPatternWithNamespace, RedisNamespace, extractTenantIdFromRedisKey, extractNamespaceFromRedisKey, isValidRedisKeyWithNamespace, parseRedisKey, type RedisKeyBuilderOptions, type RedisNamespaceType, type ParsedRedisKey, } from './redis-key-builder';
@@ -1,150 +0,0 @@
1
- /**
2
- * Centralized Redis Key Builder
3
- *
4
- * Enforces consistent Redis key formatting across the entire application.
5
- * Standard format: <APP_NAME>:<tenantId>:<namespace>:<...segments>
6
- *
7
- * Key Design Principles:
8
- * 1. All keys MUST start with APP_NAME for application isolation
9
- * 2. All keys SHOULD include tenantId for multi-tenancy (use 'default' if no tenant context)
10
- * 3. Keys are sanitized to remove invalid Redis characters
11
- * 4. Use namespaces to organize keys by domain/feature
12
- */
13
- /**
14
- * Options for building Redis keys with namespace support
15
- */
16
- export interface RedisKeyBuilderOptions {
17
- /** Application name for key prefix (e.g., 'CDMBASE_TEST') */
18
- appName: string;
19
- /** Tenant ID for multi-tenancy. Use 'default' for global/system keys */
20
- tenantId?: string;
21
- /** Namespace for organizing keys (e.g., 'cache', 'session', 'tenant', 'config') */
22
- namespace: string;
23
- /** Additional key segments (e.g., ['user', userId] or ['query', queryName]) */
24
- segments: string[];
25
- }
26
- /**
27
- * Builds a standardized Redis key with namespace and consistent formatting
28
- *
29
- * Format: <APP_NAME>:<tenantId>:<namespace>:<segment1>:<segment2>:...
30
- *
31
- * @param options - Key building options
32
- * @returns Formatted and sanitized Redis key
33
- *
34
- * @example
35
- * ```typescript
36
- * // Cache key with tenant
37
- * buildRedisKeyWithNamespace({
38
- * appName: 'CDMBASE_TEST',
39
- * tenantId: 'tenant-123',
40
- * namespace: 'cache',
41
- * segments: ['user', userId, 'profile']
42
- * });
43
- * // => "CDMBASE_TEST:tenant-123:cache:user:auth0-123:profile"
44
- *
45
- * // Global configuration key
46
- * buildRedisKeyWithNamespace({
47
- * appName: 'CDMBASE_TEST',
48
- * tenantId: 'default',
49
- * namespace: 'config',
50
- * segments: ['extension', 'permissions']
51
- * });
52
- * // => "CDMBASE_TEST:default:config:extension:permissions"
53
- *
54
- * // Session key without tenant
55
- * buildRedisKeyWithNamespace({
56
- * appName: 'CDMBASE_TEST',
57
- * namespace: 'session',
58
- * segments: ['abc123']
59
- * });
60
- * // => "CDMBASE_TEST:default:session:abc123"
61
- * ```
62
- */
63
- export declare function buildRedisKeyWithNamespace(options: RedisKeyBuilderOptions): string;
64
- /**
65
- * Builds a wildcard pattern for Redis KEYS command with namespace support
66
- *
67
- * @param options - Key building options (segments can include '*' wildcards)
68
- * @returns Redis key pattern for matching multiple keys
69
- *
70
- * @example
71
- * ```typescript
72
- * // Match all cache keys for a tenant
73
- * buildRedisKeyPatternWithNamespace({
74
- * appName: 'CDMBASE_TEST',
75
- * tenantId: 'tenant-123',
76
- * namespace: 'cache',
77
- * segments: ['*']
78
- * });
79
- * // => "CDMBASE_TEST:tenant-123:cache:*"
80
- *
81
- * // Match all user cache keys across all tenants
82
- * buildRedisKeyPatternWithNamespace({
83
- * appName: 'CDMBASE_TEST',
84
- * tenantId: '*',
85
- * namespace: 'cache',
86
- * segments: ['user', '*']
87
- * });
88
- * // => "CDMBASE_TEST:*:cache:user:*"
89
- * ```
90
- */
91
- export declare function buildRedisKeyPatternWithNamespace(options: RedisKeyBuilderOptions): string;
92
- /**
93
- * Common namespaces used across the application
94
- * These provide a standardized vocabulary for organizing Redis keys
95
- */
96
- export declare const RedisNamespace: {
97
- /** GraphQL/API response caching */
98
- readonly CACHE: "cache";
99
- /** User session data */
100
- readonly SESSION: "session";
101
- /** Tenant information cache */
102
- readonly TENANT: "tenant";
103
- /** Configuration and settings */
104
- readonly CONFIG: "config";
105
- /** Extension/plugin data */
106
- readonly EXTENSION: "extension";
107
- /** Contribution points */
108
- readonly CONTRIBUTION: "contribution";
109
- /** Request-scoped storage */
110
- readonly STORAGE: "storage";
111
- /** Permission and access control */
112
- readonly PERMISSION: "permission";
113
- /** Temporary/TTL based data */
114
- readonly TEMP: "temp";
115
- };
116
- export type RedisNamespaceType = (typeof RedisNamespace)[keyof typeof RedisNamespace];
117
- /**
118
- * Extracts tenant ID from a Redis key if present
119
- *
120
- * @param key - Redis key to parse
121
- * @returns Tenant ID or null if not found/parseable
122
- */
123
- export declare function extractTenantIdFromRedisKey(key: string): string | null;
124
- /**
125
- * Extracts namespace from a Redis key if present
126
- *
127
- * @param key - Redis key to parse
128
- * @returns Namespace or null if not found/parseable
129
- */
130
- export declare function extractNamespaceFromRedisKey(key: string): string | null;
131
- /**
132
- * Validates if a key follows the standard format with namespace
133
- *
134
- * @param key - Redis key to validate
135
- * @returns True if key follows standard format
136
- */
137
- export declare function isValidRedisKeyWithNamespace(key: string): boolean;
138
- /**
139
- * Parses a Redis key into its components
140
- *
141
- * @param key - Redis key to parse
142
- * @returns Parsed key components or null if invalid
143
- */
144
- export interface ParsedRedisKey {
145
- appName: string;
146
- tenantId: string;
147
- namespace: string;
148
- segments: string[];
149
- }
150
- export declare function parseRedisKey(key: string): ParsedRedisKey | null;
@@ -1,170 +0,0 @@
1
- import {sanitizeRedisKeyComponent}from'./sanitize-redis-key.js';/**
2
- * Centralized Redis Key Builder
3
- *
4
- * Enforces consistent Redis key formatting across the entire application.
5
- * Standard format: <APP_NAME>:<tenantId>:<namespace>:<...segments>
6
- *
7
- * Key Design Principles:
8
- * 1. All keys MUST start with APP_NAME for application isolation
9
- * 2. All keys SHOULD include tenantId for multi-tenancy (use 'default' if no tenant context)
10
- * 3. Keys are sanitized to remove invalid Redis characters
11
- * 4. Use namespaces to organize keys by domain/feature
12
- */
13
- /**
14
- * Builds a standardized Redis key with namespace and consistent formatting
15
- *
16
- * Format: <APP_NAME>:<tenantId>:<namespace>:<segment1>:<segment2>:...
17
- *
18
- * @param options - Key building options
19
- * @returns Formatted and sanitized Redis key
20
- *
21
- * @example
22
- * ```typescript
23
- * // Cache key with tenant
24
- * buildRedisKeyWithNamespace({
25
- * appName: 'CDMBASE_TEST',
26
- * tenantId: 'tenant-123',
27
- * namespace: 'cache',
28
- * segments: ['user', userId, 'profile']
29
- * });
30
- * // => "CDMBASE_TEST:tenant-123:cache:user:auth0-123:profile"
31
- *
32
- * // Global configuration key
33
- * buildRedisKeyWithNamespace({
34
- * appName: 'CDMBASE_TEST',
35
- * tenantId: 'default',
36
- * namespace: 'config',
37
- * segments: ['extension', 'permissions']
38
- * });
39
- * // => "CDMBASE_TEST:default:config:extension:permissions"
40
- *
41
- * // Session key without tenant
42
- * buildRedisKeyWithNamespace({
43
- * appName: 'CDMBASE_TEST',
44
- * namespace: 'session',
45
- * segments: ['abc123']
46
- * });
47
- * // => "CDMBASE_TEST:default:session:abc123"
48
- * ```
49
- */
50
- function buildRedisKeyWithNamespace(options) {
51
- const { appName, tenantId = 'default', namespace, segments } = options;
52
- // Sanitize all components
53
- const sanitizedAppName = sanitizeRedisKeyComponent(appName);
54
- const sanitizedTenantId = sanitizeRedisKeyComponent(tenantId);
55
- const sanitizedNamespace = sanitizeRedisKeyComponent(namespace);
56
- const sanitizedSegments = segments.map(sanitizeRedisKeyComponent);
57
- // Build key with consistent format
58
- return [sanitizedAppName, sanitizedTenantId, sanitizedNamespace, ...sanitizedSegments].join(':');
59
- }
60
- /**
61
- * Builds a wildcard pattern for Redis KEYS command with namespace support
62
- *
63
- * @param options - Key building options (segments can include '*' wildcards)
64
- * @returns Redis key pattern for matching multiple keys
65
- *
66
- * @example
67
- * ```typescript
68
- * // Match all cache keys for a tenant
69
- * buildRedisKeyPatternWithNamespace({
70
- * appName: 'CDMBASE_TEST',
71
- * tenantId: 'tenant-123',
72
- * namespace: 'cache',
73
- * segments: ['*']
74
- * });
75
- * // => "CDMBASE_TEST:tenant-123:cache:*"
76
- *
77
- * // Match all user cache keys across all tenants
78
- * buildRedisKeyPatternWithNamespace({
79
- * appName: 'CDMBASE_TEST',
80
- * tenantId: '*',
81
- * namespace: 'cache',
82
- * segments: ['user', '*']
83
- * });
84
- * // => "CDMBASE_TEST:*:cache:user:*"
85
- * ```
86
- */
87
- function buildRedisKeyPatternWithNamespace(options) {
88
- // For patterns, allow '*' to pass through without sanitization
89
- const { appName, tenantId = '*', namespace, segments } = options;
90
- const sanitizedAppName = sanitizeRedisKeyComponent(appName);
91
- const sanitizedTenantId = tenantId === '*' ? '*' : sanitizeRedisKeyComponent(tenantId);
92
- const sanitizedNamespace = sanitizeRedisKeyComponent(namespace);
93
- const sanitizedSegments = segments.map((seg) => (seg === '*' ? '*' : sanitizeRedisKeyComponent(seg)));
94
- return [sanitizedAppName, sanitizedTenantId, sanitizedNamespace, ...sanitizedSegments].join(':');
95
- }
96
- /**
97
- * Common namespaces used across the application
98
- * These provide a standardized vocabulary for organizing Redis keys
99
- */
100
- const RedisNamespace = {
101
- /** GraphQL/API response caching */
102
- CACHE: 'cache',
103
- /** User session data */
104
- SESSION: 'session',
105
- /** Tenant information cache */
106
- TENANT: 'tenant',
107
- /** Configuration and settings */
108
- CONFIG: 'config',
109
- /** Extension/plugin data */
110
- EXTENSION: 'extension',
111
- /** Contribution points */
112
- CONTRIBUTION: 'contribution',
113
- /** Request-scoped storage */
114
- STORAGE: 'storage',
115
- /** Permission and access control */
116
- PERMISSION: 'permission',
117
- /** Temporary/TTL based data */
118
- TEMP: 'temp',
119
- };
120
- /**
121
- * Extracts tenant ID from a Redis key if present
122
- *
123
- * @param key - Redis key to parse
124
- * @returns Tenant ID or null if not found/parseable
125
- */
126
- function extractTenantIdFromRedisKey(key) {
127
- const parts = key.split(':');
128
- // Format: APP_NAME:tenantId:namespace:...
129
- if (parts.length >= 3) {
130
- return parts[1];
131
- }
132
- return null;
133
- }
134
- /**
135
- * Extracts namespace from a Redis key if present
136
- *
137
- * @param key - Redis key to parse
138
- * @returns Namespace or null if not found/parseable
139
- */
140
- function extractNamespaceFromRedisKey(key) {
141
- const parts = key.split(':');
142
- // Format: APP_NAME:tenantId:namespace:...
143
- if (parts.length >= 3) {
144
- return parts[2];
145
- }
146
- return null;
147
- }
148
- /**
149
- * Validates if a key follows the standard format with namespace
150
- *
151
- * @param key - Redis key to validate
152
- * @returns True if key follows standard format
153
- */
154
- function isValidRedisKeyWithNamespace(key) {
155
- const parts = key.split(':');
156
- // Minimum format: APP_NAME:tenantId:namespace
157
- return parts.length >= 3 && parts[0].length > 0 && parts[1].length > 0 && parts[2].length > 0;
158
- }
159
- function parseRedisKey(key) {
160
- const parts = key.split(':');
161
- if (parts.length < 3) {
162
- return null;
163
- }
164
- return {
165
- appName: parts[0],
166
- tenantId: parts[1],
167
- namespace: parts[2],
168
- segments: parts.slice(3),
169
- };
170
- }export{RedisNamespace,buildRedisKeyPatternWithNamespace,buildRedisKeyWithNamespace,extractNamespaceFromRedisKey,extractTenantIdFromRedisKey,isValidRedisKeyWithNamespace,parseRedisKey};//# sourceMappingURL=redis-key-builder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"redis-key-builder.js","sources":["../../src/redis/redis-key-builder.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,85 +0,0 @@
1
- /**
2
- * Sanitizes a Redis key component to ensure it's valid and safe
3
- *
4
- * Redis keys can contain any binary sequence, but for best practices and compatibility:
5
- * - Avoid whitespace (spaces, tabs, newlines) - replace with underscores
6
- * - Avoid pipes (|) which are used in Auth0 userIds - replace with hyphens
7
- * - Avoid quotes and backslashes that could cause escaping issues - remove them
8
- * - Avoid control characters - remove them
9
- *
10
- * @param str - The string component to sanitize
11
- * @returns Sanitized string safe for use in Redis keys
12
- *
13
- * @example
14
- * ```typescript
15
- * sanitizeRedisKeyComponent('auth0|6120ecbb1e5c68006aabe17a')
16
- * // Returns: 'auth0-6120ecbb1e5c68006aabe17a'
17
- *
18
- * sanitizeRedisKeyComponent('user name with spaces')
19
- * // Returns: 'user_name_with_spaces'
20
- * ```
21
- */
22
- export declare const sanitizeRedisKeyComponent: (str: string) => string;
23
- /**
24
- * Validates if a tenantId looks like a MongoDB ObjectId hash
25
- * MongoDB ObjectIds are 24 character hexadecimal strings
26
- *
27
- * @param tenantId - The tenant ID to validate
28
- * @returns true if the tenantId appears to be a hash, false otherwise
29
- */
30
- export declare const isHashLikeTenantId: (tenantId: string) => boolean;
31
- /**
32
- * Builds a standardized Redis key with proper tenant isolation and sanitization
33
- *
34
- * Key format: `{appName}:{tenantId}:{userId}:{...segments}`
35
- * - All components are sanitized to remove invalid characters
36
- * - TenantId is validated and replaced with 'default' if it appears to be a hash
37
- * - Components can be skipped by passing null/undefined
38
- *
39
- * @param options - Key building options
40
- * @param options.appName - Application name (e.g., 'CDMBASE_TEST')
41
- * @param options.tenantId - Tenant identifier (validated against hash pattern)
42
- * @param options.userId - User identifier (sanitized for Auth0 format)
43
- * @param options.segments - Additional key segments (array of strings)
44
- * @param options.logger - Optional logger for warnings
45
- * @returns Constructed Redis key
46
- *
47
- * @example
48
- * ```typescript
49
- * buildRedisKey({
50
- * appName: 'CDMBASE_TEST',
51
- * tenantId: 'default',
52
- * userId: 'auth0|6120ecbb',
53
- * segments: ['currentPagePermissions', 'hash123']
54
- * })
55
- * // Returns: 'CDMBASE_TEST:default:auth0-6120ecbb:currentPagePermissions:hash123'
56
- * ```
57
- */
58
- export interface BuildRedisKeyOptions {
59
- appName: string;
60
- tenantId?: string;
61
- userId?: string;
62
- segments?: string[];
63
- logger?: {
64
- warn: (message: string, ...args: unknown[]) => void;
65
- };
66
- }
67
- export declare const buildRedisKey: ({ appName, tenantId, userId, segments, logger }: BuildRedisKeyOptions) => string;
68
- /**
69
- * Builds a wildcard pattern for Redis key matching
70
- * Useful for bulk operations like deleting all keys matching a pattern
71
- *
72
- * @param options - Pattern building options (same as buildRedisKey)
73
- * @returns Redis key pattern with wildcards
74
- *
75
- * @example
76
- * ```typescript
77
- * buildRedisKeyPattern({
78
- * appName: 'CDMBASE_TEST',
79
- * tenantId: 'default',
80
- * segments: ['currentPagePermissions']
81
- * })
82
- * // Returns: 'CDMBASE_TEST:default:*:currentPagePermissions:*'
83
- * ```
84
- */
85
- export declare const buildRedisKeyPattern: ({ appName, tenantId, userId, segments, }: Omit<BuildRedisKeyOptions, "logger">) => string;
@@ -1,95 +0,0 @@
1
- /**
2
- * Sanitizes a Redis key component to ensure it's valid and safe
3
- *
4
- * Redis keys can contain any binary sequence, but for best practices and compatibility:
5
- * - Avoid whitespace (spaces, tabs, newlines) - replace with underscores
6
- * - Avoid pipes (|) which are used in Auth0 userIds - replace with hyphens
7
- * - Avoid quotes and backslashes that could cause escaping issues - remove them
8
- * - Avoid control characters - remove them
9
- *
10
- * @param str - The string component to sanitize
11
- * @returns Sanitized string safe for use in Redis keys
12
- *
13
- * @example
14
- * ```typescript
15
- * sanitizeRedisKeyComponent('auth0|6120ecbb1e5c68006aabe17a')
16
- * // Returns: 'auth0-6120ecbb1e5c68006aabe17a'
17
- *
18
- * sanitizeRedisKeyComponent('user name with spaces')
19
- * // Returns: 'user_name_with_spaces'
20
- * ```
21
- */
22
- const sanitizeRedisKeyComponent = (str) => {
23
- if (!str)
24
- return str;
25
- return (str
26
- .replace(/[\s\r\n\t]+/g, '_') // Replace whitespace with underscores
27
- .replace(/\|/g, '-') // Replace pipes with hyphens (Auth0 userIds: auth0|123 -> auth0-123)
28
- .replace(/["'\\]/g, '') // Remove quotes and backslashes
29
- // eslint-disable-next-line no-control-regex
30
- .replace(/[\x00-\x1F\x7F]/g, '') // Remove control characters
31
- .trim());
32
- };
33
- /**
34
- * Validates if a tenantId looks like a MongoDB ObjectId hash
35
- * MongoDB ObjectIds are 24 character hexadecimal strings
36
- *
37
- * @param tenantId - The tenant ID to validate
38
- * @returns true if the tenantId appears to be a hash, false otherwise
39
- */
40
- const isHashLikeTenantId = (tenantId) => {
41
- if (!tenantId || tenantId === 'default')
42
- return false;
43
- return /^[a-f0-9]{24,}$/i.test(tenantId);
44
- };
45
- const buildRedisKey = ({ appName, tenantId, userId, segments = [], logger }) => {
46
- // Validate and sanitize tenantId
47
- let sanitizedTenantId = tenantId || 'default';
48
- if (sanitizedTenantId !== 'default' && isHashLikeTenantId(sanitizedTenantId)) {
49
- if (logger) {
50
- logger.warn('TenantId appears to be a hash (%s...), using "default" instead', sanitizedTenantId.substring(0, 16));
51
- }
52
- sanitizedTenantId = 'default';
53
- }
54
- // Build key parts
55
- const parts = [sanitizeRedisKeyComponent(appName), sanitizeRedisKeyComponent(sanitizedTenantId)];
56
- // Add userId if provided
57
- if (userId) {
58
- parts.push(sanitizeRedisKeyComponent(userId));
59
- }
60
- // Add additional segments
61
- if (segments && segments.length > 0) {
62
- parts.push(...segments.map((seg) => sanitizeRedisKeyComponent(seg)));
63
- }
64
- return parts.join(':');
65
- };
66
- /**
67
- * Builds a wildcard pattern for Redis key matching
68
- * Useful for bulk operations like deleting all keys matching a pattern
69
- *
70
- * @param options - Pattern building options (same as buildRedisKey)
71
- * @returns Redis key pattern with wildcards
72
- *
73
- * @example
74
- * ```typescript
75
- * buildRedisKeyPattern({
76
- * appName: 'CDMBASE_TEST',
77
- * tenantId: 'default',
78
- * segments: ['currentPagePermissions']
79
- * })
80
- * // Returns: 'CDMBASE_TEST:default:*:currentPagePermissions:*'
81
- * ```
82
- */
83
- const buildRedisKeyPattern = ({ appName, tenantId, userId, segments = [], }) => {
84
- const parts = [sanitizeRedisKeyComponent(appName), tenantId ? sanitizeRedisKeyComponent(tenantId) : '*'];
85
- // Add userId or wildcard
86
- parts.push(userId ? sanitizeRedisKeyComponent(userId) : '*');
87
- // Add segments with wildcards
88
- if (segments && segments.length > 0) {
89
- parts.push(...segments.map((seg) => (seg === '*' ? '*' : sanitizeRedisKeyComponent(seg))));
90
- }
91
- else {
92
- parts.push('*');
93
- }
94
- return parts.join(':');
95
- };export{buildRedisKey,buildRedisKeyPattern,isHashLikeTenantId,sanitizeRedisKeyComponent};//# sourceMappingURL=sanitize-redis-key.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sanitize-redis-key.js","sources":["../../src/redis/sanitize-redis-key.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;AAoBG;AACU,MAAA,yBAAyB,GAAG,CAAC,GAAW,KAAY;AAC7D,IAAA,IAAI,CAAC,GAAG;AAAE,QAAA,OAAO,GAAG,CAAC;AACrB,IAAA,QACI,GAAG;AACE,SAAA,OAAO,CAAC,cAAc,EAAE,GAAG,CAAC;AAC5B,SAAA,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;AACnB,SAAA,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;;AAEtB,SAAA,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;SAC/B,IAAI,EAAE,EACb;AACN,EAAE;AAEF;;;;;;AAMG;AACU,MAAA,kBAAkB,GAAG,CAAC,QAAgB,KAAa;AAC5D,IAAA,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,SAAS;AAAE,QAAA,OAAO,KAAK,CAAC;AACtD,IAAA,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC7C,EAAE;AAuCW,MAAA,aAAa,GAAG,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,EAAE,EAAE,MAAM,EAAwB,KAAY;;AAEhH,IAAA,IAAI,iBAAiB,GAAG,QAAQ,IAAI,SAAS,CAAC;IAC9C,IAAI,iBAAiB,KAAK,SAAS,IAAI,kBAAkB,CAAC,iBAAiB,CAAC,EAAE;QAC1E,IAAI,MAAM,EAAE;AACR,YAAA,MAAM,CAAC,IAAI,CACP,gEAAgE,EAChE,iBAAiB,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CACrC,CAAC;SACL;QACD,iBAAiB,GAAG,SAAS,CAAC;KACjC;;AAGD,IAAA,MAAM,KAAK,GAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,yBAAyB,CAAC,iBAAiB,CAAC,CAAC,CAAC;;IAG3G,IAAI,MAAM,EAAE;QACR,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;KACjD;;IAGD,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;KACxE;AAED,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B,EAAE;AAEF;;;;;;;;;;;;;;;;AAgBG;AACU,MAAA,oBAAoB,GAAG,CAAC,EACjC,OAAO,EACP,QAAQ,EACR,MAAM,EACN,QAAQ,GAAG,EAAE,GACsB,KAAY;IAC/C,MAAM,KAAK,GAAa,CAAC,yBAAyB,CAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,yBAAyB,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;;AAGnH,IAAA,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,yBAAyB,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;;IAG7D,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,GAAG,GAAG,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9F;SAAM;AACH,QAAA,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACnB;AAED,IAAA,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC3B"}