@memberjunction/codegen-lib 5.49.0 → 5.50.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.
- package/dist/Config/config.d.ts +19 -0
- package/dist/Config/config.d.ts.map +1 -1
- package/dist/Config/config.js +16 -0
- package/dist/Config/config.js.map +1 -1
- package/dist/Database/manage-metadata.d.ts.map +1 -1
- package/dist/Database/manage-metadata.js +26 -1
- package/dist/Database/manage-metadata.js.map +1 -1
- package/dist/Database/schema-scope.d.ts +54 -0
- package/dist/Database/schema-scope.d.ts.map +1 -0
- package/dist/Database/schema-scope.js +71 -0
- package/dist/Database/schema-scope.js.map +1 -0
- package/dist/Misc/entity_subclasses_codegen.d.ts +10 -3
- package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.js +39 -28
- package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
- package/dist/Misc/graphql_server_codegen.d.ts +54 -3
- package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
- package/dist/Misc/graphql_server_codegen.js +71 -16
- package/dist/Misc/graphql_server_codegen.js.map +1 -1
- package/dist/runCodeGen.d.ts.map +1 -1
- package/dist/runCodeGen.js +18 -5
- package/dist/runCodeGen.js.map +1 -1
- package/package.json +28 -28
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-scope resolution helpers for CodeGen.
|
|
3
|
+
*
|
|
4
|
+
* `includeSchemas` is an opt-in POSITIVE scope list. Rather than add a second filtering path
|
|
5
|
+
* throughout CodeGen, it is resolved INTO the existing `excludeSchemas` list, so every downstream
|
|
6
|
+
* consumer (metadata management, `createExcludeTablesAndSchemasFilter`, the file-generation phases)
|
|
7
|
+
* keeps reading a single already-scoped exclude list and needs no include-awareness.
|
|
8
|
+
*
|
|
9
|
+
* This module holds the pure resolution logic so it can be unit-tested without a database or config
|
|
10
|
+
* globals.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Resolve an opt-in `includeSchemas` positive scope into the list of schema names to ADD to
|
|
14
|
+
* `excludeSchemas`. A schema stays IN SCOPE iff it is named in `includeSchemas` AND not already in
|
|
15
|
+
* `existingExcludeSchemas`; every other schema in `allSchemas` is returned for exclusion. Matching is
|
|
16
|
+
* case-insensitive + trimmed, and the result is de-duplicated. No hidden auto-includes — the MJ core
|
|
17
|
+
* schema is excluded unless it is listed explicitly (include shrinks the addressable space;
|
|
18
|
+
* `excludeSchemas` still overlays on top).
|
|
19
|
+
*
|
|
20
|
+
* @param allSchemas the schema universe to scope against — see {@link applyIncludeSchemaScope}
|
|
21
|
+
* for why this must be sourced from the DATABASE, not from loaded metadata
|
|
22
|
+
* @param includeSchemas the opt-in positive scope (assumed non-empty by the caller)
|
|
23
|
+
* @param existingExcludeSchemas schemas already excluded (system + user config), left untouched
|
|
24
|
+
* @returns the schema names to append to `excludeSchemas`
|
|
25
|
+
*/
|
|
26
|
+
export declare function computeSchemasToExcludeForIncludeList(allSchemas: string[], includeSchemas: string[], existingExcludeSchemas: string[]): string[];
|
|
27
|
+
/** The subset of the CodeGen config this module reads and mutates. */
|
|
28
|
+
export interface SchemaScopeConfig {
|
|
29
|
+
includeSchemas?: string[];
|
|
30
|
+
excludeSchemas?: string[];
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Apply an `includeSchemas` positive scope by appending every out-of-scope schema in `allSchemas` to
|
|
34
|
+
* `config.excludeSchemas` in place. No-op when `includeSchemas` is absent or empty, which preserves
|
|
35
|
+
* classic exclude-only behavior exactly. Idempotent, so it is safe to call from more than one phase
|
|
36
|
+
* as the schema universe becomes better known.
|
|
37
|
+
*
|
|
38
|
+
* **`allSchemas` must be the DATABASE's schema list, not the schemas present in loaded metadata.**
|
|
39
|
+
* The primary job of an include list is to keep CodeGen off schemas it does not own — and the
|
|
40
|
+
* highest-risk case is a schema MJ has never seen before, because `createNewEntities()` discovers
|
|
41
|
+
* tables with no `EntityID` straight from the database and filters them only through
|
|
42
|
+
* `excludeSchemas`. A universe derived from `Metadata.Entities` contains, by definition, only schemas
|
|
43
|
+
* that ALREADY have entities, so it cannot exclude a never-seen schema: that schema would be adopted
|
|
44
|
+
* into metadata on the first run and then excluded on every subsequent run, leaving its entity
|
|
45
|
+
* records permanently orphaned. Callers without database access (e.g. the `--skipdb` file-generation
|
|
46
|
+
* path) may pass the metadata-derived universe as a secondary safety net, but it is not sufficient on
|
|
47
|
+
* its own.
|
|
48
|
+
*
|
|
49
|
+
* @param allSchemas the schema universe to scope against
|
|
50
|
+
* @param config the config to mutate; `excludeSchemas` is created if absent
|
|
51
|
+
* @returns the schema names that were newly appended (empty when the scope is unused or already applied)
|
|
52
|
+
*/
|
|
53
|
+
export declare function applyIncludeSchemaScope(allSchemas: string[], config: SchemaScopeConfig): string[];
|
|
54
|
+
//# sourceMappingURL=schema-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-scope.d.ts","sourceRoot":"","sources":["../../src/Database/schema-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,MAAM,EAAE,EACpB,cAAc,EAAE,MAAM,EAAE,EACxB,sBAAsB,EAAE,MAAM,EAAE,GAC/B,MAAM,EAAE,CAYV;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAUjG"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema-scope resolution helpers for CodeGen.
|
|
3
|
+
*
|
|
4
|
+
* `includeSchemas` is an opt-in POSITIVE scope list. Rather than add a second filtering path
|
|
5
|
+
* throughout CodeGen, it is resolved INTO the existing `excludeSchemas` list, so every downstream
|
|
6
|
+
* consumer (metadata management, `createExcludeTablesAndSchemasFilter`, the file-generation phases)
|
|
7
|
+
* keeps reading a single already-scoped exclude list and needs no include-awareness.
|
|
8
|
+
*
|
|
9
|
+
* This module holds the pure resolution logic so it can be unit-tested without a database or config
|
|
10
|
+
* globals.
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Resolve an opt-in `includeSchemas` positive scope into the list of schema names to ADD to
|
|
14
|
+
* `excludeSchemas`. A schema stays IN SCOPE iff it is named in `includeSchemas` AND not already in
|
|
15
|
+
* `existingExcludeSchemas`; every other schema in `allSchemas` is returned for exclusion. Matching is
|
|
16
|
+
* case-insensitive + trimmed, and the result is de-duplicated. No hidden auto-includes — the MJ core
|
|
17
|
+
* schema is excluded unless it is listed explicitly (include shrinks the addressable space;
|
|
18
|
+
* `excludeSchemas` still overlays on top).
|
|
19
|
+
*
|
|
20
|
+
* @param allSchemas the schema universe to scope against — see {@link applyIncludeSchemaScope}
|
|
21
|
+
* for why this must be sourced from the DATABASE, not from loaded metadata
|
|
22
|
+
* @param includeSchemas the opt-in positive scope (assumed non-empty by the caller)
|
|
23
|
+
* @param existingExcludeSchemas schemas already excluded (system + user config), left untouched
|
|
24
|
+
* @returns the schema names to append to `excludeSchemas`
|
|
25
|
+
*/
|
|
26
|
+
export function computeSchemasToExcludeForIncludeList(allSchemas, includeSchemas, existingExcludeSchemas) {
|
|
27
|
+
const includeSet = new Set(includeSchemas.map((s) => s.trim().toLowerCase()));
|
|
28
|
+
const seenExcluded = new Set(existingExcludeSchemas.map((s) => s.trim().toLowerCase()));
|
|
29
|
+
const toExclude = [];
|
|
30
|
+
for (const schema of allSchemas) {
|
|
31
|
+
const key = schema.trim().toLowerCase();
|
|
32
|
+
if (!includeSet.has(key) && !seenExcluded.has(key)) {
|
|
33
|
+
toExclude.push(schema);
|
|
34
|
+
seenExcluded.add(key); // guard against duplicates within allSchemas
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return toExclude;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Apply an `includeSchemas` positive scope by appending every out-of-scope schema in `allSchemas` to
|
|
41
|
+
* `config.excludeSchemas` in place. No-op when `includeSchemas` is absent or empty, which preserves
|
|
42
|
+
* classic exclude-only behavior exactly. Idempotent, so it is safe to call from more than one phase
|
|
43
|
+
* as the schema universe becomes better known.
|
|
44
|
+
*
|
|
45
|
+
* **`allSchemas` must be the DATABASE's schema list, not the schemas present in loaded metadata.**
|
|
46
|
+
* The primary job of an include list is to keep CodeGen off schemas it does not own — and the
|
|
47
|
+
* highest-risk case is a schema MJ has never seen before, because `createNewEntities()` discovers
|
|
48
|
+
* tables with no `EntityID` straight from the database and filters them only through
|
|
49
|
+
* `excludeSchemas`. A universe derived from `Metadata.Entities` contains, by definition, only schemas
|
|
50
|
+
* that ALREADY have entities, so it cannot exclude a never-seen schema: that schema would be adopted
|
|
51
|
+
* into metadata on the first run and then excluded on every subsequent run, leaving its entity
|
|
52
|
+
* records permanently orphaned. Callers without database access (e.g. the `--skipdb` file-generation
|
|
53
|
+
* path) may pass the metadata-derived universe as a secondary safety net, but it is not sufficient on
|
|
54
|
+
* its own.
|
|
55
|
+
*
|
|
56
|
+
* @param allSchemas the schema universe to scope against
|
|
57
|
+
* @param config the config to mutate; `excludeSchemas` is created if absent
|
|
58
|
+
* @returns the schema names that were newly appended (empty when the scope is unused or already applied)
|
|
59
|
+
*/
|
|
60
|
+
export function applyIncludeSchemaScope(allSchemas, config) {
|
|
61
|
+
if (!config.includeSchemas || config.includeSchemas.length === 0) {
|
|
62
|
+
return []; // classic exclude-only behavior, unchanged
|
|
63
|
+
}
|
|
64
|
+
if (!config.excludeSchemas) {
|
|
65
|
+
config.excludeSchemas = [];
|
|
66
|
+
}
|
|
67
|
+
const toExclude = computeSchemasToExcludeForIncludeList(allSchemas, config.includeSchemas, config.excludeSchemas);
|
|
68
|
+
config.excludeSchemas.push(...toExclude);
|
|
69
|
+
return toExclude;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=schema-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema-scope.js","sourceRoot":"","sources":["../../src/Database/schema-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qCAAqC,CACnD,UAAoB,EACpB,cAAwB,EACxB,sBAAgC;IAEhC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,6CAA6C;QACtE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAoB,EAAE,MAAyB;IACrF,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,CAAC,CAAC,2CAA2C;IACxD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,SAAS,GAAG,qCAAqC,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAClH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -37,10 +37,17 @@ export declare class EntitySubClassGeneratorBase {
|
|
|
37
37
|
generateAllEntitySubClasses(pool: CodeGenConnection, entities: EntityInfo[], directory: string, skipDBUpdate: boolean): Promise<boolean>;
|
|
38
38
|
generateEntitySubClassFileHeader(): string;
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
41
|
-
* @
|
|
42
|
-
*
|
|
40
|
+
* Resolves an entity's generated base class and the import statement that class requires.
|
|
41
|
+
* Pure (no side effects) so BOTH {@link generateEntitySubClass} and the file assembler can call it —
|
|
42
|
+
* the assembler uses it to hoist and DE-DUPLICATE these imports into the file header. Emitting the
|
|
43
|
+
* import once per file instead of once per entity avoids a TS2300 duplicate-identifier error when a
|
|
44
|
+
* file contains 2+ external entities (each previously emitted `import { ReadOnlyExternalBaseEntity }`).
|
|
45
|
+
* Precedence: explicit custom subclass → ReadOnlyExternalBaseEntity (external entities) → BaseEntity.
|
|
43
46
|
*/
|
|
47
|
+
protected resolveEntityBaseClass(entity: EntityInfo): {
|
|
48
|
+
baseClass: string;
|
|
49
|
+
importStatement: string;
|
|
50
|
+
};
|
|
44
51
|
generateEntitySubClass(pool: CodeGenConnection, entity: EntityInfo, includeFileHeader?: boolean, skipDBUpdate?: boolean): Promise<string>;
|
|
45
52
|
/**
|
|
46
53
|
* Finds the source parent entity for an IS-A inherited field by walking the parent chain.
|
|
@@ -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;AAMvK,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AA0CxE;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,CAAC,0BAA0B,CACvC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAgDvC;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;
|
|
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;AAMvK,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AA0CxE;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,CAAC,0BAA0B,CACvC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAgDvC;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAgC9I,gCAAgC,IAAI,MAAM;IAYjD;;;;;;;OAOG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;IAWvF,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAwSpK;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IAaxE,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoEhI,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAE;IAyEpG,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAkExD;;;;;;OAMG;IACI,sBAAsB,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;CA0BzF"}
|
|
@@ -112,7 +112,17 @@ export class EntitySubClassGeneratorBase {
|
|
|
112
112
|
for (const e of entities) {
|
|
113
113
|
sContent += await this.generateEntitySubClass(pool, e, false, skipDBUpdate);
|
|
114
114
|
}
|
|
115
|
-
|
|
115
|
+
// Hoist the base-class imports (e.g. ReadOnlyExternalBaseEntity for external entities, or custom
|
|
116
|
+
// subclass imports) into the file header, de-duplicated. Emitting each once — instead of once per
|
|
117
|
+
// entity — prevents a TS2300 duplicate-identifier error in files with 2+ external entities.
|
|
118
|
+
// Only consider entities that actually emit a class: generateEntitySubClass skips PK-less entities
|
|
119
|
+
// (returns ''), so hoisting their import would leave a dangling/unused import (a build error under
|
|
120
|
+
// a downstream consumer's noUnusedLocals). Match that skip condition here.
|
|
121
|
+
const subclassImports = [...new Set(entities
|
|
122
|
+
.filter((e) => e.PrimaryKeys.length > 0)
|
|
123
|
+
.map((e) => this.resolveEntityBaseClass(e).importStatement)
|
|
124
|
+
.filter((s) => s.length > 0))].join('');
|
|
125
|
+
const allContent = `${this.generateEntitySubClassFileHeader()} \n ${subclassImports}${zodContent} \n ${sContent}`;
|
|
116
126
|
makeDir(directory);
|
|
117
127
|
fs.writeFileSync(path.join(directory, 'entity_subclasses.ts'), allContent);
|
|
118
128
|
return true;
|
|
@@ -134,10 +144,24 @@ export const loadModule = () => {
|
|
|
134
144
|
`;
|
|
135
145
|
}
|
|
136
146
|
/**
|
|
137
|
-
*
|
|
138
|
-
* @
|
|
139
|
-
*
|
|
147
|
+
* Resolves an entity's generated base class and the import statement that class requires.
|
|
148
|
+
* Pure (no side effects) so BOTH {@link generateEntitySubClass} and the file assembler can call it —
|
|
149
|
+
* the assembler uses it to hoist and DE-DUPLICATE these imports into the file header. Emitting the
|
|
150
|
+
* import once per file instead of once per entity avoids a TS2300 duplicate-identifier error when a
|
|
151
|
+
* file contains 2+ external entities (each previously emitted `import { ReadOnlyExternalBaseEntity }`).
|
|
152
|
+
* Precedence: explicit custom subclass → ReadOnlyExternalBaseEntity (external entities) → BaseEntity.
|
|
140
153
|
*/
|
|
154
|
+
resolveEntityBaseClass(entity) {
|
|
155
|
+
const explicitSubClass = entity.EntityObjectSubclassName ? entity.EntityObjectSubclassName : '';
|
|
156
|
+
const explicitSubClassImport = entity.EntityObjectSubclassImport ? entity.EntityObjectSubclassImport : '';
|
|
157
|
+
if (explicitSubClass.length > 0 && explicitSubClassImport.length > 0) {
|
|
158
|
+
return { baseClass: explicitSubClass, importStatement: `import { ${explicitSubClass} } from '${explicitSubClassImport}';\n` };
|
|
159
|
+
}
|
|
160
|
+
else if (entity.ExternalDataSourceID) {
|
|
161
|
+
return { baseClass: 'ReadOnlyExternalBaseEntity', importStatement: `import { ReadOnlyExternalBaseEntity } from '@memberjunction/core-entities';\n` };
|
|
162
|
+
}
|
|
163
|
+
return { baseClass: 'BaseEntity', importStatement: '' };
|
|
164
|
+
}
|
|
141
165
|
async generateEntitySubClass(pool, entity, includeFileHeader = false, skipDBUpdate = false) {
|
|
142
166
|
if (entity.PrimaryKeys.length === 0) {
|
|
143
167
|
console.warn(`SKIPPING TYPESCRIPT GENERATION: Entity ${entity.Name} has no primary keys in metadata. If using soft primary keys, ensure metadata was refreshed after applySoftPKFKConfig().`);
|
|
@@ -256,29 +280,16 @@ export const loadModule = () => {
|
|
|
256
280
|
// appear in downstream generated packages, so the @memberjunction/core-entities import
|
|
257
281
|
// is always a clean cross-package import, never a self-import.)
|
|
258
282
|
// 3. BaseEntity for everything else.
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
if (
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
// (there's no write sproc, so an attempted mutation would otherwise fail confusingly downstream).
|
|
270
|
-
logStatus(` ⚠️ External entity '${entity.Name}' has a custom subclass ('${explicitSubClass}') that overrides ReadOnlyExternalBaseEntity — Save/Delete will be rejected only if '${explicitSubClass}' extends ReadOnlyExternalBaseEntity.`);
|
|
271
|
-
}
|
|
272
|
-
sBaseClass = explicitSubClass;
|
|
273
|
-
subClassImportStatement = `import { ${explicitSubClass} } from '${explicitSubClassImport}';\n`;
|
|
274
|
-
}
|
|
275
|
-
else if (entity.ExternalDataSourceID) {
|
|
276
|
-
sBaseClass = 'ReadOnlyExternalBaseEntity';
|
|
277
|
-
subClassImportStatement = `import { ReadOnlyExternalBaseEntity } from '@memberjunction/core-entities';\n`;
|
|
278
|
-
}
|
|
279
|
-
else {
|
|
280
|
-
sBaseClass = 'BaseEntity';
|
|
281
|
-
subClassImportStatement = '';
|
|
283
|
+
// Base class + its import come from resolveEntityBaseClass (pure) so the file assembler can hoist
|
|
284
|
+
// and de-duplicate the imports into the header. The per-entity inline import (below) is emitted
|
|
285
|
+
// ONLY in the standalone includeFileHeader path (single entity → no duplication); in the
|
|
286
|
+
// multi-entity file path the assembler owns the (deduped) imports.
|
|
287
|
+
const { baseClass: sBaseClass, importStatement: subClassImportStatement } = this.resolveEntityBaseClass(entity);
|
|
288
|
+
if (entity.ExternalDataSourceID && entity.EntityObjectSubclassName && entity.EntityObjectSubclassImport) {
|
|
289
|
+
// Custom subclass takes precedence over ReadOnlyExternalBaseEntity, so this external entity's
|
|
290
|
+
// read-only guarantee holds ONLY if that subclass itself extends ReadOnlyExternalBaseEntity.
|
|
291
|
+
// Warn so the author doesn't silently lose Save/Delete rejection.
|
|
292
|
+
logStatus(` ⚠️ External entity '${entity.Name}' has a custom subclass ('${entity.EntityObjectSubclassName}') that overrides ReadOnlyExternalBaseEntity — Save/Delete will be rejected only if '${entity.EntityObjectSubclassName}' extends ReadOnlyExternalBaseEntity.`);
|
|
282
293
|
}
|
|
283
294
|
const loadFieldString = entity.PrimaryKeys.map((f) => `${f.CodeName}: ${f.TSType}`).join(', ');
|
|
284
295
|
const loadFunction = ` /**
|
|
@@ -418,7 +429,7 @@ ${jsonTypeBlock}
|
|
|
418
429
|
* @class${disabledFlag}
|
|
419
430
|
* @public${deprecatedFlag}
|
|
420
431
|
*/
|
|
421
|
-
${subClassImportStatement}@RegisterClass(BaseEntity, '${entity.Name}')
|
|
432
|
+
${includeFileHeader ? subClassImportStatement : ''}@RegisterClass(BaseEntity, '${entity.Name}')
|
|
422
433
|
export class ${sClassName} extends ${sBaseClass}<${sClassName}Type> {${loadFunction ? '\n' + loadFunction : ''}${saveFunction ? '\n\n' + saveFunction : ''}${deleteFunction ? '\n\n' + deleteFunction : ''}${validateFunction ? '\n\n' + validateFunction : ''}
|
|
423
434
|
|
|
424
435
|
${fields}
|
|
@@ -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,4 +1,28 @@
|
|
|
1
1
|
import { EntityInfo, EntityFieldInfo, EntityRelationshipInfo, Metadata } from '@memberjunction/core';
|
|
2
|
+
/**
|
|
3
|
+
* Describes which GraphQL ObjectTypes are actually resolvable in the file being generated, so the
|
|
4
|
+
* generator can decide whether a reverse-relationship (child-array) member may reference a related
|
|
5
|
+
* entity's type by name.
|
|
6
|
+
*
|
|
7
|
+
* A reverse-relationship member references the related entity's type by BARE class name, which only
|
|
8
|
+
* compiles when that class is declared in the same file. This carries the ground truth for that
|
|
9
|
+
* question — the exact set of entities handed to the generator for this file — instead of inferring
|
|
10
|
+
* it from schema/package heuristics, which can only ever approximate the set.
|
|
11
|
+
*/
|
|
12
|
+
export interface GeneratedTypeAvailability {
|
|
13
|
+
/**
|
|
14
|
+
* Lower-cased, trimmed names of every entity whose ObjectType is emitted inline into the file being
|
|
15
|
+
* generated. Membership is the compile condition for a bare-name reference.
|
|
16
|
+
*/
|
|
17
|
+
generatedEntityNames: Set<string>;
|
|
18
|
+
/**
|
|
19
|
+
* True when generating the CORE entity file. The core file has NO
|
|
20
|
+
* `mj_core_schema_server_object_types` namespace import (it *is* that module), so core related
|
|
21
|
+
* entities must satisfy set membership like everything else. In a non-core file, core types resolve
|
|
22
|
+
* through that namespace import regardless of the set.
|
|
23
|
+
*/
|
|
24
|
+
isInternal: boolean;
|
|
25
|
+
}
|
|
2
26
|
/**
|
|
3
27
|
* This class is responsible for generating the GraphQL Server resolvers and types for the entities, you can sub-class this class to extend/modify the logic, make sure to use @memberjunction/global RegisterClass decorator
|
|
4
28
|
* so that your class is used.
|
|
@@ -18,20 +42,47 @@ export declare class GraphQLServerGeneratorBase {
|
|
|
18
42
|
* @returns The base GraphQL type name (without suffix)
|
|
19
43
|
*/
|
|
20
44
|
protected getServerGraphQLTypeNameBase(entity: EntityInfo): string;
|
|
45
|
+
/**
|
|
46
|
+
* True when the related entity's GraphQL ObjectType will NOT be declared in the file being
|
|
47
|
+
* generated, so emitting a `@Field`/`@FieldResolver` that names it would not compile (TS2304).
|
|
48
|
+
*
|
|
49
|
+
* When `availability` is supplied (every in-tree caller supplies it), the decision is made against
|
|
50
|
+
* the ACTUAL set of entities being generated into this file rather than inferred from schema or
|
|
51
|
+
* package heuristics. That set is ground truth: a bare-name reference compiles iff the class is
|
|
52
|
+
* emitted here, and the class is emitted here iff the entity was in the array handed to the
|
|
53
|
+
* generator. Heuristics can only approximate that set — `runCodeGen` narrows the generated entities
|
|
54
|
+
* by BOTH the `entityPackageName` schema→package map AND the `excludeSchemas`/inclusion filters, so
|
|
55
|
+
* a predicate that models only the package map still emits uncompilable references for anything
|
|
56
|
+
* dropped by the other filter (the linked-Open-App break: a base app generated alongside a
|
|
57
|
+
* dependent app that foreign-keys into it).
|
|
58
|
+
*
|
|
59
|
+
* The one exception is a CORE (`__mj`) related entity in a NON-core file: it is absent from the
|
|
60
|
+
* generated set but resolves through the `mj_core_schema_server_object_types` namespace import, so
|
|
61
|
+
* it is always in scope. In the core file itself there is no such import (that file *is* the
|
|
62
|
+
* module), so core related entities must satisfy set membership like everything else.
|
|
63
|
+
*
|
|
64
|
+
* `excludeRelatedEntitiesExternalToSchema` is honored first and unchanged: it asks for a
|
|
65
|
+
* schema-scoped file, which is a narrower request than type availability.
|
|
66
|
+
*
|
|
67
|
+
* @param availability the types resolvable in this file; when omitted, falls back to the legacy
|
|
68
|
+
* `entityPackageName` schema→package heuristic so that existing subclasses and
|
|
69
|
+
* callers using the pre-availability signature keep their previous behavior.
|
|
70
|
+
*/
|
|
71
|
+
protected isRelatedTypeOutOfScope(entity: EntityInfo, relatedEntity: EntityInfo, excludeRelatedEntitiesExternalToSchema: boolean, availability?: GeneratedTypeAvailability): boolean;
|
|
21
72
|
/**
|
|
22
73
|
* Generates the full server GraphQL type name for an entity (with suffix).
|
|
23
74
|
* @param entity - The entity to generate the type name for
|
|
24
75
|
* @returns The full GraphQL type name (with suffix)
|
|
25
76
|
*/
|
|
26
77
|
protected getServerGraphQLTypeName(entity: EntityInfo): string;
|
|
27
|
-
generateServerEntityString(entity: EntityInfo, includeFileHeader: boolean, generatedEntitiesImportLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean): string;
|
|
78
|
+
generateServerEntityString(entity: EntityInfo, includeFileHeader: boolean, generatedEntitiesImportLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean, availability?: GeneratedTypeAvailability): string;
|
|
28
79
|
generateAllEntitiesServerFileHeader(entities: EntityInfo[], importLibrary: string, isInternal: boolean): string;
|
|
29
80
|
/**
|
|
30
81
|
* Generates import statements for entity classes, grouping by package when
|
|
31
82
|
* entityPackageName is a schema-to-package map.
|
|
32
83
|
*/
|
|
33
84
|
protected generateEntityImports(entities: EntityInfo[], defaultLibrary: string, isInternal: boolean): string;
|
|
34
|
-
generateEntitySpecificServerFileHeader(entity: EntityInfo, importLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean): string;
|
|
85
|
+
generateEntitySpecificServerFileHeader(entity: EntityInfo, importLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean, availability?: GeneratedTypeAvailability): string;
|
|
35
86
|
protected generateServerEntityHeader(entity: EntityInfo, serverGraphQLTypeName: string): string;
|
|
36
87
|
protected generateServerEntityFooter(entity: EntityInfo): string;
|
|
37
88
|
protected generateServerField(fieldInfo: EntityFieldInfo): string;
|
|
@@ -48,7 +99,7 @@ export declare class GraphQLServerGeneratorBase {
|
|
|
48
99
|
*/
|
|
49
100
|
protected getTypeGraphQLFieldString(fieldInfo: EntityFieldInfo): string;
|
|
50
101
|
protected generateServerRelationship(md: Metadata, r: EntityRelationshipInfo, isInternal: boolean): string;
|
|
51
|
-
protected generateServerGraphQLResolver(entity: EntityInfo, serverGraphQLTypeName: string, excludeRelatedEntitiesExternalToSchema: boolean, isInternal: boolean): string;
|
|
102
|
+
protected generateServerGraphQLResolver(entity: EntityInfo, serverGraphQLTypeName: string, excludeRelatedEntitiesExternalToSchema: boolean, isInternal: boolean, availability?: GeneratedTypeAvailability): string;
|
|
52
103
|
/**
|
|
53
104
|
* Returns a JavaScript expression string (for use in generated code) that resolves
|
|
54
105
|
* to the schema name at runtime. Core schema uses the dynamic config lookup;
|
|
@@ -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;;;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;
|
|
1
|
+
{"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}
|