@memberjunction/codegen-lib 3.4.0 → 4.0.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/README.md +11 -0
- package/dist/Angular/angular-codegen.d.ts +1 -1
- package/dist/Angular/angular-codegen.d.ts.map +1 -1
- package/dist/Angular/angular-codegen.js +80 -137
- package/dist/Angular/angular-codegen.js.map +1 -1
- package/dist/Angular/entity-data-grid-related-entity-component.d.ts +1 -1
- package/dist/Angular/entity-data-grid-related-entity-component.js +6 -9
- package/dist/Angular/entity-data-grid-related-entity-component.js.map +1 -1
- package/dist/Angular/join-grid-related-entity-component.d.ts +1 -1
- package/dist/Angular/join-grid-related-entity-component.js +8 -36
- package/dist/Angular/join-grid-related-entity-component.js.map +1 -1
- package/dist/Angular/related-entity-components.js +13 -79
- package/dist/Angular/related-entity-components.js.map +1 -1
- package/dist/Angular/timeline-related-entity-component.d.ts +1 -1
- package/dist/Angular/timeline-related-entity-component.js +14 -38
- package/dist/Angular/timeline-related-entity-component.js.map +1 -1
- package/dist/Angular/user-view-grid-related-entity-component.d.ts +43 -0
- package/dist/Angular/user-view-grid-related-entity-component.d.ts.map +1 -0
- package/dist/Angular/user-view-grid-related-entity-component.js +85 -0
- package/dist/Angular/user-view-grid-related-entity-component.js.map +1 -0
- package/dist/Config/config.js +161 -177
- package/dist/Config/config.js.map +1 -1
- package/dist/Config/db-connection.d.ts +1 -1
- package/dist/Config/db-connection.d.ts.map +1 -1
- package/dist/Config/db-connection.js +6 -33
- package/dist/Config/db-connection.js.map +1 -1
- package/dist/Database/dbSchema.js +28 -35
- package/dist/Database/dbSchema.js.map +1 -1
- package/dist/Database/manage-metadata.d.ts +3 -3
- package/dist/Database/manage-metadata.d.ts.map +1 -1
- package/dist/Database/manage-metadata.js +291 -319
- package/dist/Database/manage-metadata.js.map +1 -1
- package/dist/Database/reorder-columns.d.ts +1 -1
- package/dist/Database/reorder-columns.d.ts.map +1 -1
- package/dist/Database/reorder-columns.js +1 -5
- package/dist/Database/reorder-columns.js.map +1 -1
- package/dist/Database/sql.d.ts +1 -1
- package/dist/Database/sql.d.ts.map +1 -1
- package/dist/Database/sql.js +67 -98
- package/dist/Database/sql.js.map +1 -1
- package/dist/Database/sql_codegen.d.ts +2 -2
- package/dist/Database/sql_codegen.d.ts.map +1 -1
- package/dist/Database/sql_codegen.js +209 -237
- package/dist/Database/sql_codegen.js.map +1 -1
- package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +11 -0
- package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
- package/dist/Manifest/GenerateClassRegistrationsManifest.js +43 -41
- package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
- package/dist/Misc/action_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/action_subclasses_codegen.js +15 -26
- package/dist/Misc/action_subclasses_codegen.js.map +1 -1
- package/dist/Misc/advanced_generation.d.ts +1 -1
- package/dist/Misc/advanced_generation.js +34 -40
- package/dist/Misc/advanced_generation.js.map +1 -1
- package/dist/Misc/createNewUser.d.ts +1 -1
- package/dist/Misc/createNewUser.js +22 -26
- package/dist/Misc/createNewUser.js.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.d.ts +2 -2
- package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.js +33 -40
- package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
- package/dist/Misc/graphql_server_codegen.js +36 -41
- package/dist/Misc/graphql_server_codegen.js.map +1 -1
- package/dist/Misc/runCommand.d.ts +1 -1
- package/dist/Misc/runCommand.js +13 -20
- package/dist/Misc/runCommand.js.map +1 -1
- package/dist/Misc/sql_logging.d.ts +1 -1
- package/dist/Misc/sql_logging.d.ts.map +1 -1
- package/dist/Misc/sql_logging.js +21 -51
- package/dist/Misc/sql_logging.js.map +1 -1
- package/dist/Misc/status_logging.js +45 -60
- package/dist/Misc/status_logging.js.map +1 -1
- package/dist/Misc/system_integrity.d.ts +1 -1
- package/dist/Misc/system_integrity.d.ts.map +1 -1
- package/dist/Misc/system_integrity.js +12 -16
- package/dist/Misc/system_integrity.js.map +1 -1
- package/dist/Misc/temp_batch_file.js +15 -22
- package/dist/Misc/temp_batch_file.js.map +1 -1
- package/dist/Misc/util.d.ts.map +1 -1
- package/dist/Misc/util.js +17 -28
- package/dist/Misc/util.js.map +1 -1
- package/dist/index.d.ts +21 -21
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -41
- package/dist/index.js.map +1 -1
- package/dist/runCodeGen.d.ts +1 -0
- package/dist/runCodeGen.d.ts.map +1 -1
- package/dist/runCodeGen.js +150 -178
- package/dist/runCodeGen.js.map +1 -1
- package/package.json +24 -22
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createNewUser.js","sourceRoot":"","sources":["../../src/Misc/createNewUser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"createNewUser.js","sourceRoot":"","sources":["../../src/Misc/createNewUser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityFieldInfo, EntityInfo } from '@memberjunction/core';
|
|
2
|
-
import { ValidatorResult } from '../Database/manage-metadata';
|
|
3
|
-
import
|
|
2
|
+
import { ValidatorResult } from '../Database/manage-metadata.js';
|
|
3
|
+
import sql from 'mssql';
|
|
4
4
|
/**
|
|
5
5
|
* Base class for generating entity sub-classes, you can sub-class this class to modify/extend your own entity sub-class generator logic
|
|
6
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,UAAU,EAAuC,MAAM,sBAAsB,CAAC;AAKlI,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAGlF,OAAO,
|
|
1
|
+
{"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAA4B,UAAU,EAAuC,MAAM,sBAAsB,CAAC;AAKlI,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAGlF,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB/I,gCAAgC,IAAI,MAAM;IAYjD;;;;OAIG;IACU,sBAAsB,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAmLxJ,8BAA8B,CAAC,IAAI,EAAE,GAAG,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA6DjI,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAE;IAyDpG,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAwDjD,sBAAsB,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM;CAiBpE"}
|
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const util_1 = require("../Misc/util");
|
|
11
|
-
const status_logging_1 = require("./status_logging");
|
|
12
|
-
const manage_metadata_1 = require("../Database/manage-metadata");
|
|
13
|
-
const config_1 = require("../Config/config");
|
|
14
|
-
const sql_logging_1 = require("./sql_logging");
|
|
1
|
+
import { EntityFieldValueListType, Metadata, TypeScriptTypeFromSQLType } from '@memberjunction/core';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { makeDir, sortBySequenceAndCreatedAt } from '../Misc/util.js';
|
|
5
|
+
import { logError, logStatus } from './status_logging.js';
|
|
6
|
+
import { ManageMetadataBase } from '../Database/manage-metadata.js';
|
|
7
|
+
import { mj_core_schema } from '../Config/config.js';
|
|
8
|
+
import { SQLLogging } from './sql_logging.js';
|
|
15
9
|
/**
|
|
16
10
|
* Base class for generating entity sub-classes, you can sub-class this class to modify/extend your own entity sub-class generator logic
|
|
17
11
|
*/
|
|
18
|
-
class EntitySubClassGeneratorBase {
|
|
12
|
+
export class EntitySubClassGeneratorBase {
|
|
19
13
|
/**
|
|
20
14
|
*
|
|
21
15
|
* @param pool
|
|
@@ -33,8 +27,8 @@ class EntitySubClassGeneratorBase {
|
|
|
33
27
|
sContent += await this.generateEntitySubClass(pool, e, false, skipDBUpdate);
|
|
34
28
|
}
|
|
35
29
|
const allContent = `${this.generateEntitySubClassFileHeader()} \n ${zodContent} \n ${sContent}`;
|
|
36
|
-
|
|
37
|
-
|
|
30
|
+
makeDir(directory);
|
|
31
|
+
fs.writeFileSync(path.join(directory, 'entity_subclasses.ts'), allContent);
|
|
38
32
|
return true;
|
|
39
33
|
}
|
|
40
34
|
catch (err) {
|
|
@@ -65,26 +59,26 @@ export const loadModule = () => {
|
|
|
65
59
|
}
|
|
66
60
|
else {
|
|
67
61
|
// Sort fields by Sequence, then by __mj_CreatedAt for consistent ordering
|
|
68
|
-
const sortedFields =
|
|
62
|
+
const sortedFields = sortBySequenceAndCreatedAt(entity.Fields);
|
|
69
63
|
const fields = sortedFields.map((e) => {
|
|
70
64
|
let values = '';
|
|
71
65
|
let valueList = '';
|
|
72
66
|
if (e.ValueListType && e.ValueListType.length > 0 && e.ValueListType.trim().toLowerCase() !== 'none') {
|
|
73
67
|
// Sort by Sequence to ensure consistent ordering in comments
|
|
74
|
-
const sortedValues =
|
|
68
|
+
const sortedValues = sortBySequenceAndCreatedAt([...e.EntityFieldValues]);
|
|
75
69
|
values = sortedValues.map((v) => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
|
|
76
70
|
valueList = `\n * * Value List Type: ${e.ValueListType}\n * * Possible Values ` + values;
|
|
77
71
|
}
|
|
78
|
-
let typeString =
|
|
79
|
-
if (e.ValueListTypeEnum !==
|
|
72
|
+
let typeString = TypeScriptTypeFromSQLType(e.Type) + (e.AllowsNull ? ' | null' : '');
|
|
73
|
+
if (e.ValueListTypeEnum !== EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
|
|
80
74
|
// construct a typeString that is a union of the possible values
|
|
81
75
|
const quotes = e.NeedsQuotes ? "'" : '';
|
|
82
76
|
// Sort by Sequence to ensure consistent ordering (values are alphabetically ordered in DB)
|
|
83
|
-
const sortedValues =
|
|
77
|
+
const sortedValues = sortBySequenceAndCreatedAt([...e.EntityFieldValues]);
|
|
84
78
|
typeString = sortedValues.map((v) => `${quotes}${v.Value}${quotes}`).join(' | ');
|
|
85
|
-
if (e.ValueListTypeEnum ===
|
|
79
|
+
if (e.ValueListTypeEnum === EntityFieldValueListType.ListOrUserEntry) {
|
|
86
80
|
// special case becuase a user can enter whatever they want
|
|
87
|
-
typeString += ' | ' +
|
|
81
|
+
typeString += ' | ' + TypeScriptTypeFromSQLType(e.Type);
|
|
88
82
|
}
|
|
89
83
|
// finally, add the null type if it allows null
|
|
90
84
|
if (e.AllowsNull) {
|
|
@@ -235,7 +229,7 @@ ${fields}
|
|
|
235
229
|
// logging the generated function means that we want to EMIT SQL that will update the EntityField table for the fields that had emitted validation functions
|
|
236
230
|
// so that we have a record of what was generated
|
|
237
231
|
// we need to update the database for each of the generated field validators where there was a change in the CHECK constraint for the generation results
|
|
238
|
-
const md = new
|
|
232
|
+
const md = new Metadata();
|
|
239
233
|
const entityFieldsEntityID = md.Entities.find(e => e.Name === 'Entity Fields')?.ID;
|
|
240
234
|
const entitiesEntityID = md.Entities.find(e => e.Name === 'Entities')?.ID;
|
|
241
235
|
if (!skipDBUpdate) {
|
|
@@ -251,10 +245,10 @@ ${fields}
|
|
|
251
245
|
const source = v.sourceCheckConstraint.replace(/'/g, "''");
|
|
252
246
|
const description = v.functionDescription.replace(/'/g, "''");
|
|
253
247
|
const name = v.functionName.replace(/'/g, "''");
|
|
254
|
-
const validatorCodeCategoryID = `(SELECT ID FROM ${
|
|
248
|
+
const validatorCodeCategoryID = `(SELECT ID FROM ${mj_core_schema()}.vwGeneratedCodeCategories WHERE Name='CodeGen: Validators')`;
|
|
255
249
|
if (v.generatedCodeId) {
|
|
256
250
|
// need to update the existing record in the __mj.GeneratedCode table
|
|
257
|
-
sSQL += `UPDATE [${
|
|
251
|
+
sSQL += `UPDATE [${mj_core_schema()}].[GeneratedCode] SET
|
|
258
252
|
Source='${source}',
|
|
259
253
|
Code='${code}',
|
|
260
254
|
Description='${description}',
|
|
@@ -266,7 +260,7 @@ ${fields}
|
|
|
266
260
|
}
|
|
267
261
|
else {
|
|
268
262
|
// need to create a row inside the __mj.GeneratedCode table
|
|
269
|
-
sSQL += `INSERT INTO [${
|
|
263
|
+
sSQL += `INSERT INTO [${mj_core_schema()}].[GeneratedCode] (CategoryID, GeneratedByModelID, GeneratedAt, Language, Status, Source, Code, Description, Name, LinkedEntityID, LinkedRecordPrimaryKey)
|
|
270
264
|
VALUES (${validatorCodeCategoryID}, '${v.aiModelID}', GETUTCDATE(), 'TypeScript','Approved', '${source}', '${code}', '${description}', '${name}', '${f ? entityFieldsEntityID : entitiesEntityID}', '${f ? f.ID : entity.ID}');
|
|
271
265
|
|
|
272
266
|
`;
|
|
@@ -274,10 +268,10 @@ ${fields}
|
|
|
274
268
|
}
|
|
275
269
|
// now Log and Execute the SQL
|
|
276
270
|
try {
|
|
277
|
-
await
|
|
271
|
+
await SQLLogging.LogSQLAndExecute(pool, sSQL, `Generated Validation Functions for ${entity.Name}`, false);
|
|
278
272
|
}
|
|
279
273
|
catch (e) {
|
|
280
|
-
|
|
274
|
+
logError(`Error logging and executing SQL for ${entity.Name}: ${e}`);
|
|
281
275
|
}
|
|
282
276
|
}
|
|
283
277
|
return ret.code;
|
|
@@ -288,7 +282,7 @@ ${fields}
|
|
|
288
282
|
}
|
|
289
283
|
GenerateValidateFunction(entity) {
|
|
290
284
|
// go through the ManageMetadataBase.generatedFieldValidators to see if we have anything to generate
|
|
291
|
-
const unsortedValidators =
|
|
285
|
+
const unsortedValidators = ManageMetadataBase.generatedValidators.filter((f) => f.entityName.trim().toLowerCase() === entity.Name.trim().toLowerCase());
|
|
292
286
|
const validators = unsortedValidators.sort((a, b) => {
|
|
293
287
|
// sort by field name, then by function name
|
|
294
288
|
if (a.fieldName && b.fieldName) {
|
|
@@ -344,30 +338,30 @@ ${validationFunctions}`;
|
|
|
344
338
|
GenerateSchemaAndType(entity) {
|
|
345
339
|
let content = '';
|
|
346
340
|
if (entity.PrimaryKeys.length === 0) {
|
|
347
|
-
|
|
341
|
+
logStatus(`Entity ${entity.Name} has no primary keys. Skipping.`);
|
|
348
342
|
}
|
|
349
343
|
else {
|
|
350
344
|
// Sort fields by Sequence, then by __mj_CreatedAt for consistent ordering
|
|
351
|
-
const sortedFields =
|
|
345
|
+
const sortedFields = sortBySequenceAndCreatedAt(entity.Fields);
|
|
352
346
|
const fields = sortedFields.map((e) => {
|
|
353
347
|
let values = '';
|
|
354
348
|
let valueList = '';
|
|
355
349
|
if (e.ValueListType && e.ValueListType.length > 0 && e.ValueListType.trim().toLowerCase() !== 'none') {
|
|
356
350
|
// Sort by Sequence to ensure consistent ordering in comments
|
|
357
|
-
const sortedValues =
|
|
351
|
+
const sortedValues = sortBySequenceAndCreatedAt([...e.EntityFieldValues]);
|
|
358
352
|
values = sortedValues.map((v) => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
|
|
359
353
|
valueList = `\n * * Value List Type: ${e.ValueListType}\n * * Possible Values ` + values;
|
|
360
354
|
}
|
|
361
|
-
let typeString = `${
|
|
362
|
-
if (e.ValueListTypeEnum !==
|
|
355
|
+
let typeString = `${TypeScriptTypeFromSQLType(e.Type).toLowerCase()}()` + (e.AllowsNull ? '.nullable()' : '');
|
|
356
|
+
if (e.ValueListTypeEnum !== EntityFieldValueListType.None && e.EntityFieldValues && e.EntityFieldValues.length > 0) {
|
|
363
357
|
// construct a typeString that is a union of the possible values
|
|
364
358
|
const quotes = e.NeedsQuotes ? "'" : '';
|
|
365
359
|
// Sort by Sequence to ensure consistent ordering (values are alphabetically ordered in DB)
|
|
366
360
|
const sortedValues = [...e.EntityFieldValues].sort((a, b) => a.Sequence - b.Sequence);
|
|
367
361
|
typeString = `union([${sortedValues.map((v) => `z.literal(${quotes}${v.Value}${quotes})`).join(', ')}])`;
|
|
368
|
-
if (e.ValueListTypeEnum ===
|
|
362
|
+
if (e.ValueListTypeEnum === EntityFieldValueListType.ListOrUserEntry) {
|
|
369
363
|
// special case becuase a user can enter whatever they want
|
|
370
|
-
typeString += `.or(z.${
|
|
364
|
+
typeString += `.or(z.${TypeScriptTypeFromSQLType(e.Type)}()) `;
|
|
371
365
|
}
|
|
372
366
|
// finally, add the null type if it allows null
|
|
373
367
|
if (e.AllowsNull) {
|
|
@@ -396,7 +390,7 @@ export type ${entity.ClassName}EntityType = z.infer<typeof ${schemaName}>;
|
|
|
396
390
|
let valueList = '';
|
|
397
391
|
if (entityField.ValueListType && entityField.ValueListType.length > 0 && entityField.ValueListType.trim().toLowerCase() !== 'none') {
|
|
398
392
|
// Sort by Sequence to ensure consistent ordering in comments
|
|
399
|
-
const sortedValues =
|
|
393
|
+
const sortedValues = sortBySequenceAndCreatedAt([...entityField.EntityFieldValues]);
|
|
400
394
|
let values = sortedValues.map((v) => `\n * * ${v.Value}${v.Description && v.Description.length > 0 ? ' - ' + v.Description : ''}`).join('');
|
|
401
395
|
valueList = `\n * * Value List Type: ${entityField.ValueListType}\n * * Possible Values ` + values;
|
|
402
396
|
}
|
|
@@ -405,5 +399,4 @@ export type ${entity.ClassName}EntityType = z.infer<typeof ${schemaName}>;
|
|
|
405
399
|
return result;
|
|
406
400
|
}
|
|
407
401
|
}
|
|
408
|
-
exports.EntitySubClassGeneratorBase = EntitySubClassGeneratorBase;
|
|
409
402
|
//# sourceMappingURL=entity_subclasses_codegen.js.map
|
|
@@ -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,20 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const core_1 = require("@memberjunction/core");
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const path_1 = __importDefault(require("path"));
|
|
10
|
-
const status_logging_1 = require("./status_logging");
|
|
11
|
-
const config_1 = require("../Config/config");
|
|
12
|
-
const util_1 = require("./util");
|
|
1
|
+
import { TypeScriptTypeFromSQLType, Metadata, TypeScriptTypeFromSQLTypeWithNullableOption, getGraphQLTypeNameBase } from '@memberjunction/core';
|
|
2
|
+
import fs from 'fs';
|
|
3
|
+
import path from 'path';
|
|
4
|
+
import { logError } from './status_logging.js';
|
|
5
|
+
import { mjCoreSchema } from '../Config/config.js';
|
|
6
|
+
import { makeDir, sortBySequenceAndCreatedAt } from './util.js';
|
|
13
7
|
/**
|
|
14
8
|
* 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
|
|
15
9
|
* so that your class is used.
|
|
16
10
|
*/
|
|
17
|
-
class GraphQLServerGeneratorBase {
|
|
11
|
+
export class GraphQLServerGeneratorBase {
|
|
12
|
+
constructor() {
|
|
13
|
+
this._graphQLTypeSuffix = '_';
|
|
14
|
+
}
|
|
18
15
|
generateGraphQLServerCode(entities, outputDirectory, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema) {
|
|
19
16
|
const isInternal = generatedEntitiesImportLibrary.trim().toLowerCase().startsWith('@memberjunction/');
|
|
20
17
|
let sRet = '';
|
|
@@ -23,16 +20,15 @@ class GraphQLServerGeneratorBase {
|
|
|
23
20
|
for (let i = 0; i < entities.length; ++i) {
|
|
24
21
|
sRet += this.generateServerEntityString(entities[i], false, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema);
|
|
25
22
|
}
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
makeDir(outputDirectory);
|
|
24
|
+
fs.writeFileSync(path.join(outputDirectory, 'generated.ts'), sRet);
|
|
28
25
|
return true;
|
|
29
26
|
}
|
|
30
27
|
catch (err) {
|
|
31
|
-
|
|
28
|
+
logError(err);
|
|
32
29
|
return false;
|
|
33
30
|
}
|
|
34
31
|
}
|
|
35
|
-
_graphQLTypeSuffix = '_';
|
|
36
32
|
/**
|
|
37
33
|
* The suffix to append to the GraphQL Type name, default is an underscore, override this property in your sub-class to change the suffix
|
|
38
34
|
*/
|
|
@@ -47,7 +43,7 @@ class GraphQLServerGeneratorBase {
|
|
|
47
43
|
* @returns The base GraphQL type name (without suffix)
|
|
48
44
|
*/
|
|
49
45
|
getServerGraphQLTypeNameBase(entity) {
|
|
50
|
-
return
|
|
46
|
+
return getGraphQLTypeNameBase(entity);
|
|
51
47
|
}
|
|
52
48
|
/**
|
|
53
49
|
* Generates the full server GraphQL type name for an entity (with suffix).
|
|
@@ -61,8 +57,8 @@ class GraphQLServerGeneratorBase {
|
|
|
61
57
|
const isInternal = generatedEntitiesImportLibrary.trim().toLowerCase() === '@memberjunction/core-entities';
|
|
62
58
|
let sEntityOutput = '';
|
|
63
59
|
try {
|
|
64
|
-
const md = new
|
|
65
|
-
const fields =
|
|
60
|
+
const md = new Metadata();
|
|
61
|
+
const fields = sortBySequenceAndCreatedAt(entity.Fields);
|
|
66
62
|
const serverGraphQLTypeName = this.getServerGraphQLTypeName(entity);
|
|
67
63
|
if (includeFileHeader)
|
|
68
64
|
sEntityOutput = this.generateEntitySpecificServerFileHeader(entity, generatedEntitiesImportLibrary, excludeRelatedEntitiesExternalToSchema);
|
|
@@ -72,7 +68,7 @@ class GraphQLServerGeneratorBase {
|
|
|
72
68
|
sEntityOutput += this.generateServerField(fields[j]);
|
|
73
69
|
}
|
|
74
70
|
// Sort related entities by Sequence, then by __mj_CreatedAt for consistent ordering
|
|
75
|
-
const sortedRelatedEntities =
|
|
71
|
+
const sortedRelatedEntities = sortBySequenceAndCreatedAt(entity.RelatedEntities);
|
|
76
72
|
for (let j = 0; j < sortedRelatedEntities.length; ++j) {
|
|
77
73
|
const r = sortedRelatedEntities[j];
|
|
78
74
|
const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
|
|
@@ -93,7 +89,7 @@ class GraphQLServerGeneratorBase {
|
|
|
93
89
|
sEntityOutput += this.generateServerGraphQLResolver(entity, serverGraphQLTypeName, excludeRelatedEntitiesExternalToSchema, isInternal);
|
|
94
90
|
}
|
|
95
91
|
catch (err) {
|
|
96
|
-
|
|
92
|
+
logError(err);
|
|
97
93
|
}
|
|
98
94
|
finally {
|
|
99
95
|
return sEntityOutput;
|
|
@@ -127,7 +123,7 @@ ${entities.length > 0 ? `import { ${entities.map((e) => `${e.ClassName}Entity`).
|
|
|
127
123
|
return sRet;
|
|
128
124
|
}
|
|
129
125
|
generateEntitySpecificServerFileHeader(entity, importLibrary, excludeRelatedEntitiesExternalToSchema) {
|
|
130
|
-
const md = new
|
|
126
|
+
const md = new Metadata();
|
|
131
127
|
let sRet = `/********************************************************************************
|
|
132
128
|
* ${entity.Name} TypeGraphQL Type Class Definition - AUTO GENERATED FILE
|
|
133
129
|
*
|
|
@@ -143,7 +139,7 @@ import { Field, ${entity._floatCount > 0 ? 'Float, ' : ''}Int, ObjectType, GetRe
|
|
|
143
139
|
import { ${`${entity.ClassName}Entity`} } from '${importLibrary}';
|
|
144
140
|
`;
|
|
145
141
|
// Sort related entities by Sequence, then by __mj_CreatedAt for consistent ordering
|
|
146
|
-
const sortedRelatedEntities =
|
|
142
|
+
const sortedRelatedEntities = sortBySequenceAndCreatedAt(entity.RelatedEntities);
|
|
147
143
|
for (let i = 0; i < sortedRelatedEntities.length; ++i) {
|
|
148
144
|
const r = sortedRelatedEntities[i];
|
|
149
145
|
const re = md.Entities.find((e) => e.Name.toLowerCase() == r.RelatedEntity.toLowerCase());
|
|
@@ -170,7 +166,7 @@ export class ${serverGraphQLTypeName} {`;
|
|
|
170
166
|
}
|
|
171
167
|
generateServerEntityFooter(entity) {
|
|
172
168
|
if (!entity)
|
|
173
|
-
|
|
169
|
+
logError('entity parameter must be passed in to generateServerEntityFooter()');
|
|
174
170
|
return `\n}`;
|
|
175
171
|
}
|
|
176
172
|
generateServerField(fieldInfo) {
|
|
@@ -184,7 +180,7 @@ export class ${serverGraphQLTypeName} {`;
|
|
|
184
180
|
fieldOptions += (fieldOptions.length > 0 ? ', ' : '') + `description: \`${fieldInfo.Description.replace(/`/g, "\\`")}\``;
|
|
185
181
|
return `
|
|
186
182
|
@Field(${fieldString}${fieldOptions.length > 0 ? (fieldString == '' ? '' : ', ') + `{${fieldOptions}}` : ''}) ${fieldInfo.Length > 0 && fieldString == '' /*string*/ ? '\n @MaxLength(' + fieldInfo.Length + ')' : ''}
|
|
187
|
-
${codeName}${fieldInfo.AllowsNull ? '?' : ''}: ${
|
|
183
|
+
${codeName}${fieldInfo.AllowsNull ? '?' : ''}: ${TypeScriptTypeFromSQLType(fieldInfo.Type)};
|
|
188
184
|
`;
|
|
189
185
|
}
|
|
190
186
|
getTypeGraphQLFieldString(fieldInfo) {
|
|
@@ -223,7 +219,7 @@ export class ${serverGraphQLTypeName} {`;
|
|
|
223
219
|
}
|
|
224
220
|
generateServerRelationship(md, r, isInternal) {
|
|
225
221
|
const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
|
|
226
|
-
const classPackagePrefix = re.SchemaName ===
|
|
222
|
+
const classPackagePrefix = re.SchemaName === mjCoreSchema && !isInternal ? 'mj_core_schema_server_object_types.' : '';
|
|
227
223
|
const relatedTypeName = this.getServerGraphQLTypeName(re);
|
|
228
224
|
const relatedClassName = classPackagePrefix + relatedTypeName;
|
|
229
225
|
// create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
|
|
@@ -244,7 +240,7 @@ export class ${serverGraphQLTypeName} {`;
|
|
|
244
240
|
}
|
|
245
241
|
}
|
|
246
242
|
generateServerGraphQLResolver(entity, serverGraphQLTypeName, excludeRelatedEntitiesExternalToSchema, isInternal) {
|
|
247
|
-
const md = new
|
|
243
|
+
const md = new Metadata();
|
|
248
244
|
const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
|
|
249
245
|
let sRet = '';
|
|
250
246
|
// we only generate resolvers for entities that have a primary key field
|
|
@@ -342,7 +338,7 @@ export class ${typeNameBase}Resolver${entity.CustomResolverAPI ? 'Base' : ''} ex
|
|
|
342
338
|
}
|
|
343
339
|
// now, generate the FieldResolvers for each of the one-to-many relationships
|
|
344
340
|
// Sort related entities by Sequence, then by __mj_CreatedAt for consistent ordering
|
|
345
|
-
const sortedRelatedEntities =
|
|
341
|
+
const sortedRelatedEntities = sortBySequenceAndCreatedAt(entity.RelatedEntities);
|
|
346
342
|
for (let i = 0; i < sortedRelatedEntities.length; i++) {
|
|
347
343
|
const r = sortedRelatedEntities[i];
|
|
348
344
|
const re = md.Entities.find((e) => e.Name.toLowerCase() === r.RelatedEntity.toLowerCase());
|
|
@@ -375,7 +371,7 @@ export class ${typeNameBase}Resolver${entity.CustomResolverAPI ? 'Base' : ''} ex
|
|
|
375
371
|
return sRet;
|
|
376
372
|
}
|
|
377
373
|
schemaName(entity) {
|
|
378
|
-
if (entity.SchemaName ===
|
|
374
|
+
if (entity.SchemaName === mjCoreSchema) {
|
|
379
375
|
return '${Metadata.Provider.ConfigData.MJCoreSchemaName}';
|
|
380
376
|
}
|
|
381
377
|
else
|
|
@@ -405,7 +401,7 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
405
401
|
return (includePrimaryKey && f.IsPrimaryKey) || !f.ReadOnly;
|
|
406
402
|
});
|
|
407
403
|
// sort the fields by sequence and created date for consistent ordering
|
|
408
|
-
const sortedFieldsToInclude =
|
|
404
|
+
const sortedFieldsToInclude = sortBySequenceAndCreatedAt(fieldsToInclude);
|
|
409
405
|
// now iterate through the filtered fields
|
|
410
406
|
for (const f of sortedFieldsToInclude) {
|
|
411
407
|
const sTypeGraphQLString = this.getTypeGraphQLFieldString(f);
|
|
@@ -421,7 +417,7 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
421
417
|
const sFullTypeGraphQLString = sTypeGraphQLString + (sNull === '' || sTypeGraphQLString === '' ? '' : ', ') + sNull;
|
|
422
418
|
sRet += `
|
|
423
419
|
@Field(${sFullTypeGraphQLString})
|
|
424
|
-
${codeName}${fieldUndefined ? '?' : ''}: ${
|
|
420
|
+
${codeName}${fieldUndefined ? '?' : ''}: ${TypeScriptTypeFromSQLTypeWithNullableOption(f.Type, f.AllowsNull)};
|
|
425
421
|
`;
|
|
426
422
|
}
|
|
427
423
|
// if the classPrefix is UPDATE, we need to add an optional OldValues array which will simply be an array of
|
|
@@ -503,7 +499,7 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
503
499
|
return sRet;
|
|
504
500
|
}
|
|
505
501
|
generateOneToManyFieldResolver(entity, r, isInternal) {
|
|
506
|
-
const md = new
|
|
502
|
+
const md = new Metadata();
|
|
507
503
|
const re = md.EntityByName(r.RelatedEntity);
|
|
508
504
|
const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
|
|
509
505
|
const instanceName = typeNameBase.toLowerCase() + this.GraphQLTypeSuffix;
|
|
@@ -517,17 +513,17 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
517
513
|
filterFieldName = field.CodeName;
|
|
518
514
|
}
|
|
519
515
|
else {
|
|
520
|
-
|
|
516
|
+
logError(`GenerateOneToManyFieldResolver: EntityRelationshipInfo Field ${r.EntityKeyField} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
|
|
521
517
|
return '';
|
|
522
518
|
}
|
|
523
519
|
}
|
|
524
520
|
const filterField = entity.Fields.find((f) => f.CodeName.toLowerCase() === filterFieldName.toLowerCase());
|
|
525
521
|
if (!filterField) {
|
|
526
|
-
|
|
522
|
+
logError(`GenerateOneToManyFieldResolver: Field ${filterFieldName} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
|
|
527
523
|
return '';
|
|
528
524
|
}
|
|
529
525
|
const quotes = filterField.NeedsQuotes ? "'" : '';
|
|
530
|
-
const serverPackagePrefix = re.SchemaName ===
|
|
526
|
+
const serverPackagePrefix = re.SchemaName === mjCoreSchema && !isInternal ? 'mj_core_schema_server_object_types.' : '';
|
|
531
527
|
const relatedTypeName = this.getServerGraphQLTypeName(re);
|
|
532
528
|
const serverClassName = serverPackagePrefix + relatedTypeName;
|
|
533
529
|
// create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
|
|
@@ -547,7 +543,7 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
547
543
|
`;
|
|
548
544
|
}
|
|
549
545
|
generateManyToManyFieldResolver(entity, r) {
|
|
550
|
-
const md = new
|
|
546
|
+
const md = new Metadata();
|
|
551
547
|
const re = md.Entities.find((e) => e.Name.toLowerCase() == r.RelatedEntity.toLowerCase());
|
|
552
548
|
const typeNameBase = this.getServerGraphQLTypeNameBase(entity);
|
|
553
549
|
const instanceName = typeNameBase.toLowerCase() + this.GraphQLTypeSuffix;
|
|
@@ -561,17 +557,17 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
561
557
|
filterFieldName = field.CodeName;
|
|
562
558
|
}
|
|
563
559
|
else {
|
|
564
|
-
|
|
560
|
+
logError(`GenerateManyToManyFieldResolver: EntityRelationshipInfo Field ${r.EntityKeyField} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
|
|
565
561
|
return '';
|
|
566
562
|
}
|
|
567
563
|
}
|
|
568
564
|
const filterField = entity.Fields.find((f) => f.CodeName.toLowerCase() === filterFieldName.toLowerCase());
|
|
569
565
|
if (!filterField) {
|
|
570
|
-
|
|
566
|
+
logError(`GenerateManyToManyFieldResolver: Field ${filterFieldName} not found in entity ${entity.Name} - check the relationship ${r.ID} and the EntityKeyField property`);
|
|
571
567
|
return '';
|
|
572
568
|
}
|
|
573
569
|
const quotes = filterField.NeedsQuotes ? "'" : '';
|
|
574
|
-
const serverPackagePrefix = re.SchemaName ===
|
|
570
|
+
const serverPackagePrefix = re.SchemaName === mjCoreSchema ? 'mj_core_schema_server_object_types.' : '';
|
|
575
571
|
const relatedTypeName = this.getServerGraphQLTypeName(re);
|
|
576
572
|
const serverClassName = serverPackagePrefix + relatedTypeName;
|
|
577
573
|
// create a code name that is the combination of the relatedentitycode name plus the relatedentityjoinfield that has spaces stripped
|
|
@@ -591,5 +587,4 @@ export class ${classPrefix}${typeNameBase}Input {`;
|
|
|
591
587
|
`;
|
|
592
588
|
}
|
|
593
589
|
}
|
|
594
|
-
exports.GraphQLServerGeneratorBase = GraphQLServerGeneratorBase;
|
|
595
590
|
//# sourceMappingURL=graphql_server_codegen.js.map
|