@memberjunction/codegen-lib 6.1.0-edge.0 → 6.1.0-edge.2
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.
- package/dist/Database/codeGenDatabaseProvider.d.ts +6 -1
- package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
- package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
- package/dist/Database/manage-metadata.d.ts +63 -13
- package/dist/Database/manage-metadata.d.ts.map +1 -1
- package/dist/Database/manage-metadata.js +134 -21
- package/dist/Database/manage-metadata.js.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +1 -9
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +22 -19
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +12 -3
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
- package/dist/Database/sql_codegen.js +1 -1
- package/dist/Database/sql_codegen.js.map +1 -1
- package/dist/Misc/action_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/action_subclasses_codegen.js +13 -3
- package/dist/Misc/action_subclasses_codegen.js.map +1 -1
- package/dist/Misc/createNewUser.js +1 -1
- package/dist/Misc/createNewUser.js.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.d.ts +81 -1
- package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.js +234 -1
- package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
- package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
- package/dist/Misc/graphql_server_codegen.js +13 -2
- package/dist/Misc/graphql_server_codegen.js.map +1 -1
- package/package.json +29 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNewUser.js","sourceRoot":"","sources":["../../src/Misc/createNewUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAA2B,MAAM,sBAAsB,CAAC;AAC9I,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"createNewUser.js","sourceRoot":"","sources":["../../src/Misc/createNewUser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAA2B,MAAM,sBAAsB,CAAC;AAC9I,OAAO,EAAE,UAAU,EAAgB,MAAM,kBAAkB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACnB,KAAK,CAAC,aAAa,CAAC,YAA0B;QACjD,IAAI,CAAC;YACD,MAAM,OAAO,GAAa,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAI,OAAO,CAAE,CAAC;YAC/F,MAAM,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,6DAA6D;YAEzH,IAAI,CAAC,WAAW,EAAE,CAAC;gBACf,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,mEAAmE;oBAC5E,QAAQ,EAAE,OAAO;iBACpB,CAAC;YACN,CAAC;YAED,IAAI,YAAY,EAAE,CAAC;gBACf,mCAAmC;gBACnC,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC;gBAClF,IAAI,CAAC,eAAe,EAAE,CAAC;oBACnB,IAAI,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtD,SAAS,CAAC,iCAAiC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;wBAClE,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,wDAAwD;wBACnF,MAAM,IAAI,GAAiB,MAAM,EAAE,CAAC,eAAe,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;wBAC9E,IAAI,CAAC,SAAS,EAAE,CAAC;wBACjB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;wBAC/E,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;wBACxC,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,QAAQ,CAAC;wBACtC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;wBAChC,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;wBACpB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;wBACrB,iFAAiF;wBACjF,mFAAmF;wBACnF,oEAAoE;wBACpE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAgC,CAAC,CAAC,wDAAwD;wBACpH,MAAM,QAAQ,CAAC,gBAAgB,EAAE,CAAC;wBAClC,IAAI,CAAC;4BACD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;gCACrB,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;4BACtE,CAAC;4BAED,aAAa;4BACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gCACjD,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gCACvC,MAAM,MAAM,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;gCAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;oCACV,QAAQ,CAAC,qBAAqB,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC;oCAC1D,SAAS;gCACb,CAAC;gCACD,MAAM,QAAQ,GAAqB,MAAM,EAAE,CAAC,eAAe,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;gCAC3F,QAAQ,CAAC,SAAS,EAAE,CAAC;gCACrB,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;gCAC1B,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC;gCACzB,IAAI,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;oCACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,MAAM,QAAQ,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC,CAAC;gCAC9H,CAAC;gCACD,SAAS,CAAC,wBAAwB,GAAG,QAAQ,CAAC,CAAC;4BACnD,CAAC;4BAED,uDAAuD;4BACvD,IAAI,YAAY,CAAC,4BAA4B,EAAE,CAAC;gCAC5C,SAAS,CAAC,2CAA2C,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;gCACnE,KAAI,MAAM,OAAO,IAAI,YAAY,CAAC,gBAAgB,EAAC,CAAC;oCAChD,MAAM,WAAW,GAAW,OAAO,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,CAAC;oCAC/D,MAAM,WAAW,GAAgC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,iBAAiB,EAAE,KAAK,WAAW,CAAC,CAAC;oCAC9H,IAAI,CAAC,WAAW,EAAE,CAAC;wCACf,QAAQ,CAAC,eAAe,OAAO,yDAAyD,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;wCACrG,SAAS;oCACb,CAAC;oCAED,MAAM,eAAe,GAA4B,MAAM,EAAE,CAAC,eAAe,CAA0B,uBAAuB,EAAE,WAAW,CAAC,CAAC;oCACzI,eAAe,CAAC,SAAS,EAAE,CAAC;oCAC5B,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;oCACjC,eAAe,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;oCAC/C,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC;oCAEhC,IAAI,CAAC,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;wCAChC,MAAM,IAAI,KAAK,CAAC,qCAAqC,OAAO,iBAAiB,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC,CAAC;oCACnK,CAAC;oCACD,SAAS,CAAC,4BAA4B,OAAO,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oCAE3E,+EAA+E;oCAC/E,MAAM,EAAE,GAAY,IAAI,OAAO,EAAE,CAAC;oCAClC,0DAA0D;oCAC1D,+CAA+C;oCAC/C,kDAAkD;oCAClD,6DAA6D;oCAC7D,gDAAgD;oCAChD,4DAA4D;oCAC5D,4CAA4C;oCAC5C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;oCAClD,MAAM,QAAQ,GAAiD,MAAM,EAAE,CAAC,OAAO,CAAC;wCAC5E,UAAU,EAAE,0BAA0B;wCACtC,WAAW,EAAE,oBAAoB,WAAW,CAAC,EAAE,6BAA6B,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;qCAC7G,EAAE,WAAW,CAAC,CAAC;oCAEhB,IAAG,CAAC,QAAQ,CAAC,OAAO,EAAC,CAAC;wCAClB,QAAQ,CAAC,uDAAuD,OAAO,iBAAiB,IAAI,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;wCACxI,SAAS;oCACb,CAAC;oCAED,MAAM,yBAAyB,GAAG,QAAQ,CAAC,OAAO,CAAC;oCAEnD,SAAS,CAAC,YAAY,yBAAyB,CAAC,MAAM,mDAAmD,OAAO,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oCAE9I,KAAI,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,yBAAyB,CAAC,OAAO,EAAE,EAAC,CAAC;wCACjE,MAAM,aAAa,GAAkC,MAAM,EAAE,CAAC,eAAe,CAAgC,+BAA+B,EAAE,WAAW,CAAC,CAAC;wCAC3J,aAAa,CAAC,SAAS,EAAE,CAAC;wCAC1B,aAAa,CAAC,iBAAiB,GAAG,eAAe,CAAC,EAAE,CAAC;wCACrD,aAAa,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAS,CAAC;wCAC7C,aAAa,CAAC,QAAQ,GAAG,KAAK,CAAC;wCAE/B,IAAI,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,EAAE,CAAC;4CAC9B,MAAM,IAAI,KAAK,CAAC,yDAAyD,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,YAAY,EAAE,eAAe,IAAI,eAAe,EAAE,CAAC,CAAC;wCAC7J,CAAC;wCACD,SAAS,CAAC,mCAAmC,SAAS,CAAC,MAAM,iBAAiB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oCAC/F,CAAC;gCACL,CAAC;4BACL,CAAC;4BAED,MAAM,QAAQ,CAAC,iBAAiB,EAAE,CAAC;4BACnC,SAAS,CAAC,8BAA8B,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;4BAC/D,OAAO;gCACH,OAAO,EAAE,IAAI;gCACb,OAAO,EAAE,iCAAiC,GAAG,YAAY,CAAC,KAAK;gCAC/D,QAAQ,EAAE,SAAS;6BACtB,CAAC;wBACN,CAAC;wBAAC,OAAO,KAAK,EAAE,CAAC;4BACb,MAAM,QAAQ,CAAC,mBAAmB,EAAE,CAAC;4BACrC,OAAO;gCACH,OAAO,EAAE,KAAK;gCACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gCAC/D,QAAQ,EAAE,OAAO;6BACpB,CAAC;wBACN,CAAC;oBACL,CAAC;yBACI,CAAC;wBACF,OAAO;4BACH,OAAO,EAAE,KAAK;4BACd,OAAO,EAAE,yEAAyE,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;4BACjH,QAAQ,EAAE,SAAS;yBACtB,CAAC;oBACN,CAAC;gBACL,CAAC;qBACI,CAAC;oBACF,OAAO;wBACH,OAAO,EAAE,IAAI;wBACb,OAAO,EAAE,8CAA8C;wBACvD,QAAQ,EAAE,SAAS;qBACtB,CAAA;gBACL,CAAC;YACL,CAAC;iBACI,CAAC;gBACF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,6FAA6F;oBACtG,QAAQ,EAAE,OAAO;iBACpB,CAAC;YACN,CAAC;QACL,CAAC;QACD,OAAO,GAAG,EAAE,CAAC;YACT,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,wCAAwC,GAAG,GAAG;gBACvD,QAAQ,EAAE,OAAO;aACpB,CAAA;QACL,CAAC;IACL,CAAC;CACJ"}
|
|
@@ -1,6 +1,36 @@
|
|
|
1
|
-
import { EntityFieldInfo, EntityInfo } from '@memberjunction/core';
|
|
1
|
+
import { EntityFieldInfo, EntityInfo, EntityRelationshipInfo } from '@memberjunction/core';
|
|
2
2
|
import { ValidatorResult } from '../Database/manage-metadata.js';
|
|
3
3
|
import { CodeGenConnection } from '../Database/codeGenDatabaseProvider.js';
|
|
4
|
+
/**
|
|
5
|
+
* The parsed shape of `EntityRelationship.RelatedRecordCollection` — the policy half of a
|
|
6
|
+
* `DeclareRelatedRecords(...)` declaration.
|
|
7
|
+
*
|
|
8
|
+
* Mirrors `metadata/entities/JSONType-interfaces/IRelatedRecordCollectionConfig.ts`, which is the
|
|
9
|
+
* definition pushed into `EntityField.JSONTypeDefinition`. Keep the two in step when adding an
|
|
10
|
+
* option; this local copy exists so CodeGen can validate the blob without importing metadata.
|
|
11
|
+
*
|
|
12
|
+
* `RelatedEntity` and `RelatedEntityJoinField` are deliberately absent — they are columns on the
|
|
13
|
+
* same `EntityRelationship` row, and duplicating them here would create two sources of truth.
|
|
14
|
+
*/
|
|
15
|
+
export type RelatedRecordCollectionConfig = {
|
|
16
|
+
/** Generated property name on the entity subclass, e.g. `Lines`. Must be a valid TS identifier. */
|
|
17
|
+
Name: string;
|
|
18
|
+
/** When the collection populates itself. Defaults to `'explicit'`. */
|
|
19
|
+
Load?: 'explicit' | 'immediate' | 'lazy' | 'never';
|
|
20
|
+
Source?: 'database' | 'cache';
|
|
21
|
+
ReadOnly?: boolean;
|
|
22
|
+
/** What removal means. Defaults to `'delete'`. */
|
|
23
|
+
OnRemove?: 'delete' | 'orphan' | 'refuse';
|
|
24
|
+
/** `OrderBy` clause applied when loading. */
|
|
25
|
+
OrderBy?: string;
|
|
26
|
+
/** Automatic gap-free sequence numbering. */
|
|
27
|
+
Sequence?: {
|
|
28
|
+
Field: string;
|
|
29
|
+
From?: number;
|
|
30
|
+
};
|
|
31
|
+
/** Whether the collection empties itself after a successful save. Defaults to `false`. */
|
|
32
|
+
ClearAfterSave?: boolean;
|
|
33
|
+
};
|
|
4
34
|
/**
|
|
5
35
|
* Base class for generating entity sub-classes, you can sub-class this class to modify/extend your own entity sub-class generator logic
|
|
6
36
|
*/
|
|
@@ -49,6 +79,56 @@ export declare class EntitySubClassGeneratorBase {
|
|
|
49
79
|
importStatement: string;
|
|
50
80
|
};
|
|
51
81
|
generateEntitySubClass(pool: CodeGenConnection, entity: EntityInfo, includeFileHeader?: boolean, skipDBUpdate?: boolean): Promise<string>;
|
|
82
|
+
/**
|
|
83
|
+
* Emits `DeclareRelatedRecords(...)` declarations for every relationship on this entity whose
|
|
84
|
+
* `RelatedRecordCollection` column holds a config object.
|
|
85
|
+
*
|
|
86
|
+
* A related-record collection makes a parent and its related rows load, validate and persist as
|
|
87
|
+
* one unit — see `guides/TRANSACTIONS_AND_BATCHING_GUIDE.md`. Before this generator, every
|
|
88
|
+
* application hand-wrote the declaration on a subclass; now two columns plus one JSON blob on
|
|
89
|
+
* `EntityRelationship` produce it.
|
|
90
|
+
*
|
|
91
|
+
* **Two option values come from the row's own columns, not the JSON**: `RelatedEntity` and
|
|
92
|
+
* `RelatedEntityJoinField`. Duplicating them inside the blob would create two sources of truth
|
|
93
|
+
* that can disagree, with the JSON copy winning silently.
|
|
94
|
+
*
|
|
95
|
+
* Emitted as a field initialiser rather than constructor code because generated subclasses have
|
|
96
|
+
* no constructor — TypeScript runs initialisers immediately after `super()`, by which point
|
|
97
|
+
* `EntityInfo` and the provider are both set, which is everything `DeclareRelatedRecords` needs.
|
|
98
|
+
*
|
|
99
|
+
* @param entity - The entity being generated.
|
|
100
|
+
* @returns The declarations block, or an empty string when the entity declares none (the
|
|
101
|
+
* overwhelmingly common case, which must add nothing to the generated output).
|
|
102
|
+
*/
|
|
103
|
+
static GenerateRelatedRecordCollections(entity: EntityInfo): string;
|
|
104
|
+
/**
|
|
105
|
+
* Parses and validates one relationship's `RelatedRecordCollection` JSON.
|
|
106
|
+
*
|
|
107
|
+
* Invalid metadata is **skipped with a logged error rather than throwing**: a single malformed
|
|
108
|
+
* row must not abort a whole CodeGen run and leave the repository with no generated entities at
|
|
109
|
+
* all. The property simply does not appear, and the log names the row.
|
|
110
|
+
*
|
|
111
|
+
* @param entity - The owning entity, for error messages.
|
|
112
|
+
* @param relationship - The relationship carrying the config.
|
|
113
|
+
* @returns The validated config, or null when it cannot be used.
|
|
114
|
+
*/
|
|
115
|
+
static ParseRelatedRecordCollectionConfig(entity: EntityInfo, relationship: EntityRelationshipInfo): RelatedRecordCollectionConfig | null;
|
|
116
|
+
/**
|
|
117
|
+
* Renders one validated declaration.
|
|
118
|
+
*
|
|
119
|
+
* @param entity - The owning entity.
|
|
120
|
+
* @param relationship - The relationship supplying `RelatedEntity` / `RelatedEntityJoinField`.
|
|
121
|
+
* @param config - The validated policy object.
|
|
122
|
+
* @returns The TypeScript field initialiser.
|
|
123
|
+
*/
|
|
124
|
+
protected static RenderRelatedRecordCollection(entity: EntityInfo, relationship: EntityRelationshipInfo, config: RelatedRecordCollectionConfig): string;
|
|
125
|
+
/**
|
|
126
|
+
* Escapes a value for safe embedding in a single-quoted TypeScript string literal.
|
|
127
|
+
*
|
|
128
|
+
* @param value - The raw value.
|
|
129
|
+
* @returns The escaped value.
|
|
130
|
+
*/
|
|
131
|
+
protected static EscapeSingleQuotes(value: string): string;
|
|
52
132
|
/**
|
|
53
133
|
* Finds the source parent entity for an IS-A inherited field by walking the parent chain.
|
|
54
134
|
* Returns the name of the parent entity that originally defines the field (as a non-virtual column).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,eAAe,EAA4B,UAAU,EAAuC,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -417,6 +417,7 @@ export const loadModule = () => {
|
|
|
417
417
|
const jsonTypeBlock = jsonTypeDefinitions.size > 0
|
|
418
418
|
? '\n' + Array.from(jsonTypeDefinitions).join('\n\n') + '\n'
|
|
419
419
|
: '';
|
|
420
|
+
const relatedRecordCollections = EntitySubClassGeneratorBase.GenerateRelatedRecordCollections(entity);
|
|
420
421
|
let sRet = `
|
|
421
422
|
${jsonTypeBlock}
|
|
422
423
|
/**
|
|
@@ -430,7 +431,7 @@ ${jsonTypeBlock}
|
|
|
430
431
|
* @public${deprecatedFlag}
|
|
431
432
|
*/
|
|
432
433
|
${includeFileHeader ? subClassImportStatement : ''}@RegisterClass(BaseEntity, '${entity.Name}')
|
|
433
|
-
export class ${sClassName} extends ${sBaseClass}<${sClassName}Type> {${loadFunction ? '\n' + loadFunction : ''}${saveFunction ? '\n\n' + saveFunction : ''}${deleteFunction ? '\n\n' + deleteFunction : ''}${validateFunction ? '\n\n' + validateFunction : ''}
|
|
434
|
+
export class ${sClassName} extends ${sBaseClass}<${sClassName}Type> {${relatedRecordCollections}${loadFunction ? '\n' + loadFunction : ''}${saveFunction ? '\n\n' + saveFunction : ''}${deleteFunction ? '\n\n' + deleteFunction : ''}${validateFunction ? '\n\n' + validateFunction : ''}
|
|
434
435
|
|
|
435
436
|
${fields}
|
|
436
437
|
}
|
|
@@ -440,6 +441,238 @@ ${fields}
|
|
|
440
441
|
return sRet;
|
|
441
442
|
}
|
|
442
443
|
}
|
|
444
|
+
/**
|
|
445
|
+
* Emits `DeclareRelatedRecords(...)` declarations for every relationship on this entity whose
|
|
446
|
+
* `RelatedRecordCollection` column holds a config object.
|
|
447
|
+
*
|
|
448
|
+
* A related-record collection makes a parent and its related rows load, validate and persist as
|
|
449
|
+
* one unit — see `guides/TRANSACTIONS_AND_BATCHING_GUIDE.md`. Before this generator, every
|
|
450
|
+
* application hand-wrote the declaration on a subclass; now two columns plus one JSON blob on
|
|
451
|
+
* `EntityRelationship` produce it.
|
|
452
|
+
*
|
|
453
|
+
* **Two option values come from the row's own columns, not the JSON**: `RelatedEntity` and
|
|
454
|
+
* `RelatedEntityJoinField`. Duplicating them inside the blob would create two sources of truth
|
|
455
|
+
* that can disagree, with the JSON copy winning silently.
|
|
456
|
+
*
|
|
457
|
+
* Emitted as a field initialiser rather than constructor code because generated subclasses have
|
|
458
|
+
* no constructor — TypeScript runs initialisers immediately after `super()`, by which point
|
|
459
|
+
* `EntityInfo` and the provider are both set, which is everything `DeclareRelatedRecords` needs.
|
|
460
|
+
*
|
|
461
|
+
* @param entity - The entity being generated.
|
|
462
|
+
* @returns The declarations block, or an empty string when the entity declares none (the
|
|
463
|
+
* overwhelmingly common case, which must add nothing to the generated output).
|
|
464
|
+
*/
|
|
465
|
+
static GenerateRelatedRecordCollections(entity) {
|
|
466
|
+
const declared = (entity.RelatedEntities ?? []).filter(r => r.RelatedRecordCollection && r.RelatedRecordCollection.trim().length > 0);
|
|
467
|
+
if (declared.length === 0) {
|
|
468
|
+
return '';
|
|
469
|
+
}
|
|
470
|
+
const blocks = [];
|
|
471
|
+
const seenNames = new Set();
|
|
472
|
+
for (const relationship of declared) {
|
|
473
|
+
const config = EntitySubClassGeneratorBase.ParseRelatedRecordCollectionConfig(entity, relationship);
|
|
474
|
+
if (!config) {
|
|
475
|
+
continue; // ParseRelatedRecordCollectionConfig already logged the reason
|
|
476
|
+
}
|
|
477
|
+
// A duplicate property name would emit a class with two identical members — a TypeScript
|
|
478
|
+
// error in a 100k-line generated file, which is a miserable thing to diagnose. Refuse here,
|
|
479
|
+
// where the offending metadata row can be named.
|
|
480
|
+
const nameKey = config.Name.trim().toLowerCase();
|
|
481
|
+
if (seenNames.has(nameKey)) {
|
|
482
|
+
logError(`[RelatedRecordCollection] ${entity.Name}: duplicate collection name '${config.Name}' ` +
|
|
483
|
+
`(relationship to ${relationship.RelatedEntity}). Names must be unique per entity; skipping.`);
|
|
484
|
+
continue;
|
|
485
|
+
}
|
|
486
|
+
seenNames.add(nameKey);
|
|
487
|
+
blocks.push(EntitySubClassGeneratorBase.RenderRelatedRecordCollection(entity, relationship, config));
|
|
488
|
+
}
|
|
489
|
+
return blocks.length > 0 ? '\n' + blocks.join('\n') : '';
|
|
490
|
+
}
|
|
491
|
+
/**
|
|
492
|
+
* Parses and validates one relationship's `RelatedRecordCollection` JSON.
|
|
493
|
+
*
|
|
494
|
+
* Invalid metadata is **skipped with a logged error rather than throwing**: a single malformed
|
|
495
|
+
* row must not abort a whole CodeGen run and leave the repository with no generated entities at
|
|
496
|
+
* all. The property simply does not appear, and the log names the row.
|
|
497
|
+
*
|
|
498
|
+
* @param entity - The owning entity, for error messages.
|
|
499
|
+
* @param relationship - The relationship carrying the config.
|
|
500
|
+
* @returns The validated config, or null when it cannot be used.
|
|
501
|
+
*/
|
|
502
|
+
static ParseRelatedRecordCollectionConfig(entity, relationship) {
|
|
503
|
+
const label = `${entity.Name} → ${relationship.RelatedEntity}`;
|
|
504
|
+
let parsed;
|
|
505
|
+
try {
|
|
506
|
+
parsed = JSON.parse(relationship.RelatedRecordCollection);
|
|
507
|
+
}
|
|
508
|
+
catch (e) {
|
|
509
|
+
logError(`[RelatedRecordCollection] ${label}: RelatedRecordCollection is not valid JSON ` +
|
|
510
|
+
`(${e instanceof Error ? e.message : String(e)}); skipping.`);
|
|
511
|
+
return null;
|
|
512
|
+
}
|
|
513
|
+
if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
514
|
+
logError(`[RelatedRecordCollection] ${label}: expected a JSON object; skipping.`);
|
|
515
|
+
return null;
|
|
516
|
+
}
|
|
517
|
+
const config = parsed;
|
|
518
|
+
if (!config.Name || typeof config.Name !== 'string' || config.Name.trim().length === 0) {
|
|
519
|
+
logError(`[RelatedRecordCollection] ${label}: 'Name' is required and must be a non-empty string; skipping.`);
|
|
520
|
+
return null;
|
|
521
|
+
}
|
|
522
|
+
if (!/^[A-Za-z_][A-Za-z0-9_]*$/.test(config.Name.trim())) {
|
|
523
|
+
// Name becomes a class member identifier. Anything else emits code that will not compile.
|
|
524
|
+
logError(`[RelatedRecordCollection] ${label}: 'Name' ('${config.Name}') is not a valid TypeScript ` +
|
|
525
|
+
`identifier; skipping.`);
|
|
526
|
+
return null;
|
|
527
|
+
}
|
|
528
|
+
// The join field is read from the ROW, not the JSON — without it there is no way to filter
|
|
529
|
+
// related records, so the declaration cannot be generated.
|
|
530
|
+
if (!relationship.RelatedEntityJoinField || relationship.RelatedEntityJoinField.trim().length === 0) {
|
|
531
|
+
logError(`[RelatedRecordCollection] ${label}: relationship has no RelatedEntityJoinField, so the ` +
|
|
532
|
+
`related records cannot be filtered to this parent; skipping.`);
|
|
533
|
+
return null;
|
|
534
|
+
}
|
|
535
|
+
// Many-to-many has no single owning foreign key, so the parent/child persistence semantics a
|
|
536
|
+
// collection provides (stamp the FK, delete orphans) do not apply.
|
|
537
|
+
if (relationship.Type && relationship.Type.trim().toLowerCase() !== 'one to many') {
|
|
538
|
+
logError(`[RelatedRecordCollection] ${label}: only 'One To Many' relationships can be declared as ` +
|
|
539
|
+
`related-record collections (found '${relationship.Type}'); skipping.`);
|
|
540
|
+
return null;
|
|
541
|
+
}
|
|
542
|
+
const loadModes = ['explicit', 'immediate', 'lazy', 'never'];
|
|
543
|
+
if (config.Load && !loadModes.includes(config.Load)) {
|
|
544
|
+
logError(`[RelatedRecordCollection] ${label}: invalid Load '${config.Load}'; skipping.`);
|
|
545
|
+
return null;
|
|
546
|
+
}
|
|
547
|
+
const sources = ['database', 'cache'];
|
|
548
|
+
if (config.Source && !sources.includes(config.Source)) {
|
|
549
|
+
logError(`[RelatedRecordCollection] ${label}: invalid Source '${config.Source}'; skipping.`);
|
|
550
|
+
return null;
|
|
551
|
+
}
|
|
552
|
+
if (config.ReadOnly !== undefined && typeof config.ReadOnly !== 'boolean') {
|
|
553
|
+
logError(`[RelatedRecordCollection] ${label}: ReadOnly must be a boolean; skipping.`);
|
|
554
|
+
return null;
|
|
555
|
+
}
|
|
556
|
+
// `lazy` fills on a property read, and a getter cannot await. Only a cache lookup is
|
|
557
|
+
// synchronous, and only SHARING the engine's instances is synchronous — copying needs
|
|
558
|
+
// GetEntityObject. So lazy requires both cache and read-only. Rejecting here beats emitting a
|
|
559
|
+
// declaration that compiles and then never fills.
|
|
560
|
+
const source = config.Source ?? 'database';
|
|
561
|
+
const readOnly = config.ReadOnly ?? source === 'cache';
|
|
562
|
+
if (config.Load === 'lazy') {
|
|
563
|
+
if (source !== 'cache') {
|
|
564
|
+
logError(`[RelatedRecordCollection] ${label}: Load 'lazy' requires Source 'cache' (a property getter ` +
|
|
565
|
+
`cannot await a database load); skipping.`);
|
|
566
|
+
return null;
|
|
567
|
+
}
|
|
568
|
+
if (!readOnly) {
|
|
569
|
+
logError(`[RelatedRecordCollection] ${label}: Load 'lazy' requires ReadOnly (a writable cache-backed ` +
|
|
570
|
+
`collection must copy records, which is async); skipping.`);
|
|
571
|
+
return null;
|
|
572
|
+
}
|
|
573
|
+
}
|
|
574
|
+
const removalModes = ['delete', 'orphan', 'refuse'];
|
|
575
|
+
if (config.OnRemove && !removalModes.includes(config.OnRemove)) {
|
|
576
|
+
logError(`[RelatedRecordCollection] ${label}: invalid OnRemove '${config.OnRemove}'; skipping.`);
|
|
577
|
+
return null;
|
|
578
|
+
}
|
|
579
|
+
if (config.Sequence && (!config.Sequence.Field || typeof config.Sequence.Field !== 'string')) {
|
|
580
|
+
logError(`[RelatedRecordCollection] ${label}: Sequence requires a 'Field'; skipping.`);
|
|
581
|
+
return null;
|
|
582
|
+
}
|
|
583
|
+
return config;
|
|
584
|
+
}
|
|
585
|
+
/**
|
|
586
|
+
* Renders one validated declaration.
|
|
587
|
+
*
|
|
588
|
+
* @param entity - The owning entity.
|
|
589
|
+
* @param relationship - The relationship supplying `RelatedEntity` / `RelatedEntityJoinField`.
|
|
590
|
+
* @param config - The validated policy object.
|
|
591
|
+
* @returns The TypeScript field initialiser.
|
|
592
|
+
*/
|
|
593
|
+
static RenderRelatedRecordCollection(entity, relationship, config) {
|
|
594
|
+
const name = config.Name.trim();
|
|
595
|
+
// `RelatedEntityClassName` is the entity's BASE class name (e.g. `MJActionParam`); the generated
|
|
596
|
+
// subclass this file actually emits is that plus the `Entity` suffix (`MJActionParamEntity`) —
|
|
597
|
+
// the same `${entity.ClassName}Entity` convention used where the classes are declared. Emitting
|
|
598
|
+
// the bare name produced a file that could not compile: `Cannot find name 'MJActionParam'`.
|
|
599
|
+
// Fixture-based generator tests cannot catch this, because nothing there resolves the symbol;
|
|
600
|
+
// it only surfaced on a real CodeGen run against real metadata.
|
|
601
|
+
const relatedBase = relationship.RelatedEntityClassName?.trim();
|
|
602
|
+
// When metadata has no class name, fall back to BaseEntity so the declaration still compiles —
|
|
603
|
+
// untyped is a worse developer experience, but a build break is worse still.
|
|
604
|
+
const relatedClass = relatedBase ? `${relatedBase}Entity` : 'BaseEntity';
|
|
605
|
+
// Source and mutability are invisible at the call site otherwise, and both change what the
|
|
606
|
+
// caller may safely do with the records — so they are spelled out rather than left to the
|
|
607
|
+
// metadata row nobody reading this file has open.
|
|
608
|
+
const source = config.Source ?? 'database';
|
|
609
|
+
const readOnly = config.ReadOnly ?? source === 'cache';
|
|
610
|
+
const docLines = [];
|
|
611
|
+
if (source === 'cache') {
|
|
612
|
+
docLines.push(` **Source: cache.** Records come from whichever loaded BaseEngine already caches`, ` '${relationship.RelatedEntity}', discovered via BaseEngineRegistry — zero queries. Falls back to a`, ` database load when no loaded engine offers it.`);
|
|
613
|
+
docLines.push(readOnly
|
|
614
|
+
? ` **These are the engine's own entity instances, not copies.** Do not modify them: you would be`
|
|
615
|
+
: ` Writable, so records are COPIED out of the cache on load — the engine's instances are never`);
|
|
616
|
+
docLines.push(readOnly
|
|
617
|
+
? ` mutating shared cached state that other holders can see.`
|
|
618
|
+
: ` mutated in place.`);
|
|
619
|
+
}
|
|
620
|
+
if (readOnly) {
|
|
621
|
+
docLines.push(` **Read-only.** Add/Create/Remove/Clear throw, the collection contributes nothing to a save,`, ` and it never reports Dirty.`);
|
|
622
|
+
}
|
|
623
|
+
if (config.Load === 'lazy') {
|
|
624
|
+
docLines.push(` **Lazy.** Reading Items POPULATES the collection as a side effect and flips IsLoaded. If no`, ` loaded engine caches '${relationship.RelatedEntity}', reading it THROWS rather than returning an`, ` empty array — a lazy declaration asserts that such an engine exists.`);
|
|
625
|
+
}
|
|
626
|
+
const lines = [
|
|
627
|
+
`Name: '${EntitySubClassGeneratorBase.EscapeSingleQuotes(name)}'`,
|
|
628
|
+
`RelatedEntity: '${EntitySubClassGeneratorBase.EscapeSingleQuotes(relationship.RelatedEntity)}'`,
|
|
629
|
+
`RelatedEntityJoinField: '${EntitySubClassGeneratorBase.EscapeSingleQuotes(relationship.RelatedEntityJoinField)}'`,
|
|
630
|
+
];
|
|
631
|
+
if (config.OrderBy) {
|
|
632
|
+
lines.push(`OrderBy: '${EntitySubClassGeneratorBase.EscapeSingleQuotes(config.OrderBy)}'`);
|
|
633
|
+
}
|
|
634
|
+
if (config.Load) {
|
|
635
|
+
lines.push(`Load: '${config.Load}'`);
|
|
636
|
+
}
|
|
637
|
+
if (config.OnRemove) {
|
|
638
|
+
lines.push(`OnRemove: '${config.OnRemove}'`);
|
|
639
|
+
}
|
|
640
|
+
if (config.Source) {
|
|
641
|
+
lines.push(`Source: '${config.Source}'`);
|
|
642
|
+
}
|
|
643
|
+
if (config.ReadOnly !== undefined) {
|
|
644
|
+
lines.push(`ReadOnly: ${config.ReadOnly}`);
|
|
645
|
+
}
|
|
646
|
+
if (config.Sequence) {
|
|
647
|
+
const from = typeof config.Sequence.From === 'number' ? config.Sequence.From : 1;
|
|
648
|
+
lines.push(`Sequence: { Field: '${EntitySubClassGeneratorBase.EscapeSingleQuotes(config.Sequence.Field)}', From: ${from} }`);
|
|
649
|
+
}
|
|
650
|
+
if (config.ClearAfterSave === true) {
|
|
651
|
+
lines.push('ClearAfterSave: true');
|
|
652
|
+
}
|
|
653
|
+
return `
|
|
654
|
+
/**
|
|
655
|
+
* Related records: ${relationship.RelatedEntity}
|
|
656
|
+
*
|
|
657
|
+
* Loads, validates and persists as one unit with this ${entity.Name} record — see
|
|
658
|
+
* guides/TRANSACTIONS_AND_BATCHING_GUIDE.md. Declared by the RelatedRecordCollection metadata on
|
|
659
|
+
* the '${entity.Name} → ${relationship.RelatedEntity}' relationship; edit that row, not this file.
|
|
660
|
+
*${docLines.join('\n *')}
|
|
661
|
+
*/
|
|
662
|
+
public readonly ${name} = this.DeclareRelatedRecords<${relatedClass}>({
|
|
663
|
+
${lines.join(',\n ')},
|
|
664
|
+
});
|
|
665
|
+
`;
|
|
666
|
+
}
|
|
667
|
+
/**
|
|
668
|
+
* Escapes a value for safe embedding in a single-quoted TypeScript string literal.
|
|
669
|
+
*
|
|
670
|
+
* @param value - The raw value.
|
|
671
|
+
* @returns The escaped value.
|
|
672
|
+
*/
|
|
673
|
+
static EscapeSingleQuotes(value) {
|
|
674
|
+
return String(value ?? '').replace(/\\/g, '\\\\').replace(/'/g, "\\'");
|
|
675
|
+
}
|
|
443
676
|
/**
|
|
444
677
|
* Finds the source parent entity for an IS-A inherited field by walking the parent chain.
|
|
445
678
|
* Returns the name of the parent entity that originally defines the field (as a non-virtual column).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAA6B,QAAQ,EAAuE,MAAM,sBAAsB,CAAC;AAgBrM;;;;;;;;;GASG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;OAGG;IACH,oBAAoB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAClC;;;;;OAKG;IACH,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,qBAAa,0BAA0B;IAC9B,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,eAAe,EAAE,MAAM,EACvB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,OAAO;IA+BV,SAAS,CAAC,kBAAkB,SAAO;IACnC;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIlE;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,SAAS,CAAC,uBAAuB,CAC/B,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,UAAU,EACzB,sCAAsC,EAAE,OAAO,EAC/C,YAAY,CAAC,EAAE,yBAAyB,GACvC,OAAO;IAaV;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIvD,0BAA0B,CAC/B,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,OAAO,EAC1B,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,EAC/C,YAAY,CAAC,EAAE,yBAAyB,GACvC,MAAM;IAkEF,mCAAmC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IA6BtH;;;OAGG;IACH,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAyBrG,sCAAsC,CAC3C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,MAAM,EACrB,sCAAsC,EAAE,OAAO,EAC/C,YAAY,CAAC,EAAE,yBAAyB,GACvC,MAAM;IAsCT,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAa/F,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAejE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAqBvE,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAwB1G,SAAS,CAAC,6BAA6B,CACrC,MAAM,EAAE,UAAU,EAClB,qBAAqB,EAAE,MAAM,EAC7B,sCAAsC,EAAE,OAAO,EAC/C,UAAU,EAAE,OAAO,EACnB,YAAY,CAAC,EAAE,yBAAyB,GACvC,MAAM;
|
|
1
|
+
{"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -388,7 +388,14 @@ export class ${typeNameBase}Resolver${entity.CustomResolverAPI ? 'Base' : ''} ex
|
|
|
388
388
|
for (let i = 0; i < entity.PrimaryKeys.length; i++) {
|
|
389
389
|
const pk = entity.PrimaryKeys[i];
|
|
390
390
|
graphQLPKEYArgs += graphQLPKEYArgs.length > 0 ? ', ' : '';
|
|
391
|
-
|
|
391
|
+
// GraphQL forbids arg/field names starting with '__' (reserved for introspection). A PK whose DB
|
|
392
|
+
// column starts with '__mj' — e.g. the materialization surrogate '__mj_MaterializedRowID' (the first
|
|
393
|
+
// and only '__'-prefixed primary key in the system) — must have its GraphQL ARG name sanitized the
|
|
394
|
+
// same way field names are (see the '_mj_' + substring(4) rule for field CodeNames above); otherwise
|
|
395
|
+
// buildSchemaSync throws "Name ... must not begin with __" and the ENTIRE API fails to boot. The TS
|
|
396
|
+
// parameter name, WHERE clause, bound value, and composite key all keep pk.CodeName (the real column).
|
|
397
|
+
const pkGraphQLArgName = pk.CodeName.startsWith('__mj') ? '_mj_' + pk.CodeName.substring(4) : pk.CodeName;
|
|
398
|
+
graphQLPKEYArgs += `@Arg('${pkGraphQLArgName}', () => ${pk.GraphQLType}) `;
|
|
392
399
|
graphQLPKEYArgs += `${pk.CodeName}: ${pk.TSType}`;
|
|
393
400
|
whereClause += whereClause.length > 0 ? ' AND ' : '';
|
|
394
401
|
whereClause += `\${provider.QuoteIdentifier('${pk.CodeName}')}=\${provider.BuildParameterPlaceholder(${i})}`;
|
|
@@ -615,7 +622,11 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
615
622
|
for (let i = 0; i < entity.PrimaryKeys.length; i++) {
|
|
616
623
|
const pk = entity.PrimaryKeys[i];
|
|
617
624
|
graphQLPKEYArgs += graphQLPKEYArgs.length > 0 ? ', ' : '';
|
|
618
|
-
|
|
625
|
+
// Sanitize a '__mj'-prefixed PK's GraphQL arg name (same rule as the read resolver above). Read-only
|
|
626
|
+
// virtual entities (the only ones with a '__mj_MaterializedRowID' PK) don't reach this Delete path,
|
|
627
|
+
// but keep the handling uniform so no '__'-prefixed arg can ever leak into the schema.
|
|
628
|
+
const pkGraphQLArgName = pk.CodeName.startsWith('__mj') ? '_mj_' + pk.CodeName.substring(4) : pk.CodeName;
|
|
629
|
+
graphQLPKEYArgs += `@Arg('${pkGraphQLArgName}', () => ${pk.GraphQLType}) `;
|
|
619
630
|
graphQLPKEYArgs += `${pk.CodeName}: ${pk.TSType}`;
|
|
620
631
|
compositeKeyString += compositeKeyString.length > 0 ? ', ' : '';
|
|
621
632
|
compositeKeyString += `{FieldName: '${pk.Name}', Value: ${pk.CodeName}}`;
|