@memberjunction/codegen-lib 5.31.0 → 5.33.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 (59) hide show
  1. package/README.md +24 -0
  2. package/dist/Config/config.d.ts +19 -8
  3. package/dist/Config/config.d.ts.map +1 -1
  4. package/dist/Config/config.js +18 -8
  5. package/dist/Config/config.js.map +1 -1
  6. package/dist/Config/db-connection.d.ts.map +1 -1
  7. package/dist/Config/db-connection.js +8 -3
  8. package/dist/Config/db-connection.js.map +1 -1
  9. package/dist/Database/codeGenDatabaseProvider.d.ts +53 -0
  10. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  11. package/dist/Database/codeGenDatabaseProvider.js +66 -7
  12. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  13. package/dist/Database/manage-metadata.d.ts +81 -4
  14. package/dist/Database/manage-metadata.d.ts.map +1 -1
  15. package/dist/Database/manage-metadata.js +245 -22
  16. package/dist/Database/manage-metadata.js.map +1 -1
  17. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +131 -20
  18. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  19. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +640 -53
  20. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  21. package/dist/Database/providers/postgresql/viewFallback.d.ts +14 -0
  22. package/dist/Database/providers/postgresql/viewFallback.d.ts.map +1 -1
  23. package/dist/Database/providers/postgresql/viewFallback.js +107 -13
  24. package/dist/Database/providers/postgresql/viewFallback.js.map +1 -1
  25. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +5 -2
  26. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  27. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +26 -7
  28. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  29. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js +40 -9
  30. package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js.map +1 -1
  31. package/dist/Database/sql.d.ts +8 -0
  32. package/dist/Database/sql.d.ts.map +1 -1
  33. package/dist/Database/sql.js +18 -14
  34. package/dist/Database/sql.js.map +1 -1
  35. package/dist/Database/sql_codegen.d.ts +18 -5
  36. package/dist/Database/sql_codegen.d.ts.map +1 -1
  37. package/dist/Database/sql_codegen.js +83 -48
  38. package/dist/Database/sql_codegen.js.map +1 -1
  39. package/dist/Misc/action_subclasses_codegen.js +1 -1
  40. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  41. package/dist/Misc/createNewUser.d.ts.map +1 -1
  42. package/dist/Misc/createNewUser.js +14 -3
  43. package/dist/Misc/createNewUser.js.map +1 -1
  44. package/dist/Misc/graphql_server_codegen.d.ts +11 -0
  45. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  46. package/dist/Misc/graphql_server_codegen.js +27 -40
  47. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  48. package/dist/Misc/sql_logging.d.ts.map +1 -1
  49. package/dist/Misc/sql_logging.js +16 -2
  50. package/dist/Misc/sql_logging.js.map +1 -1
  51. package/dist/Misc/system_integrity.js +3 -3
  52. package/dist/Misc/system_integrity.js.map +1 -1
  53. package/dist/Misc/temp_batch_file.js +2 -2
  54. package/dist/Misc/temp_batch_file.js.map +1 -1
  55. package/dist/runCodeGen.d.ts +1 -1
  56. package/dist/runCodeGen.d.ts.map +1 -1
  57. package/dist/runCodeGen.js +51 -6
  58. package/dist/runCodeGen.js.map +1 -1
  59. package/package.json +19 -18
@@ -5,6 +5,10 @@ import { DatabasePlatform, SQLDialect } from '@memberjunction/sql-dialect';
5
5
  * PostgreSQL implementation of the CodeGen database provider.
6
6
  * Generates PostgreSQL-native DDL for views, CRUD functions, triggers, indexes,
7
7
  * full-text search, permissions, and other database objects.
8
+ *
9
+ * Registered with `MJGlobal.ClassFactory` against the canonical `'postgresql'`
10
+ * platform key — `SQLCodeGenBase` resolves this provider via
11
+ * `ClassFactory.CreateInstance(CodeGenDatabaseProvider, configInfo.dbPlatform)`.
8
12
  */
9
13
  export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
10
14
  /** @inheritdoc */
@@ -18,25 +22,43 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
18
22
  */
19
23
  generateDropGuard(objectType: 'VIEW' | 'PROCEDURE' | 'FUNCTION' | 'TRIGGER', schema: string, name: string): string;
20
24
  /**
21
- * Generates a PostgreSQL `CREATE OR REPLACE VIEW` statement for an entity's base view.
25
+ * Generates a PostgreSQL view-regeneration block for an entity's base view.
26
+ *
22
27
  * Includes all base table columns, parent/related field joins, and root field lateral
23
28
  * joins. Applies a soft-delete `WHERE` filter when the entity uses soft deletes.
24
29
  *
25
- * **Non-destructive strategy.** Historically this method emitted
26
- * `DROP VIEW IF EXISTS ... CASCADE;` before the CREATE, which let it handle every
27
- * column-signature change — but also silently destroyed any dependent view, function,
28
- * trigger, or GRANT on the view. When a later statement (or subsequent entity in the
29
- * same run) failed, half the database's objects could be gone with no error surfaced.
30
+ * **Two-path emission (try-then-fallback).** The output wraps `CREATE OR REPLACE VIEW`
31
+ * in a `DO $$ ... EXCEPTION WHEN invalid_table_definition THEN DROP VIEW ... CASCADE;
32
+ * EXECUTE vsql; END $$` block. Why:
33
+ *
34
+ * - Happy path: `CREATE OR REPLACE VIEW` succeeds (new column list is a prefix of
35
+ * the existing one plus optional trailing additions). Zero destruction. No
36
+ * dependent views, functions, triggers, or grants are touched.
37
+ *
38
+ * - Sad path: PG raises SQLSTATE `42P16 invalid_table_definition` for any column
39
+ * rename / reorder / type change / removal. The exception handler runs
40
+ * `DROP VIEW ... CASCADE` and re-executes the CREATE. Dependent codegen-managed
41
+ * functions (spCreate/spUpdate/spDelete returning `SETOF vwFoo`) and dependent
42
+ * views are CASCADE-dropped — they are regenerated later in the same codegen
43
+ * output stream, so by the end of the run all dependents are restored to the new
44
+ * shape. GRANTs on the view itself are also lost on the CASCADE; codegen always
45
+ * re-emits permissions immediately after the view, so they come back too.
46
+ *
47
+ * The runtime-apply path also calls this, so the live DB applies the same DO block.
48
+ * `executeWithFallback` (the runtime helper) becomes a no-op for these statements
49
+ * because the DO block handles 42P16 internally — but it still runs as a safety net
50
+ * for any other failure modes.
30
51
  *
31
- * We now emit just `CREATE OR REPLACE VIEW`, which PostgreSQL accepts when the new
32
- * column list is a prefix of the existing one plus optional trailing additions. Any
33
- * incompatible change (rename, reorder, type change, removed column) fails with
34
- * SQLSTATE `42P16 invalid_table_definition`. That error is intentionally allowed to
35
- * propagate up through `executeSQLFileViaShell` → the per-entity batch loop → and is
36
- * surfaced as a real regeneration failure. A follow-up pass will add a capture-drop-
37
- * restore fallback for 42P16 that preserves dependents via `pg_depend` and
38
- * `pg_get_viewdef` / `pg_get_functiondef`. Until that lands, 42P16 on PG is loud and
39
- * actionable instead of silent and destructive.
52
+ * **What this DOES NOT preserve on the sad path:** non-codegen-managed dependent
53
+ * objects (e.g. a hand-written sproc against this view that codegen doesn't know
54
+ * about). Those would be CASCADE-dropped and not restored. MJ codegen-generated
55
+ * sprocs cover all standard CRUD pathways; bespoke sprocs against base views are
56
+ * extremely rare in practice. If a project does have them, they need to be re-applied
57
+ * after a 42P16 fallback fires.
58
+ *
59
+ * This pattern matches the v5.30.x fix migration `V202604282300` — which used the
60
+ * same DO/EXCEPTION construct to recreate `vwEntityPermissions` after the unquoted
61
+ * RoleName alias bug — proving the pattern is production-tested.
40
62
  *
41
63
  * Permissions are handled separately by sql_codegen.ts via generateViewPermissions().
42
64
  */
@@ -50,6 +72,53 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
50
72
  * via `pg_proc` is the only way to drop without knowing the exact prior signature.
51
73
  */
52
74
  private generateDropAllOverloadsBlock;
75
+ /**
76
+ * Returns true when this entity should emit JSON-arg sprocs (single `JSONB`
77
+ * parameter, key-presence semantics) for the given CRUD verb instead of the
78
+ * default typed-arg shape. Driven by PostgreSQL's hard 100-arg `FUNC_MAX_ARGS`
79
+ * ceiling — once a typed-arg sproc would project past `POSTGRESQL_PROCEDURE_PARAM_LIMIT`,
80
+ * we switch to JSON-arg.
81
+ *
82
+ * Calls the same `useJsonArgShape` predicate used by the runtime so codegen
83
+ * emit and runtime invocation cannot disagree (see `crudSprocFieldRules`
84
+ * in `@memberjunction/generic-database-provider`).
85
+ */
86
+ private shouldUseJsonArgShape;
87
+ /**
88
+ * Returns the per-column JSON cast expression for the JSON-arg sproc body,
89
+ * e.g. `(p_data->>'PromptID')::UUID` or `(p_data->>'Status')` for plain text.
90
+ * The mapping mirrors `mapSQLType` but as JSON-extraction casts; types that
91
+ * don't need a cast (TEXT/VARCHAR) emit just the bare extraction. Binary
92
+ * (BYTEA) decodes from base64 string. JSON-typed columns use `->` (not
93
+ * `->>`) to keep the JSONB structure intact.
94
+ */
95
+ private renderJsonExtractAndCast;
96
+ /**
97
+ * Generates the SET clause body for a JSON-arg UPDATE sproc — one `CASE WHEN
98
+ * p_data ? 'Field' THEN <cast> ELSE "Field" END` per writable column, plus
99
+ * the audit-timestamp assignment.
100
+ */
101
+ private renderJsonArgUpdateSetClause;
102
+ /**
103
+ * Generates the JSON-arg variant of `spUpdate*` for wide entities. Single
104
+ * `p_data JSONB` parameter; per-column `CASE WHEN p_data ? 'Field' THEN
105
+ * <cast> ELSE "Field" END` body. Key-absent leaves the column unchanged;
106
+ * key=null clears it; key=value sets it. Identity column (`ID`) is required
107
+ * in the payload; all other columns are optional.
108
+ */
109
+ private generateCRUDUpdateJsonArg;
110
+ /**
111
+ * Generates the JSON-arg variant of `spCreate*` for wide entities. Single
112
+ * `p_data JSONB` parameter; uses `EXECUTE format(...)` to build the INSERT
113
+ * dynamically based on which keys are present in `p_data` so absent keys
114
+ * fall back to column DEFAULT (matching the typed-arg sproc's default-
115
+ * substitution behavior). Returns the newly created row from the base view.
116
+ *
117
+ * Single-UUID-PK entities auto-generate the PK if `p_data` doesn't include
118
+ * one (matching `gen_random_uuid()` default). Composite-PK entities require
119
+ * caller-supplied PKs.
120
+ */
121
+ private generateCRUDCreateJsonArg;
53
122
  /**
54
123
  * Generates a PostgreSQL `CREATE OR REPLACE FUNCTION` for inserting a new record.
55
124
  * The function accepts typed parameters for each writable field, performs an `INSERT`
@@ -60,6 +129,11 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
60
129
  *
61
130
  * Prepends a DROP-all-overloads block (see `generateDropAllOverloadsBlock`) so
62
131
  * adding/removing a column doesn't trigger PG's overload-ambiguity error.
132
+ *
133
+ * Wide entities (where `useJsonArgShape` returns true) emit a JSON-arg variant
134
+ * via `generateCRUDCreateJsonArg` — single `p_data JSONB` parameter, dynamic
135
+ * INSERT built from keys present in the payload. Same semantics; different
136
+ * wire shape needed because of PostgreSQL's 100-arg function ceiling.
63
137
  */
64
138
  generateCRUDCreate(entity: EntityInfo): string;
65
139
  /**
@@ -116,6 +190,20 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
116
190
  * root record's primary key value.
117
191
  */
118
192
  generateRootIDFunction(entity: EntityInfo, field: EntityFieldInfo): string;
193
+ /**
194
+ * Produces the canonical name for the recursive root-finder helper function
195
+ * generated for self-referencing fields. The function definition and the
196
+ * view's LATERAL-JOIN reference must agree on this name (caller side calls
197
+ * via `generateRootFieldJoin`, definition via `generateRootIDFunction`).
198
+ *
199
+ * Note: this intentionally does NOT match the baseline-shipped PascalCase
200
+ * `fn{Table}{Field}_GetRootID` form, because the baseline returns
201
+ * `TABLE("RootID" type)` and the view callers expect a scalar — using the
202
+ * baseline name would clash with `cannot change return type of existing
203
+ * function`. The snake_case scalar form is codegen's own naming space and
204
+ * is consistent with how downstream views are emitted.
205
+ */
206
+ private getRootIDFunctionName;
119
207
  /** @inheritdoc */
120
208
  generateRootFieldSelect(_entity: EntityInfo, field: EntityFieldInfo, alias: string): string;
121
209
  /**
@@ -187,11 +275,34 @@ export declare class PostgreSQLCodeGenProvider extends CodeGenDatabaseProvider {
187
275
  /** @inheritdoc */
188
276
  generateAllEntitiesSQLFileHeader(): string;
189
277
  /**
190
- * Maps a SQL default value expression to its PostgreSQL equivalent. Translates
191
- * SQL Server built-in functions (e.g., `NEWID()` to `gen_random_uuid()`,
192
- * `GETUTCDATE()` to `NOW() AT TIME ZONE 'UTC'`), strips outer parentheses and
193
- * surrounding single quotes, and re-applies quoting based on the {@link needsQuotes}
194
- * flag. Returns `'NULL'` for empty or whitespace-only input.
278
+ * Renders a column DEFAULT expression for embedding in a generated SQL
279
+ * statement. Handles three cases:
280
+ *
281
+ * 1. **SS-style function defaults** — `NEWID()` → `gen_random_uuid()`,
282
+ * `GETUTCDATE()` → `NOW() AT TIME ZONE 'UTC'`, etc. Mapped via the
283
+ * `functionMap` table.
284
+ *
285
+ * 2. **PG typed-literal defaults** — values like `'Pending'::character
286
+ * varying`, `'-1'::integer`, `'F51358F3-...'::uuid`, `'{}'::jsonb`
287
+ * that PG returns from `information_schema.columns.column_default`.
288
+ * These are already fully-formed PG expressions; pass through
289
+ * verbatim. PG handles them natively in every context this method's
290
+ * output appears (INSERT VALUES, COALESCE inside INSERT/UPDATE,
291
+ * CASE-WHEN inside the clear-companion pattern).
292
+ *
293
+ * The type name after `::` may be a single identifier OR multiple
294
+ * words separated by spaces (`character varying`, `double precision`,
295
+ * `time with time zone`, etc.). Without correctly matching multi-word
296
+ * types, stripping the outer quotes and re-wrapping would produce
297
+ * `'''Pending''::character varying'` — a string literal whose value
298
+ * contains the cast syntax — and INSERTs would fail with "value too
299
+ * long for type character varying(N)".
300
+ *
301
+ * 3. **Plain string defaults** — strip outer parens / quotes, then
302
+ * optionally re-apply single-quote wrap (with `'` → `''` escaping)
303
+ * based on the `needsQuotes` flag.
304
+ *
305
+ * Returns `'NULL'` for empty or whitespace-only input.
195
306
  */
196
307
  formatDefaultValue(defaultValue: string, needsQuotes: boolean): string;
197
308
  /**
@@ -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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"}