@memberjunction/server 5.8.0 → 5.10.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.
Files changed (91) hide show
  1. package/README.md +1 -0
  2. package/dist/agents/skip-agent.d.ts.map +1 -1
  3. package/dist/agents/skip-agent.js +1 -0
  4. package/dist/agents/skip-agent.js.map +1 -1
  5. package/dist/agents/skip-sdk.d.ts +6 -0
  6. package/dist/agents/skip-sdk.d.ts.map +1 -1
  7. package/dist/agents/skip-sdk.js +5 -3
  8. package/dist/agents/skip-sdk.js.map +1 -1
  9. package/dist/apolloServer/index.d.ts +10 -2
  10. package/dist/apolloServer/index.d.ts.map +1 -1
  11. package/dist/apolloServer/index.js +22 -8
  12. package/dist/apolloServer/index.js.map +1 -1
  13. package/dist/config.d.ts +125 -0
  14. package/dist/config.d.ts.map +1 -1
  15. package/dist/config.js +23 -0
  16. package/dist/config.js.map +1 -1
  17. package/dist/context.d.ts +17 -0
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +144 -62
  20. package/dist/context.js.map +1 -1
  21. package/dist/generated/generated.d.ts +210 -0
  22. package/dist/generated/generated.d.ts.map +1 -1
  23. package/dist/generated/generated.js +1049 -0
  24. package/dist/generated/generated.js.map +1 -1
  25. package/dist/generic/CacheInvalidationResolver.d.ts +32 -0
  26. package/dist/generic/CacheInvalidationResolver.d.ts.map +1 -0
  27. package/dist/generic/CacheInvalidationResolver.js +80 -0
  28. package/dist/generic/CacheInvalidationResolver.js.map +1 -0
  29. package/dist/generic/PubSubManager.d.ts +27 -0
  30. package/dist/generic/PubSubManager.d.ts.map +1 -0
  31. package/dist/generic/PubSubManager.js +41 -0
  32. package/dist/generic/PubSubManager.js.map +1 -0
  33. package/dist/generic/ResolverBase.d.ts +14 -0
  34. package/dist/generic/ResolverBase.d.ts.map +1 -1
  35. package/dist/generic/ResolverBase.js +66 -4
  36. package/dist/generic/ResolverBase.js.map +1 -1
  37. package/dist/hooks.d.ts +65 -0
  38. package/dist/hooks.d.ts.map +1 -0
  39. package/dist/hooks.js +14 -0
  40. package/dist/hooks.js.map +1 -0
  41. package/dist/index.d.ts +7 -1
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +173 -45
  44. package/dist/index.js.map +1 -1
  45. package/dist/multiTenancy/index.d.ts +47 -0
  46. package/dist/multiTenancy/index.d.ts.map +1 -0
  47. package/dist/multiTenancy/index.js +152 -0
  48. package/dist/multiTenancy/index.js.map +1 -0
  49. package/dist/resolvers/CurrentUserContextResolver.d.ts +18 -0
  50. package/dist/resolvers/CurrentUserContextResolver.d.ts.map +1 -0
  51. package/dist/resolvers/CurrentUserContextResolver.js +54 -0
  52. package/dist/resolvers/CurrentUserContextResolver.js.map +1 -0
  53. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts +123 -0
  54. package/dist/resolvers/IntegrationDiscoveryResolver.d.ts.map +1 -0
  55. package/dist/resolvers/IntegrationDiscoveryResolver.js +624 -0
  56. package/dist/resolvers/IntegrationDiscoveryResolver.js.map +1 -0
  57. package/dist/rest/RESTEndpointHandler.d.ts +3 -1
  58. package/dist/rest/RESTEndpointHandler.d.ts.map +1 -1
  59. package/dist/rest/RESTEndpointHandler.js +14 -33
  60. package/dist/rest/RESTEndpointHandler.js.map +1 -1
  61. package/dist/test-dynamic-plugin.d.ts +6 -0
  62. package/dist/test-dynamic-plugin.d.ts.map +1 -0
  63. package/dist/test-dynamic-plugin.js +18 -0
  64. package/dist/test-dynamic-plugin.js.map +1 -0
  65. package/dist/types.d.ts +9 -0
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/types.js.map +1 -1
  68. package/package.json +61 -57
  69. package/src/__tests__/bcsaas-integration.test.ts +455 -0
  70. package/src/__tests__/middleware-integration.test.ts +877 -0
  71. package/src/__tests__/mjapi-bootstrap.test.ts +29 -0
  72. package/src/__tests__/multiTenancy.security.test.ts +334 -0
  73. package/src/__tests__/multiTenancy.test.ts +225 -0
  74. package/src/__tests__/unifiedAuth.test.ts +416 -0
  75. package/src/agents/skip-agent.ts +1 -0
  76. package/src/agents/skip-sdk.ts +13 -3
  77. package/src/apolloServer/index.ts +32 -16
  78. package/src/config.ts +25 -0
  79. package/src/context.ts +205 -98
  80. package/src/generated/generated.ts +746 -1
  81. package/src/generic/CacheInvalidationResolver.ts +66 -0
  82. package/src/generic/PubSubManager.ts +46 -0
  83. package/src/generic/ResolverBase.ts +70 -4
  84. package/src/hooks.ts +77 -0
  85. package/src/index.ts +199 -49
  86. package/src/multiTenancy/index.ts +183 -0
  87. package/src/resolvers/CurrentUserContextResolver.ts +39 -0
  88. package/src/resolvers/IntegrationDiscoveryResolver.ts +584 -0
  89. package/src/rest/RESTEndpointHandler.ts +23 -42
  90. package/src/test-dynamic-plugin.ts +36 -0
  91. package/src/types.ts +10 -0
package/dist/config.js CHANGED
@@ -133,6 +133,28 @@ const queryDialectSchema = z.object({
133
133
  /** List of SQLDialect PlatformKey values to auto-convert to (e.g., ['postgresql']) */
134
134
  targetPlatforms: z.array(z.string()).optional().default([]),
135
135
  });
136
+ const multiTenancySchema = z.object({
137
+ /** Master switch — when false (default), no tenant isolation is applied */
138
+ enabled: zodBooleanWithTransforms().default(false),
139
+ /** How the tenant ID is determined for each request */
140
+ contextSource: z.enum(['header', 'linkedEntity', 'custom']).default('header'),
141
+ /** HTTP header name used when contextSource is 'header' */
142
+ tenantHeader: z.string().default('X-Tenant-ID'),
143
+ /** Whether scopedEntities is an allowlist or denylist of entities to filter */
144
+ scopingStrategy: z.enum(['allowlist', 'denylist']).default('denylist'),
145
+ /** Entities included/excluded from tenant filtering based on scopingStrategy */
146
+ scopedEntities: z.array(z.string()).default([]),
147
+ /** When true, entities in the __mj core schema are never tenant-filtered */
148
+ autoExcludeCoreEntities: zodBooleanWithTransforms().default(true),
149
+ /** Default column name containing the tenant identifier */
150
+ defaultTenantColumn: z.string().default('OrganizationID'),
151
+ /** Per-entity overrides for the tenant column name: { "EntityName": "ColumnName" } */
152
+ entityColumnMappings: z.record(z.string()).default({}),
153
+ /** Roles that bypass tenant filtering entirely */
154
+ adminRoles: z.array(z.string()).default(['Admin', 'System']),
155
+ /** Write protection mode: 'strict' rejects, 'log' warns, 'off' skips validation */
156
+ writeProtection: z.enum(['strict', 'log', 'off']).default('strict'),
157
+ });
136
158
  const telemetrySchema = z.object({
137
159
  enabled: zodBooleanWithTransforms().default(process.env.MJ_TELEMETRY_ENABLED !== 'false' // Enabled by default unless explicitly disabled
138
160
  ),
@@ -150,6 +172,7 @@ const configInfoSchema = z.object({
150
172
  scheduledJobs: scheduledJobsSchema.optional().default({}),
151
173
  telemetry: telemetrySchema.optional().default({}),
152
174
  queryDialects: queryDialectSchema.optional().default({}),
175
+ multiTenancy: multiTenancySchema.optional().default({}),
153
176
  apiKey: z.string().optional(),
154
177
  baseUrl: z.string().default('http://localhost'),
155
178
  publicUrl: z.string().optional().default(process.env.MJAPI_PUBLIC_URL || ''), // Public URL for callbacks (e.g., ngrok URL when developing)
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -3,6 +3,7 @@ import 'reflect-metadata';
3
3
  import { Subject } from 'rxjs';
4
4
  import sql from 'mssql';
5
5
  import { DataSourceInfo, UserPayload } from './types.js';
6
+ import type { RequestHandler } from 'express';
6
7
  import { DatabaseProviderBase } from '@memberjunction/core';
7
8
  /**
8
9
  * Request context for API key usage logging.
@@ -20,6 +21,22 @@ export interface RequestContext {
20
21
  userAgent?: string;
21
22
  }
22
23
  export declare const getUserPayload: (bearerToken: string, sessionId: string, dataSources: DataSourceInfo[], requestDomain?: string, systemApiKey?: string, userApiKey?: string, requestContext?: RequestContext) => Promise<UserPayload>;
24
+ /**
25
+ * Creates a single Express middleware that authenticates ALL routes.
26
+ *
27
+ * On success, attaches `req.userPayload` (UserPayload) and `req['mjUser']` (UserInfo)
28
+ * so downstream middleware and route handlers can read the authenticated user without
29
+ * re-authenticating. On failure, returns 401.
30
+ *
31
+ * Register OAuth callback routes BEFORE this middleware so they remain unauthenticated.
32
+ */
33
+ export declare function createUnifiedAuthMiddleware(dataSources: DataSourceInfo[]): RequestHandler;
34
+ /**
35
+ * Creates the GraphQL context from an already-authenticated request.
36
+ *
37
+ * The unified auth middleware has already resolved `req.userPayload` before this runs.
38
+ * This function reads the payload and creates per-request database providers.
39
+ */
23
40
  export declare const contextFunction: ({ setupComplete$, dataSource, dataSources }: {
24
41
  setupComplete$: Subject<unknown>;
25
42
  dataSource: sql.ConnectionPool;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAkB,MAAM,MAAM,CAAC;AAE/C,OAAO,GAAG,MAAM,OAAO,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAsC5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,EACnB,iBAAqB,EACrB,aAAa,cAAc,EAAE,EAC7B,gBAAgB,MAAM,EACtB,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,iBAAiB,cAAc,KAC9B,OAAO,CAAC,WAAW,CAkIrB,CAAC;AAEF,eAAO,MAAM,eAAe,GACzB,6CAA6C;IAAE,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC;IAAC,WAAW,EAAE,cAAc,EAAE,CAAA;CAAE,MAC1I,SAAS;IAAE,GAAG,EAAE,eAAe,CAAA;CAAE;;;;;;cAwGd,YAAY,GAAG,WAAW;;EAiBnD,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAGvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAkB,MAAM,MAAM,CAAC;AAE/C,OAAO,GAAG,MAAM,OAAO,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIzD,OAAO,KAAK,EAAE,cAAc,EAAmC,MAAM,SAAS,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAsC5D;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,EACnB,iBAAqB,EACrB,aAAa,cAAc,EAAE,EAC7B,gBAAgB,MAAM,EACtB,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,iBAAiB,cAAc,KAC9B,OAAO,CAAC,WAAW,CAkIrB,CAAC;AAwCF;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,cAAc,EAAE,GAC5B,cAAc,CAiDhB;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GACzB,6CAA6C;IAAE,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAAC,UAAU,EAAE,GAAG,CAAC,cAAc,CAAC;IAAC,WAAW,EAAE,cAAc,EAAE,CAAA;CAAE,MAC1I,SAAS;IAAE,GAAG,EAAE,eAAe,CAAA;CAAE;;;;;kBAwCb,oBAAoB;cAAQ,YAAY,GAAG,WAAW;;EAThF,CAAC"}
package/dist/context.js CHANGED
@@ -144,61 +144,123 @@ export const getUserPayload = async (bearerToken, sessionId = 'default', dataSou
144
144
  throw new AuthenticationError('Unable to authenticate user');
145
145
  }
146
146
  };
147
- export const contextFunction = ({ setupComplete$, dataSource, dataSources }) => async ({ req }) => {
148
- await firstValueFrom(setupComplete$); // wait for setup to complete before processing the request
149
- // Extract request data first (synchronous operations)
147
+ /**
148
+ * Extracts auth headers and builds a RequestContext from an Express request.
149
+ * Shared by both the unified auth middleware and the WebSocket context.
150
+ */
151
+ function extractAuthInputs(req) {
150
152
  const sessionIdRaw = req.headers['x-session-id'];
151
153
  const requestDomain = url.parse(req.headers.origin || '');
152
154
  const sessionId = sessionIdRaw ? sessionIdRaw.toString() : '';
153
155
  const bearerToken = req.headers.authorization ?? '';
154
- // Two types of API keys:
155
- // - x-mj-api-key: System API key for system-level operations (authenticates as system user)
156
- // - X-API-Key: User API key (mj_sk_*) for user-authenticated operations
157
156
  const systemApiKey = String(req.headers['x-mj-api-key']);
158
157
  const userApiKey = String(req.headers['x-api-key']);
159
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
160
- const reqAny = req;
161
- const operationName = reqAny.body?.operationName;
162
- if (operationName !== 'IntrospectionQuery') {
163
- console.log({ operationName, variables: reqAny.body?.variables || undefined });
164
- }
165
- // Build request context for API key logging
166
- // Note: responseTimeMs is not available at auth time, only endpoint/method/ip/ua
167
158
  const expressReq = req;
168
159
  const requestContext = {
169
160
  endpoint: expressReq.path || expressReq.url || '/api',
170
161
  method: expressReq.method || 'POST',
171
- operationName: operationName,
162
+ operationName: undefined,
172
163
  ipAddress: expressReq.ip || expressReq.socket?.remoteAddress || undefined,
173
164
  userAgent: req.headers['user-agent'],
174
165
  };
175
- const userPayload = await getUserPayload(bearerToken, sessionId, dataSources, requestDomain?.hostname ? requestDomain.hostname : undefined, systemApiKey, userApiKey, requestContext);
166
+ return {
167
+ bearerToken,
168
+ sessionId,
169
+ requestDomain: requestDomain?.hostname ?? undefined,
170
+ systemApiKey,
171
+ userApiKey,
172
+ requestContext,
173
+ };
174
+ }
175
+ /**
176
+ * Creates a single Express middleware that authenticates ALL routes.
177
+ *
178
+ * On success, attaches `req.userPayload` (UserPayload) and `req['mjUser']` (UserInfo)
179
+ * so downstream middleware and route handlers can read the authenticated user without
180
+ * re-authenticating. On failure, returns 401.
181
+ *
182
+ * Register OAuth callback routes BEFORE this middleware so they remain unauthenticated.
183
+ */
184
+ export function createUnifiedAuthMiddleware(dataSources) {
185
+ return async (req, res, next) => {
186
+ // Skip CORS preflight requests — OPTIONS requests never carry credentials
187
+ // and must pass through to the downstream cors() middleware to get proper headers.
188
+ if (req.method === 'OPTIONS') {
189
+ next();
190
+ return;
191
+ }
192
+ try {
193
+ const { bearerToken, sessionId, requestDomain, systemApiKey, userApiKey, requestContext } = extractAuthInputs(req);
194
+ const userPayload = await getUserPayload(bearerToken, sessionId, dataSources, requestDomain, systemApiKey, userApiKey, requestContext);
195
+ if (!userPayload) {
196
+ res.status(401).json({ error: 'Invalid token' });
197
+ return;
198
+ }
199
+ // Attach to request for downstream consumers
200
+ req.userPayload = userPayload;
201
+ // Standard Express convention and MJ REST convention
202
+ req['user'] = userPayload;
203
+ req['mjUser'] = userPayload.userRecord;
204
+ next();
205
+ }
206
+ catch (error) {
207
+ if (error instanceof TokenExpiredError) {
208
+ res.status(401).json({
209
+ errors: [{
210
+ message: 'Token expired',
211
+ extensions: { code: 'JWT_EXPIRED' }
212
+ }]
213
+ });
214
+ return;
215
+ }
216
+ console.error('Auth error:', error);
217
+ res.status(401).json({ error: 'Authentication failed' });
218
+ }
219
+ };
220
+ }
221
+ /**
222
+ * Creates the GraphQL context from an already-authenticated request.
223
+ *
224
+ * The unified auth middleware has already resolved `req.userPayload` before this runs.
225
+ * This function reads the payload and creates per-request database providers.
226
+ */
227
+ export const contextFunction = ({ setupComplete$, dataSource, dataSources }) => async ({ req }) => {
228
+ await firstValueFrom(setupComplete$); // wait for setup to complete before processing the request
229
+ // Log the GraphQL operation for debugging (skip introspection noise)
230
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
231
+ const reqAny = req;
232
+ const operationName = reqAny.body?.operationName;
233
+ if (operationName !== 'IntrospectionQuery') {
234
+ console.log({ operationName, variables: reqAny.body?.variables || undefined });
235
+ }
236
+ // Auth already happened in the unified auth middleware — just read the result
237
+ const expressReq = req;
238
+ const userPayload = expressReq.userPayload;
239
+ if (!userPayload) {
240
+ throw new AuthenticationError('No user payload — auth middleware may not have run');
241
+ }
176
242
  if (Metadata.Provider.Entities.length === 0) {
177
243
  console.warn('WARNING: No entities found in global/shared metadata, this can often be due to the use of **global** Metadata/RunView/DB Providers in a multi-user environment. Check your code to make sure you are using the providers passed to you in AppContext by MJServer and not calling new Metadata() new RunView() new RunQuery() and similar patterns as those are unstable at times in multi-user server environments!!!');
178
244
  }
179
245
  // Create per-request provider instance based on database type
246
+ const providers = await createPerRequestProviders(dataSource, dataSources);
247
+ return {
248
+ dataSource,
249
+ dataSources,
250
+ userPayload,
251
+ providers,
252
+ };
253
+ };
254
+ /**
255
+ * Creates per-request DatabaseProviderBase instances for the GraphQL context.
256
+ * Handles both SQL Server and PostgreSQL paths.
257
+ */
258
+ async function createPerRequestProviders(dataSource, dataSources) {
180
259
  const dbType = process.env.DB_TYPE?.toLowerCase();
181
260
  const isPostgres = dbType === 'postgresql' || dbType === 'postgres' || dbType === 'pg';
182
261
  let p;
183
262
  if (isPostgres) {
184
- const { PostgreSQLDataProvider, PostgreSQLProviderConfigData } = await import('@memberjunction/postgresql-dataprovider');
185
- const pgHost = process.env.PG_HOST || process.env.DB_HOST || 'localhost';
186
- const pgPort = parseInt(process.env.PG_PORT || process.env.DB_PORT || '5432', 10);
187
- const pgUser = process.env.PG_USERNAME || process.env.DB_USERNAME || 'postgres';
188
- const pgPass = process.env.PG_PASSWORD || process.env.DB_PASSWORD || '';
189
- const pgDatabase = process.env.PG_DATABASE || process.env.DB_DATABASE || '';
190
- const pgProvider = new PostgreSQLDataProvider();
191
- const pgConfig = new PostgreSQLProviderConfigData({ Host: pgHost, Port: pgPort, Database: pgDatabase, User: pgUser, Password: pgPass }, mj_core_schema, 0, undefined, undefined, false);
192
- // Share the connection pool from the primary provider to avoid pool exhaustion.
193
- // Each per-request provider was creating its own pool, leading to "too many clients" errors.
194
- const primaryProvider = Metadata.Provider;
195
- if (primaryProvider?.DatabaseConnection) {
196
- await pgProvider.ConfigWithSharedPool(pgConfig, primaryProvider.DatabaseConnection);
197
- }
198
- else {
199
- await pgProvider.Config(pgConfig);
200
- }
201
- p = pgProvider;
263
+ p = await createPostgresProvider();
202
264
  }
203
265
  else {
204
266
  const config = new SQLServerProviderConfigData(dataSource, mj_core_schema, 0, undefined, undefined, false);
@@ -206,37 +268,57 @@ export const contextFunction = ({ setupComplete$, dataSource, dataSources }) =>
206
268
  await sqlProvider.Config(config);
207
269
  p = sqlProvider;
208
270
  }
209
- let rp = null;
271
+ const providers = [
272
+ { provider: p, type: 'Read-Write' }
273
+ ];
210
274
  if (!isPostgres) {
211
- try {
212
- const readOnlyDataSource = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: false });
213
- if (readOnlyDataSource) {
214
- const roProvider = new SQLServerDataProvider();
215
- const rConfig = new SQLServerProviderConfigData(readOnlyDataSource, mj_core_schema, 0, undefined, undefined, false);
216
- await roProvider.Config(rConfig);
217
- rp = roProvider;
218
- }
275
+ const rp = await tryCreateReadOnlyProvider(dataSources);
276
+ if (rp) {
277
+ providers.push({ provider: rp, type: 'Read-Only' });
219
278
  }
220
- catch (_err) {
221
- // no read only data source available, so rp will remain null, this is OK!
279
+ }
280
+ return providers;
281
+ }
282
+ /**
283
+ * Creates a PostgreSQL per-request provider, sharing the connection pool
284
+ * from the primary provider to avoid pool exhaustion.
285
+ */
286
+ async function createPostgresProvider() {
287
+ const { PostgreSQLDataProvider, PostgreSQLProviderConfigData } = await import('@memberjunction/postgresql-dataprovider');
288
+ const pgHost = process.env.PG_HOST || process.env.DB_HOST || 'localhost';
289
+ const pgPort = parseInt(process.env.PG_PORT || process.env.DB_PORT || '5432', 10);
290
+ const pgUser = process.env.PG_USERNAME || process.env.DB_USERNAME || 'postgres';
291
+ const pgPass = process.env.PG_PASSWORD || process.env.DB_PASSWORD || '';
292
+ const pgDatabase = process.env.PG_DATABASE || process.env.DB_DATABASE || '';
293
+ const pgProvider = new PostgreSQLDataProvider();
294
+ const pgConfig = new PostgreSQLProviderConfigData({ Host: pgHost, Port: pgPort, Database: pgDatabase, User: pgUser, Password: pgPass }, mj_core_schema, 0, undefined, undefined, false);
295
+ // Share the connection pool from the primary provider to avoid pool exhaustion
296
+ const primaryProvider = Metadata.Provider;
297
+ if (primaryProvider?.DatabaseConnection) {
298
+ await pgProvider.ConfigWithSharedPool(pgConfig, primaryProvider.DatabaseConnection);
299
+ }
300
+ else {
301
+ await pgProvider.Config(pgConfig);
302
+ }
303
+ return pgProvider;
304
+ }
305
+ /**
306
+ * Attempts to create a read-only SQL Server provider.
307
+ * Returns null if no read-only data source is available.
308
+ */
309
+ async function tryCreateReadOnlyProvider(dataSources) {
310
+ try {
311
+ const readOnlyDataSource = GetReadOnlyDataSource(dataSources, { allowFallbackToReadWrite: false });
312
+ if (readOnlyDataSource) {
313
+ const roProvider = new SQLServerDataProvider();
314
+ const rConfig = new SQLServerProviderConfigData(readOnlyDataSource, mj_core_schema, 0, undefined, undefined, false);
315
+ await roProvider.Config(rConfig);
316
+ return roProvider;
222
317
  }
223
318
  }
224
- const providers = [{
225
- provider: p,
226
- type: 'Read-Write'
227
- }];
228
- if (rp) {
229
- providers.push({
230
- provider: rp,
231
- type: 'Read-Only'
232
- });
319
+ catch (_err) {
320
+ // no read only data source available, this is OK
233
321
  }
234
- const contextResult = {
235
- dataSource,
236
- dataSources,
237
- userPayload: userPayload,
238
- providers,
239
- };
240
- return contextResult;
241
- };
322
+ return null;
323
+ }
242
324
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}