@memberjunction/codegen-lib 5.42.0 → 5.43.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 (38) hide show
  1. package/README.md +1 -1
  2. package/dist/Config/config.d.ts +132 -7
  3. package/dist/Config/config.d.ts.map +1 -1
  4. package/dist/Config/config.js +186 -11
  5. package/dist/Config/config.js.map +1 -1
  6. package/dist/Config/db-connection.d.ts +13 -0
  7. package/dist/Config/db-connection.d.ts.map +1 -1
  8. package/dist/Config/db-connection.js +19 -6
  9. package/dist/Config/db-connection.js.map +1 -1
  10. package/dist/Config/pg-connection.d.ts +58 -0
  11. package/dist/Config/pg-connection.d.ts.map +1 -0
  12. package/dist/Config/pg-connection.js +100 -0
  13. package/dist/Config/pg-connection.js.map +1 -0
  14. package/dist/Database/codeGenDatabaseProvider.d.ts +65 -1
  15. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  16. package/dist/Database/codeGenDatabaseProvider.js +27 -0
  17. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  18. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +23 -1
  19. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  20. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +58 -4
  21. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  22. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +13 -1
  23. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  24. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +39 -3
  25. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  26. package/dist/Misc/remote_operations_codegen.d.ts +54 -0
  27. package/dist/Misc/remote_operations_codegen.d.ts.map +1 -0
  28. package/dist/Misc/remote_operations_codegen.js +186 -0
  29. package/dist/Misc/remote_operations_codegen.js.map +1 -0
  30. package/dist/index.d.ts +1 -0
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/runCodeGen.d.ts +16 -26
  35. package/dist/runCodeGen.d.ts.map +1 -1
  36. package/dist/runCodeGen.js +49 -87
  37. package/dist/runCodeGen.js.map +1 -1
  38. package/package.json +20 -20
@@ -26,9 +26,21 @@ import { configInfo } from './config.js';
26
26
  * {@link MSSQLConnection} on each cold-start so it reflects the values that
27
27
  * are present *after* `initializeConfig()` has run, not the empty defaults
28
28
  * that may have been visible at module load time.
29
+ *
30
+ * Exported for unit-test access to the `codegenPool.statementTimeoutMs` →
31
+ * `dbRequestTimeout` → 120000 precedence chain. Production code uses
32
+ * {@link MSSQLConnection} (which caches the resolved config + pool); this
33
+ * export gives tests a pure-function entry point without forcing them to
34
+ * mock `mssql.connect`.
29
35
  */
30
- function buildSqlConfig() {
31
- const { dbDatabase, dbHost, codeGenPassword, dbPort, codeGenLogin, dbInstanceName, dbTrustServerCertificate, dbRequestTimeout, } = configInfo;
36
+ export function buildSqlConfig() {
37
+ const { dbDatabase, dbHost, codeGenPassword, dbPort, codeGenLogin, dbInstanceName, dbTrustServerCertificate, dbRequestTimeout, codegenPool, } = configInfo;
38
+ // Resolve the request timeout from the cross-platform knob first, then fall
39
+ // back to the legacy SQL-Server-only `dbRequestTimeout`, then to mssql's
40
+ // 120000ms default. Keeps existing configs working while the unified
41
+ // `codegenPool.statementTimeoutMs` becomes the canonical knob for both
42
+ // providers.
43
+ const requestTimeout = codegenPool?.statementTimeoutMs ?? dbRequestTimeout ?? 120000;
32
44
  return {
33
45
  user: codeGenLogin,
34
46
  password: codeGenPassword,
@@ -37,12 +49,13 @@ function buildSqlConfig() {
37
49
  port: dbPort,
38
50
  options: {
39
51
  /**
40
- * Request timeout for long-running CodeGen queries. Defaults to 120000ms
41
- * (2 min); override via `dbRequestTimeout` in mj.config.cjs or the
42
- * MJ_CODEGEN_REQUEST_TIMEOUT environment variable when steps like
52
+ * Request timeout for long-running CodeGen queries. Resolved from
53
+ * `codegenPool.statementTimeoutMs` (cross-platform, preferred) → the legacy
54
+ * `dbRequestTimeout` (SQL Server only) / `MJ_CODEGEN_REQUEST_TIMEOUT` env
55
+ * var → mssql's 120000ms (2 min) default. Bump when steps like
43
56
  * spUpdateExistingEntityFieldsFromSchema run beyond the default.
44
57
  */
45
- requestTimeout: dbRequestTimeout ?? 120000,
58
+ requestTimeout,
46
59
  encrypt: true,
47
60
  instanceName: dbInstanceName && dbInstanceName.trim().length > 0 ? dbInstanceName : undefined,
48
61
  trustServerCertificate: dbTrustServerCertificate === 'Y',
@@ -1 +1 @@
1
- {"version":3,"file":"db-connection.js","sourceRoot":"","sources":["../../src/Config/db-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;;GAKG;AACH,SAAS,cAAc;IACrB,MAAM,EACJ,UAAU,EACV,MAAM,EACN,eAAe,EACf,MAAM,EACN,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,gBAAgB,GACjB,GAAG,UAAU,CAAC;IAEf,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;;;;;eAKG;YACH,cAAc,EAAE,gBAAgB,IAAI,MAAM;YAC1C,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC7F,sBAAsB,EAAE,wBAAwB,KAAK,GAAG;SACzD;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,IAAI,UAAoC,CAAC;AAEzC,kFAAkF;AAClF,IAAI,KAA2B,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,UAAU,GAAG,cAAc,EAAE,CAAC;QAC9B,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"db-connection.js","sourceRoot":"","sources":["../../src/Config/db-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,EACJ,UAAU,EACV,MAAM,EACN,eAAe,EACf,MAAM,EACN,YAAY,EACZ,cAAc,EACd,wBAAwB,EACxB,gBAAgB,EAChB,WAAW,GACZ,GAAG,UAAU,CAAC;IAEf,4EAA4E;IAC5E,yEAAyE;IACzE,qEAAqE;IACrE,uEAAuE;IACvE,aAAa;IACb,MAAM,cAAc,GAAG,WAAW,EAAE,kBAAkB,IAAI,gBAAgB,IAAI,MAAM,CAAC;IAErF,OAAO;QACL,IAAI,EAAE,YAAY;QAClB,QAAQ,EAAE,eAAe;QACzB,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE;YACP;;;;;;eAMG;YACH,cAAc;YACd,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,cAAc,IAAI,cAAc,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS;YAC7F,sBAAsB,EAAE,wBAAwB,KAAK,GAAG;SACzD;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,IAAI,UAAoC,CAAC;AAEzC,kFAAkF;AAClF,IAAI,KAA2B,CAAC;AAEhC;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,UAAU,GAAG,cAAc,EAAE,CAAC;QAC9B,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * PostgreSQL-specific connection configuration and management for
3
+ * MemberJunction CodeGen. Provides the lazy `pg.Pool` used by the
4
+ * PostgreSQL codegen path (see `PostgreSQLCodeGenProvider.SetupDataSource()`).
5
+ *
6
+ * **Scope** — this file is intentionally PostgreSQL-only; it imports
7
+ * `@memberjunction/postgresql-dataprovider`'s {@link PGConnectionManager}
8
+ * for the actual pool lifecycle. The SQL Server codegen path lives in
9
+ * `db-connection.ts` and is independent.
10
+ *
11
+ * **Lazy resolution** — the pg config is built lazily on the first call
12
+ * to {@link PGConnection} instead of at module load. This matches the
13
+ * shape of `db-connection.ts`'s {@link MSSQLConnection} and allows
14
+ * `initializeConfig()` to populate {@link configInfo} before the pool
15
+ * is created. Building the config at module load would capture empty
16
+ * defaults whenever a caller does `await import('@memberjunction/codegen-lib')`
17
+ * before `initializeConfig()` runs.
18
+ *
19
+ * **Module-level cache** — the resolved pool + config are cached at the
20
+ * module level so repeated CodeGen operations reuse the same pool. This
21
+ * matches SQL Server's `_pool` caching and replaces the previous
22
+ * function-local pool in `runCodeGen.setupPostgreSQLDataSource()` that
23
+ * created a fresh pool on every `setupDataSource()` call.
24
+ */
25
+ import pg from 'pg';
26
+ import { type PGConnectionConfig } from '@memberjunction/postgresql-dataprovider';
27
+ /**
28
+ * Get-or-create the PostgreSQL connection pool for CodeGen operations.
29
+ * Builds the config at first call so `initializeConfig()` has had a chance
30
+ * to populate `configInfo`. The optional `statement_timeout` GUC (via
31
+ * {@link configInfo.codegenPool.statementTimeoutMs}) is carried in the libpq
32
+ * startup options assembled by {@link buildPgConfig} — see its docstring for
33
+ * why the startup-option path is preferred over a runtime `connect` listener.
34
+ *
35
+ * @returns Promise resolving to the pg.Pool from the underlying manager.
36
+ * @throws Error if connection fails.
37
+ */
38
+ export declare function PGConnection(): Promise<pg.Pool>;
39
+ /**
40
+ * Returns the resolved {@link PGConnectionConfig} used by the active pool,
41
+ * or `undefined` if {@link PGConnection} has not been called yet. Use this
42
+ * when you need to read connection details (host, port, database) for
43
+ * logging or diagnostics — the same pattern as `getSqlConfig()` for SQL
44
+ * Server.
45
+ *
46
+ * Always call {@link PGConnection} before relying on this accessor in the
47
+ * same code path — the config is populated as a side effect of opening the
48
+ * pool. (`await PGConnection()` followed by `getPgConfig()` is guaranteed
49
+ * to return the live config.)
50
+ */
51
+ export declare function getPgConfig(): PGConnectionConfig | undefined;
52
+ /**
53
+ * Closes the underlying connection manager + pool. Safe to call multiple
54
+ * times. Used by tests and by long-running processes that need explicit
55
+ * cleanup; production CodeGen runs let the process exit handle teardown.
56
+ */
57
+ export declare function ClosePGConnection(): Promise<void>;
58
+ //# sourceMappingURL=pg-connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-connection.d.ts","sourceRoot":"","sources":["../../src/Config/pg-connection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AA4DvG;;;;;;;;;;GAUG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAOrD;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,IAAI,kBAAkB,GAAG,SAAS,CAE5D;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMvD"}
@@ -0,0 +1,100 @@
1
+ import { PGConnectionManager } from '@memberjunction/postgresql-dataprovider';
2
+ import { configInfo } from './config.js';
3
+ /**
4
+ * Build the {@link PGConnectionConfig} from the current `configInfo`. Called
5
+ * lazily from {@link PGConnection} so values are read AFTER `initializeConfig()`
6
+ * has run. {@link configInfo.codegenPool} supplies optional pool-size, timeout,
7
+ * and SSL knobs; when omitted, the pre-multi-provider-refactor inline `pg.Pool`
8
+ * behavior is preserved — no SSL by default (matches the historical local-codegen
9
+ * default), no startup options, and `PGConnectionManager`'s own pool-size defaults
10
+ * (20 max, 2 min).
11
+ *
12
+ * `statementTimeoutMs` is carried via the libpq `-c statement_timeout=<ms>`
13
+ * startup option rather than a runtime `SET` on the pool's `connect` event.
14
+ * The startup option is honored by every backend including the verify-SELECT-1
15
+ * connection that `PGConnectionManager.Initialize()` opens — a runtime listener
16
+ * would attach AFTER that connection had already been created and released back
17
+ * into the pool, leaving the first pool client without the GUC.
18
+ */
19
+ function buildPgConfig() {
20
+ const pool = configInfo.codegenPool;
21
+ // SSL: default to false (preserves the pre-refactor inline `pg.Pool` behavior
22
+ // where no `ssl` key was set → pg default OFF). Without this explicit `false`,
23
+ // `PGConnectionManager.Initialize()` would default SSL ON in `NODE_ENV=production`,
24
+ // breaking codegen against non-SSL/locally-bridged Postgres in production shells.
25
+ const ssl = pool?.ssl ?? false;
26
+ // statement_timeout via libpq startup option — applied server-side from
27
+ // connection #1, including the verify-SELECT-1 connection.
28
+ const stmtTimeoutMs = pool?.statementTimeoutMs;
29
+ const options = stmtTimeoutMs && stmtTimeoutMs > 0 ? `-c statement_timeout=${stmtTimeoutMs}` : undefined;
30
+ return {
31
+ Host: configInfo.dbHost,
32
+ Port: configInfo.dbPort,
33
+ Database: configInfo.dbDatabase,
34
+ User: configInfo.codeGenLogin,
35
+ Password: configInfo.codeGenPassword,
36
+ MJCoreSchemaName: configInfo.mjCoreSchema,
37
+ MaxConnections: pool?.max,
38
+ MinConnections: pool?.min,
39
+ IdleTimeoutMillis: pool?.idleTimeoutMillis,
40
+ ConnectionTimeoutMillis: pool?.connectionTimeoutMillis,
41
+ SSL: ssl,
42
+ Options: options,
43
+ };
44
+ }
45
+ /**
46
+ * Module-internal cache for the resolved {@link PGConnectionConfig}. Populated
47
+ * on first call to {@link PGConnection}. Read via the {@link getPgConfig}
48
+ * accessor — never exported directly so callers cannot observe (or depend on)
49
+ * a mutable storage cell.
50
+ */
51
+ let _pgConfig;
52
+ /** Cached connection manager instance shared across CodeGen operations. */
53
+ let _manager;
54
+ /**
55
+ * Get-or-create the PostgreSQL connection pool for CodeGen operations.
56
+ * Builds the config at first call so `initializeConfig()` has had a chance
57
+ * to populate `configInfo`. The optional `statement_timeout` GUC (via
58
+ * {@link configInfo.codegenPool.statementTimeoutMs}) is carried in the libpq
59
+ * startup options assembled by {@link buildPgConfig} — see its docstring for
60
+ * why the startup-option path is preferred over a runtime `connect` listener.
61
+ *
62
+ * @returns Promise resolving to the pg.Pool from the underlying manager.
63
+ * @throws Error if connection fails.
64
+ */
65
+ export async function PGConnection() {
66
+ if (!_manager) {
67
+ _pgConfig = buildPgConfig();
68
+ _manager = new PGConnectionManager();
69
+ await _manager.Initialize(_pgConfig);
70
+ }
71
+ return _manager.Pool;
72
+ }
73
+ /**
74
+ * Returns the resolved {@link PGConnectionConfig} used by the active pool,
75
+ * or `undefined` if {@link PGConnection} has not been called yet. Use this
76
+ * when you need to read connection details (host, port, database) for
77
+ * logging or diagnostics — the same pattern as `getSqlConfig()` for SQL
78
+ * Server.
79
+ *
80
+ * Always call {@link PGConnection} before relying on this accessor in the
81
+ * same code path — the config is populated as a side effect of opening the
82
+ * pool. (`await PGConnection()` followed by `getPgConfig()` is guaranteed
83
+ * to return the live config.)
84
+ */
85
+ export function getPgConfig() {
86
+ return _pgConfig;
87
+ }
88
+ /**
89
+ * Closes the underlying connection manager + pool. Safe to call multiple
90
+ * times. Used by tests and by long-running processes that need explicit
91
+ * cleanup; production CodeGen runs let the process exit handle teardown.
92
+ */
93
+ export async function ClosePGConnection() {
94
+ if (_manager) {
95
+ await _manager.Close();
96
+ _manager = undefined;
97
+ _pgConfig = undefined;
98
+ }
99
+ }
100
+ //# sourceMappingURL=pg-connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-connection.js","sourceRoot":"","sources":["../../src/Config/pg-connection.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,mBAAmB,EAA2B,MAAM,yCAAyC,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC;;;;;;;;;;;;;;;GAeG;AACH,SAAS,aAAa;IACpB,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,CAAC;IAEpC,8EAA8E;IAC9E,+EAA+E;IAC/E,oFAAoF;IACpF,kFAAkF;IAClF,MAAM,GAAG,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC;IAE/B,wEAAwE;IACxE,2DAA2D;IAC3D,MAAM,aAAa,GAAG,IAAI,EAAE,kBAAkB,CAAC;IAC/C,MAAM,OAAO,GAAG,aAAa,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,wBAAwB,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEzG,OAAO;QACL,IAAI,EAAE,UAAU,CAAC,MAAM;QACvB,IAAI,EAAE,UAAU,CAAC,MAAM;QACvB,QAAQ,EAAE,UAAU,CAAC,UAAU;QAC/B,IAAI,EAAE,UAAU,CAAC,YAAY;QAC7B,QAAQ,EAAE,UAAU,CAAC,eAAe;QACpC,gBAAgB,EAAE,UAAU,CAAC,YAAY;QACzC,cAAc,EAAE,IAAI,EAAE,GAAG;QACzB,cAAc,EAAE,IAAI,EAAE,GAAG;QACzB,iBAAiB,EAAE,IAAI,EAAE,iBAAiB;QAC1C,uBAAuB,EAAE,IAAI,EAAE,uBAAuB;QACtD,GAAG,EAAE,GAAG;QACR,OAAO,EAAE,OAAO;KACjB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,IAAI,SAAyC,CAAC;AAE9C,2EAA2E;AAC3E,IAAI,QAAyC,CAAC;AAE9C;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,SAAS,GAAG,aAAa,EAAE,CAAC;QAC5B,QAAQ,GAAG,IAAI,mBAAmB,EAAE,CAAC;QACrC,MAAM,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC;AACvB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW;IACzB,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;QACvB,QAAQ,GAAG,SAAS,CAAC;QACrB,SAAS,GAAG,SAAS,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import { EntityInfo, EntityFieldInfo } from '@memberjunction/core';
1
+ import { EntityInfo, EntityFieldInfo, IMetadataProvider, UserInfo } from '@memberjunction/core';
2
2
  import { DatabasePlatform, SQLDialect } from '@memberjunction/sql-dialect';
3
3
  /**
4
4
  * Represents a single row from a query result.
@@ -128,6 +128,23 @@ export interface CodeGenConnection {
128
128
  */
129
129
  beginTransaction(): Promise<CodeGenTransaction>;
130
130
  }
131
+ /**
132
+ * Bundle returned by {@link CodeGenDatabaseProvider.SetupDataSource} that
133
+ * gives the orchestrator everything it needs to begin a CodeGen run:
134
+ * the per-platform metadata provider, a dialect-aware connection, the
135
+ * "owner" user used as the audit principal for generated rows, and a
136
+ * human-readable connection-info string for log output.
137
+ */
138
+ export interface DataSourceResult {
139
+ /** The configured per-platform metadata provider (SQL Server or PostgreSQL). */
140
+ provider: IMetadataProvider;
141
+ /** Database-agnostic connection used by all platform-neutral CodeGen code. */
142
+ connection: CodeGenConnection;
143
+ /** The "owner" user (or the first available user) used for audit fields. */
144
+ currentUser: UserInfo;
145
+ /** Display-only connection summary (e.g. `host:port/database`). */
146
+ connectionInfo: string;
147
+ }
131
148
  /**
132
149
  * Union type for stored procedure / function types (Create, Update, Delete).
133
150
  */
@@ -218,6 +235,34 @@ export declare abstract class CodeGenDatabaseProvider {
218
235
  * The database platform key (e.g., 'sqlserver', 'postgresql').
219
236
  */
220
237
  abstract get PlatformKey(): DatabasePlatform;
238
+ /**
239
+ * Set up the per-platform data source for a CodeGen run: open a
240
+ * connection pool, configure the metadata provider, build the
241
+ * {@link CodeGenConnection}, and resolve the audit user.
242
+ *
243
+ * **Where this lives and why** — the orchestrator (`RunCodeGenBase`)
244
+ * used to switch on `configInfo.dbPlatform` inline and call private
245
+ * `setupSQLServerDataSource()` / `setupPostgreSQLDataSource()` methods.
246
+ * That bypassed the existing factory pattern (see e.g.
247
+ * `manage-metadata.ts`'s `get dbProvider()`, which dispatches via
248
+ * `MJGlobal.Instance.ClassFactory.CreateInstance(CodeGenDatabaseProvider, platform)`)
249
+ * and meant adding a third platform would require touching the
250
+ * orchestrator. Moving the setup here puts it behind the same
251
+ * factory: subclasses register via `@RegisterClass(CodeGenDatabaseProvider, '<platform>')`
252
+ * and the orchestrator just resolves + calls.
253
+ *
254
+ * Subclasses are responsible for:
255
+ * - opening their pool (typically via a module-cached helper such as
256
+ * `MSSQLConnection()` / `PGConnection()` so multiple `setupDataSource()`
257
+ * calls reuse the same pool)
258
+ * - configuring + setting their metadata provider via `SetProvider(...)`
259
+ * when appropriate
260
+ * - loading the audit user (currently SQL Server uses `UserCache`,
261
+ * PostgreSQL hand-queries `vwUsers`/`vwUserRoles` — see implementations
262
+ * for the deliberate asymmetry note)
263
+ * - emitting spinner status via `status_logging` helpers when desired
264
+ */
265
+ abstract SetupDataSource(): Promise<DataSourceResult>;
221
266
  /**
222
267
  * Whether this dialect can handle a base view that LEFT-JOINs itself to read
223
268
  * a virtual computed column (e.g. `vwRecordChanges` joining to itself for the
@@ -882,4 +927,23 @@ export interface PhasedExecutionResult {
882
927
  /** Underlying error when `success` is false. */
883
928
  error?: Error;
884
929
  }
930
+ /**
931
+ * Resolve the concrete {@link CodeGenDatabaseProvider} registered for a given
932
+ * platform via `MJGlobal.Instance.ClassFactory`. This is the single source of
933
+ * truth for platform dispatch — the orchestrator (`RunCodeGenBase.setupDataSource()`)
934
+ * delegates to this function rather than re-implementing the lookup. Tests
935
+ * import this function directly so they exercise the real dispatch logic
936
+ * instead of a transcribed copy.
937
+ *
938
+ * `ClassFactory.CreateInstance` returns the abstract base class itself on a
939
+ * missed registration lookup (it does not throw). We disambiguate by checking
940
+ * `constructor === CodeGenDatabaseProvider` and throw a descriptive error so
941
+ * the failure mode reads as "no provider registered" instead of a cryptic
942
+ * "is not a constructor" / "is not a function" downstream.
943
+ *
944
+ * @param platform The `dbPlatform` key — typically `'sqlserver'` or `'postgresql'`.
945
+ * @returns The resolved provider subclass instance.
946
+ * @throws Error if no provider is registered for the given platform.
947
+ */
948
+ export declare function resolveCodeGenDatabaseProvider(platform: DatabasePlatform): CodeGenDatabaseProvider;
885
949
  //# sourceMappingURL=codeGenDatabaseProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeGenDatabaseProvider.d.ts","sourceRoot":"","sources":["../../src/Database/codeGenDatabaseProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeGenDatabaseProvider.d.ts","sourceRoot":"","sources":["../../src/Database/codeGenDatabaseProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAwB,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEtH,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAI3E;;;;;;;;GAQG;AAEH,MAAM,MAAM,eAAe,GAAG,GAAG,CAAC;AAElC;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAC/B,uEAAuE;IACvE,SAAS,EAAE,eAAe,EAAE,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAC/B;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEhD;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAExB;;OAEG;IACH,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,WAAW,iBAAiB;IAC9B;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAE7B;;;;OAIG;IACH,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEhD;;;;;;;;;;;;OAYG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAE3F;;;;;OAKG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEnG;;;OAGG;IACH,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnD;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC7B,gFAAgF;IAChF,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,8EAA8E;IAC9E,UAAU,EAAE,iBAAiB,CAAC;IAC9B,4EAA4E;IAC5E,WAAW,EAAE,QAAQ,CAAC;IACtB,mEAAmE;IACnE,cAAc,EAAE,MAAM,CAAC;CAC1B;AAGD;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;CAIX,CAAC;AACX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAEhE;;;;;;;;GAQG;AACH,MAAM,WAAW,qBAAqB;IAClC,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC;;4CAEwC;IACxC,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,2DAA2D;IAC3D,GAAG,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACtC,sCAAsC;IACtC,MAAM,EAAE,UAAU,CAAC;IACnB,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,wCAAwC;IACxC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uCAAuC;IACvC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sCAAsC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,gBAAgB,EAAE,MAAM,CAAC;IACzB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACjC,sCAAsC;IACtC,YAAY,EAAE,UAAU,CAAC;IACzB,wDAAwD;IACxD,aAAa,EAAE,UAAU,CAAC;IAC1B,gEAAgE;IAChE,OAAO,EAAE,eAAe,CAAC;IACzB,oGAAoG;IACpG,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,8BAAsB,uBAAuB;IACzC;;OAEG;IACH,QAAQ,KAAK,OAAO,IAAI,UAAU,CAAC;IAEnC;;OAEG;IACH,QAAQ,KAAK,WAAW,IAAI,gBAAgB,CAAC;IAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,QAAQ,CAAC,eAAe,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,kCAAkC,IAAI,OAAO;IAM7C;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3H;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,yBAAyB,GAAG,MAAM;IAIrE;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAEvD;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAEvD;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAI3E;;;;OAIG;IACH,QAAQ,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAI7D;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE;IAIhE;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,mBAAmB,EAAE,MAAM,GAAG,oBAAoB;IAIvI;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IAEnF;;;;OAIG;IACH,QAAQ,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAEnG;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAIjG;;OAEG;IACH,QAAQ,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAE5D;;OAEG;IACH,QAAQ,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM;IAEjG;;OAEG;IACH,QAAQ,CAAC,iCAAiC,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM;IAI5F;;;OAGG;IACH,QAAQ,CAAC,8BAA8B,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM;IAI9E;;OAEG;IACH,QAAQ,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAI5E;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,eAAe,GAAG,OAAO;IAI3D;;;;;;;;;;;;;;;;;;;OAmBG;IACH,SAAS,CAAC,sBAAsB,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,GAAE,OAAe,GAAG,MAAM,EAAE;IAS/G;;;;;;;OAOG;IACH;;;;;;OAMG;IACH,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAIrF;;;;;;;;;;OAUG;IACH,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO;IAW1E;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM;IAI1D;;;;;;;;;OASG;IACH,SAAS,CAAC,wBAAwB,CAAC,EAAE,EAAE,eAAe,GAAG,MAAM;IAI/D;;;;;;;;;;;;;;;;;;OAkBG;IACH,uBAAuB,CAAC,YAAY,EAAE,eAAe,EAAE,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAmBnF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAE,OAAe,GAAG,MAAM;IAoE1I;;;;;;;;;;;;;;;OAeG;IACH,yBAAyB,CAAC,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM;IA2BlE;;;;OAIG;IACH,QAAQ,CAAC,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,MAAM;IAIvE;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAE5E;;OAEG;IACH,QAAQ,CAAC,gCAAgC,IAAI,MAAM;IAInD;;;OAGG;IACH,QAAQ,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,OAAO,GAAG,MAAM;IAE/E;;;OAGG;IACH,QAAQ,CAAC,yBAAyB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG;QACrE,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,EAAE,MAAM,CAAC;KACzB;IAID;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAEvE;;;;;;OAMG;IACH,QAAQ,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAE7E;;;;;;;;;OASG;IACH,QAAQ,CAAC,oCAAoC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAE5G;;;;;;;OAOG;IACH,QAAQ,CAAC,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAElG;;;;OAIG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAID;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAI7G;;;;;;;OAOG;IACH,QAAQ,CAAC,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAE5E;;;;;;;OAOG;IACH,QAAQ,CAAC,2BAA2B,CAAC,gBAAgB,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE;IAIlG;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM;IAErJ;;;;OAIG;IACH,QAAQ,CAAC,gCAAgC,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM;IAE7I;;;;OAIG;IACH,QAAQ,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM;IAE1H;;;;OAIG;IACH,QAAQ,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAEhG;;;;;;;OAOG;IACH,QAAQ,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM;IAI3G;;;;OAIG;IACH,QAAQ,CAAC,gBAAgB,IAAI,MAAM;IAEnC;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAIpE;;;;OAIG;IACH,QAAQ,KAAK,aAAa,IAAI,MAAM,CAAC;IAErC;;;;;;;;OAQG;IACH,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO;IAItE;;;;;;OAMG;IACH,QAAQ,CAAC,yBAAyB,IAAI,MAAM,EAAE;IAE9C;;;;OAIG;IACH,QAAQ,KAAK,gBAAgB,IAAI,OAAO,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAEzE;;;;OAIG;IACH,QAAQ,CAAC,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAE3E;;;;OAIG;IACH,QAAQ,KAAK,+BAA+B,IAAI,OAAO,CAAC;IAIxD;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAIlD;;;;;;OAMG;IACH,QAAQ,CAAC,uBAAuB,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAIxE;;;;;;;;;OASG;IACH,QAAQ,CAAC,yBAAyB,CAAC,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM;IAEtF;;;;OAIG;IACH,QAAQ,CAAC,+BAA+B,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM;IAE1E;;;;OAIG;IACH,QAAQ,CAAC,sCAAsC,IAAI,MAAM;IAEzD;;;;;;OAMG;IACH,QAAQ,CAAC,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAEvE;;;;;;;;;;;;;;OAcG;IACH,4BAA4B,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAMlE;;;;;;;OAOG;IACH,QAAQ,CAAC,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAEnE;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,kBAAkB,CAAC,CACf,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC7B,OAAO,CAAC,IAAI,CAAC;IAEhB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,mBAAmB,CAAC,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,UAAU,CAAC;QACnB;6CACqC;QACrC,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;KAChC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIlC;;;;;;;;;;;;;;;;;;OAkBG;IACH,0BAA0B,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM;IAItD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACG,6BAA6B,CAC/B,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,UAAU,EAAE,GACvB,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAqDtC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IAClC,sDAAsD;IACtD,OAAO,EAAE,OAAO,CAAC;IACjB,uDAAuD;IACvD,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,GAAG,IAAI,CAAC;IAC3D,gDAAgD;IAChD,KAAK,CAAC,EAAE,KAAK,CAAC;CACjB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,gBAAgB,GAAG,uBAAuB,CAYlG"}
@@ -1,3 +1,4 @@
1
+ import { MJGlobal } from '@memberjunction/global';
1
2
  /**
2
3
  * Union type for stored procedure / function types (Create, Update, Delete).
3
4
  */
@@ -463,4 +464,30 @@ export class CodeGenDatabaseProvider {
463
464
  return expected.filter(e => !existing.has(`${e.schema.toLowerCase()}.${e.expectedRoutine.toLowerCase()}`));
464
465
  }
465
466
  }
467
+ /**
468
+ * Resolve the concrete {@link CodeGenDatabaseProvider} registered for a given
469
+ * platform via `MJGlobal.Instance.ClassFactory`. This is the single source of
470
+ * truth for platform dispatch — the orchestrator (`RunCodeGenBase.setupDataSource()`)
471
+ * delegates to this function rather than re-implementing the lookup. Tests
472
+ * import this function directly so they exercise the real dispatch logic
473
+ * instead of a transcribed copy.
474
+ *
475
+ * `ClassFactory.CreateInstance` returns the abstract base class itself on a
476
+ * missed registration lookup (it does not throw). We disambiguate by checking
477
+ * `constructor === CodeGenDatabaseProvider` and throw a descriptive error so
478
+ * the failure mode reads as "no provider registered" instead of a cryptic
479
+ * "is not a constructor" / "is not a function" downstream.
480
+ *
481
+ * @param platform The `dbPlatform` key — typically `'sqlserver'` or `'postgresql'`.
482
+ * @returns The resolved provider subclass instance.
483
+ * @throws Error if no provider is registered for the given platform.
484
+ */
485
+ export function resolveCodeGenDatabaseProvider(platform) {
486
+ const provider = MJGlobal.Instance.ClassFactory.CreateInstance(CodeGenDatabaseProvider, platform);
487
+ if (!provider || provider.constructor === CodeGenDatabaseProvider) {
488
+ throw new Error(`CodeGen database provider for dbPlatform='${platform}' not found. Ensure the corresponding ` +
489
+ `provider class is registered via @RegisterClass(CodeGenDatabaseProvider, '${platform}').`);
490
+ }
491
+ return provider;
492
+ }
466
493
  //# sourceMappingURL=codeGenDatabaseProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codeGenDatabaseProvider.js","sourceRoot":"","sources":["../../src/Database/codeGenDatabaseProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeGenDatabaseProvider.js","sourceRoot":"","sources":["../../src/Database/codeGenDatabaseProvider.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { EntityInfo, EntityFieldInfo } from '@memberjunction/core';
2
- import { CodeGenDatabaseProvider, CRUDType, BaseViewGenerationContext, CascadeDeleteContext, FullTextSearchResult, PhasedExecutionResult } from '../../codeGenDatabaseProvider.js';
2
+ import { CodeGenDatabaseProvider, CRUDType, BaseViewGenerationContext, CascadeDeleteContext, FullTextSearchResult, PhasedExecutionResult, DataSourceResult } from '../../codeGenDatabaseProvider.js';
3
3
  import { DatabasePlatform, SQLDialect } from '@memberjunction/sql-dialect';
4
4
  /**
5
5
  * PostgreSQL implementation of the CodeGen database provider.
@@ -15,6 +15,28 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
15
15
  get Dialect(): SQLDialect;
16
16
  /** @inheritdoc */
17
17
  get PlatformKey(): DatabasePlatform;
18
+ /**
19
+ * PostgreSQL implementation of {@link CodeGenDatabaseProvider.SetupDataSource}.
20
+ *
21
+ * Acquires the module-cached `pg.Pool` via {@link PGConnection} (so repeated
22
+ * CodeGen operations reuse the same pool — matching SQL Server's behavior),
23
+ * wires up `PostgreSQLDataProvider`, registers it as the active provider,
24
+ * and loads the audit user.
25
+ *
26
+ * **User-loading asymmetry** — SQL Server uses `UserCache.Instance.Refresh(pool)`
27
+ * which is hard-typed to `mssql.ConnectionPool` in `@memberjunction/sqlserver-dataprovider`.
28
+ * Refactoring it to be cross-platform would touch that package's public
29
+ * API; until then PG hand-queries `vwUsers`/`vwUserRoles` here. Same
30
+ * audit-user semantics (find Owner, else first user), just a different
31
+ * load path. Tracked for follow-up: unify behind a platform-agnostic
32
+ * cache that takes a `CodeGenConnection`.
33
+ *
34
+ * **Env var resolution** — PG_HOST / PG_PORT / PG_DATABASE / PG_USERNAME /
35
+ * PG_PASSWORD now flow through `configInfo.{dbHost,dbPort,dbDatabase,codeGenLogin,codeGenPassword}`
36
+ * via `DEFAULT_CODEGEN_CONFIG` (see `Config/config.ts`). The provider just
37
+ * reads `configInfo`.
38
+ */
39
+ SetupDataSource(): Promise<DataSourceResult>;
18
40
  /**
19
41
  * @inheritdoc
20
42
  *
@@ -1 +1 @@
1
- {"version":3,"file":"PostgreSQLCodeGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/PostgreSQLCodeGenProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgreSQLCodeGenProvider.d.ts","sourceRoot":"","sources":["../../../../src/Database/providers/postgresql/PostgreSQLCodeGenProvider.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var PostgreSQLCodeGenProvider_1;
8
- import { EntityInfo } from '@memberjunction/core';
8
+ import { EntityInfo, SetProvider, UserInfo } from '@memberjunction/core';
9
9
  import { RegisterClass, UUIDsEqual } from '@memberjunction/global';
10
10
  import { CodeGenDatabaseProvider, CRUDType, } from '../../codeGenDatabaseProvider.js';
11
- import { configInfo } from '../../../Config/config.js';
12
- import { logError } from '../../../Misc/status_logging.js';
11
+ import { configInfo, mj_core_schema } from '../../../Config/config.js';
12
+ import { logError, startSpinner, succeedSpinner } from '../../../Misc/status_logging.js';
13
13
  import { buildMetadataSupportObjectsSQL } from './metadataSupportObjects.js';
14
14
  import { PostgreSQLDialect } from '@memberjunction/sql-dialect';
15
15
  import { shouldIncludeFieldInParams, useJsonArgShape, } from '@memberjunction/generic-database-provider';
16
- import { POSTGRESQL_PROCEDURE_PARAM_LIMIT } from '@memberjunction/postgresql-dataprovider';
16
+ import { POSTGRESQL_PROCEDURE_PARAM_LIMIT, PostgreSQLDataProvider, PostgreSQLProviderConfigData, } from '@memberjunction/postgresql-dataprovider';
17
+ import { PGConnection, getPgConfig } from '../../../Config/pg-connection.js';
18
+ import { PostgreSQLCodeGenConnection } from './PostgreSQLCodeGenConnection.js';
17
19
  import * as fs from 'fs';
18
20
  import path from 'path';
19
21
  import { executeWithFallback } from './viewFallback.js';
@@ -37,6 +39,58 @@ let PostgreSQLCodeGenProvider = class PostgreSQLCodeGenProvider extends CodeGenD
37
39
  get PlatformKey() {
38
40
  return 'postgresql';
39
41
  }
42
+ /**
43
+ * PostgreSQL implementation of {@link CodeGenDatabaseProvider.SetupDataSource}.
44
+ *
45
+ * Acquires the module-cached `pg.Pool` via {@link PGConnection} (so repeated
46
+ * CodeGen operations reuse the same pool — matching SQL Server's behavior),
47
+ * wires up `PostgreSQLDataProvider`, registers it as the active provider,
48
+ * and loads the audit user.
49
+ *
50
+ * **User-loading asymmetry** — SQL Server uses `UserCache.Instance.Refresh(pool)`
51
+ * which is hard-typed to `mssql.ConnectionPool` in `@memberjunction/sqlserver-dataprovider`.
52
+ * Refactoring it to be cross-platform would touch that package's public
53
+ * API; until then PG hand-queries `vwUsers`/`vwUserRoles` here. Same
54
+ * audit-user semantics (find Owner, else first user), just a different
55
+ * load path. Tracked for follow-up: unify behind a platform-agnostic
56
+ * cache that takes a `CodeGenConnection`.
57
+ *
58
+ * **Env var resolution** — PG_HOST / PG_PORT / PG_DATABASE / PG_USERNAME /
59
+ * PG_PASSWORD now flow through `configInfo.{dbHost,dbPort,dbDatabase,codeGenLogin,codeGenPassword}`
60
+ * via `DEFAULT_CODEGEN_CONFIG` (see `Config/config.ts`). The provider just
61
+ * reads `configInfo`.
62
+ */
63
+ async SetupDataSource() {
64
+ startSpinner('Initializing database connection...');
65
+ const pool = await PGConnection();
66
+ const pgConfig = getPgConfig();
67
+ const coreSchema = mj_core_schema();
68
+ const dpConfig = new PostgreSQLProviderConfigData({
69
+ Host: pgConfig.Host,
70
+ Port: pgConfig.Port ?? 5432,
71
+ Database: pgConfig.Database,
72
+ User: pgConfig.User,
73
+ Password: pgConfig.Password,
74
+ }, coreSchema, 1);
75
+ const provider = new PostgreSQLDataProvider();
76
+ await provider.Config(dpConfig);
77
+ SetProvider(provider);
78
+ const conn = new PostgreSQLCodeGenConnection(pool);
79
+ const usersResult = await conn.query('SELECT * FROM "' + coreSchema + '"."vwUsers"');
80
+ const rolesResult = await conn.query('SELECT * FROM "' + coreSchema + '"."vwUserRoles"');
81
+ const userInfos = usersResult.recordset.map((user) => {
82
+ user.UserRoles = rolesResult.recordset.filter((role) => UUIDsEqual(role.UserID, user.ID));
83
+ return new UserInfo(provider, user);
84
+ });
85
+ const userMatch = userInfos.find((u) => u?.Type?.trim().toLowerCase() === 'owner');
86
+ const currentUser = userMatch ?? userInfos[0];
87
+ if (!currentUser) {
88
+ throw new Error('No users found in PostgreSQL. Ensure vwUsers has at least one user.');
89
+ }
90
+ const connectionInfo = `${pgConfig.Host}:${pgConfig.Port ?? 5432}/${pgConfig.Database}`;
91
+ succeedSpinner('PostgreSQL connection initialized: ' + connectionInfo);
92
+ return { provider, connection: conn, currentUser, connectionInfo };
93
+ }
40
94
  /**
41
95
  * @inheritdoc
42
96
  *