@memberjunction/codegen-lib 1.7.1 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/dist/Angular/angular-codegen.d.ts +63 -0
  2. package/dist/Angular/angular-codegen.d.ts.map +1 -0
  3. package/dist/{angular_client_codegen.js → Angular/angular-codegen.js} +153 -46
  4. package/dist/Angular/angular-codegen.js.map +1 -0
  5. package/dist/Angular/join-grid-related-entity-component.d.ts +24 -0
  6. package/dist/Angular/join-grid-related-entity-component.d.ts.map +1 -0
  7. package/dist/Angular/join-grid-related-entity-component.js +86 -0
  8. package/dist/Angular/join-grid-related-entity-component.js.map +1 -0
  9. package/dist/Angular/related-entity-components.d.ts +111 -0
  10. package/dist/Angular/related-entity-components.d.ts.map +1 -0
  11. package/dist/Angular/related-entity-components.js +82 -0
  12. package/dist/Angular/related-entity-components.js.map +1 -0
  13. package/dist/Angular/user-view-grid-related-entity-component.d.ts +11 -0
  14. package/dist/Angular/user-view-grid-related-entity-component.d.ts.map +1 -0
  15. package/dist/Angular/user-view-grid-related-entity-component.js +51 -0
  16. package/dist/Angular/user-view-grid-related-entity-component.js.map +1 -0
  17. package/dist/Config/config.d.ts.map +1 -0
  18. package/dist/{config.js → Config/config.js} +1 -1
  19. package/dist/Config/config.js.map +1 -0
  20. package/dist/{db.d.ts → Config/db-connection.d.ts} +1 -1
  21. package/dist/Config/db-connection.d.ts.map +1 -0
  22. package/dist/{db.js → Config/db-connection.js} +1 -1
  23. package/dist/Config/db-connection.js.map +1 -0
  24. package/dist/Database/dbSchema.d.ts.map +1 -0
  25. package/dist/{dbSchema.js → Database/dbSchema.js} +2 -2
  26. package/dist/Database/dbSchema.js.map +1 -0
  27. package/dist/{manageMetadata.d.ts → Database/manage-metadata.d.ts} +36 -3
  28. package/dist/Database/manage-metadata.d.ts.map +1 -0
  29. package/dist/{manageMetadata.js → Database/manage-metadata.js} +171 -18
  30. package/dist/Database/manage-metadata.js.map +1 -0
  31. package/dist/Database/sql.d.ts.map +1 -0
  32. package/dist/{sql.js → Database/sql.js} +5 -5
  33. package/dist/Database/sql.js.map +1 -0
  34. package/dist/Database/sql_codegen.d.ts.map +1 -0
  35. package/dist/{sql_codegen.js → Database/sql_codegen.js} +20 -30
  36. package/dist/Database/sql_codegen.js.map +1 -0
  37. package/dist/{advanced_generation.d.ts → Misc/advanced_generation.d.ts} +1 -1
  38. package/dist/Misc/advanced_generation.d.ts.map +1 -0
  39. package/dist/{advanced_generation.js → Misc/advanced_generation.js} +1 -1
  40. package/dist/Misc/advanced_generation.js.map +1 -0
  41. package/dist/Misc/createNewUser.d.ts +12 -0
  42. package/dist/Misc/createNewUser.d.ts.map +1 -0
  43. package/dist/Misc/createNewUser.js +113 -0
  44. package/dist/Misc/createNewUser.js.map +1 -0
  45. package/dist/Misc/logging.d.ts.map +1 -0
  46. package/dist/{logging.js → Misc/logging.js} +1 -1
  47. package/dist/Misc/logging.js.map +1 -0
  48. package/dist/{runCommand.d.ts → Misc/runCommand.d.ts} +1 -1
  49. package/dist/Misc/runCommand.d.ts.map +1 -0
  50. package/dist/Misc/runCommand.js.map +1 -0
  51. package/dist/Misc/util.d.ts.map +1 -0
  52. package/dist/Misc/util.js.map +1 -0
  53. package/dist/action_subclasses_codegen.js +1 -1
  54. package/dist/action_subclasses_codegen.js.map +1 -1
  55. package/dist/createNewUser.d.ts +1 -1
  56. package/dist/createNewUser.d.ts.map +1 -1
  57. package/dist/createNewUser.js +2 -2
  58. package/dist/createNewUser.js.map +1 -1
  59. package/dist/entity_subclasses_codegen.js +1 -1
  60. package/dist/entity_subclasses_codegen.js.map +1 -1
  61. package/dist/graphql_server_codegen.d.ts.map +1 -1
  62. package/dist/graphql_server_codegen.js +10 -6
  63. package/dist/graphql_server_codegen.js.map +1 -1
  64. package/dist/index.d.ts +14 -11
  65. package/dist/index.d.ts.map +1 -1
  66. package/dist/index.js +14 -11
  67. package/dist/index.js.map +1 -1
  68. package/dist/runCodeGen.js +21 -21
  69. package/dist/runCodeGen.js.map +1 -1
  70. package/package.json +7 -7
  71. package/dist/advanced_generation.d.ts.map +0 -1
  72. package/dist/advanced_generation.js.map +0 -1
  73. package/dist/angular_client_codegen.d.ts +0 -43
  74. package/dist/angular_client_codegen.d.ts.map +0 -1
  75. package/dist/angular_client_codegen.js.map +0 -1
  76. package/dist/config.d.ts.map +0 -1
  77. package/dist/config.js.map +0 -1
  78. package/dist/db.d.ts.map +0 -1
  79. package/dist/db.js.map +0 -1
  80. package/dist/dbSchema.d.ts.map +0 -1
  81. package/dist/dbSchema.js.map +0 -1
  82. package/dist/logging.d.ts.map +0 -1
  83. package/dist/logging.js.map +0 -1
  84. package/dist/manageMetadata.d.ts.map +0 -1
  85. package/dist/manageMetadata.js.map +0 -1
  86. package/dist/runCommand.d.ts.map +0 -1
  87. package/dist/runCommand.js.map +0 -1
  88. package/dist/sql.d.ts.map +0 -1
  89. package/dist/sql.js.map +0 -1
  90. package/dist/sql_codegen.d.ts.map +0 -1
  91. package/dist/sql_codegen.js.map +0 -1
  92. package/dist/util.d.ts.map +0 -1
  93. package/dist/util.js.map +0 -1
  94. /package/dist/{config.d.ts → Config/config.d.ts} +0 -0
  95. /package/dist/{dbSchema.d.ts → Database/dbSchema.d.ts} +0 -0
  96. /package/dist/{sql.d.ts → Database/sql.d.ts} +0 -0
  97. /package/dist/{sql_codegen.d.ts → Database/sql_codegen.d.ts} +0 -0
  98. /package/dist/{logging.d.ts → Misc/logging.d.ts} +0 -0
  99. /package/dist/{runCommand.js → Misc/runCommand.js} +0 -0
  100. /package/dist/{util.d.ts → Misc/util.d.ts} +0 -0
  101. /package/dist/{util.js → Misc/util.js} +0 -0
@@ -8,11 +8,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var ManageMetadataBase_1;
9
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.ManageMetadataBase = void 0;
11
- const config_1 = require("./config");
11
+ const config_1 = require("../Config/config");
12
12
  const core_1 = require("@memberjunction/core");
13
- const logging_1 = require("./logging");
13
+ const logging_1 = require("../Misc/logging");
14
14
  const sql_1 = require("./sql");
15
- const advanced_generation_1 = require("./advanced_generation");
15
+ const advanced_generation_1 = require("../Misc/advanced_generation");
16
16
  const global_1 = require("@memberjunction/global");
17
17
  /**
18
18
  * Base class for managing metadata within the CodeGen system. This class can be sub-classed to extend/override base class functionality. Make sure to use the RegisterClass decorator from the @memberjunction/global package
@@ -45,7 +45,7 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
45
45
  // many times the former versions of base views will NOT succesfully recompile, so don't consider that scenario to be a
46
46
  // failure for this entire function
47
47
  }
48
- if (!await this.manageEntityFields(ds, excludeSchemas)) {
48
+ if (!await this.manageEntityFields(ds, excludeSchemas, false)) {
49
49
  (0, logging_1.logError)('Error managing entity fields');
50
50
  bSuccess = false;
51
51
  }
@@ -187,6 +187,13 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
187
187
  EntityID NOT IN (SELECT ID FROM ${(0, config_1.mj_core_schema)()}.Entity WHERE SchemaName IN (${excludeSchemas.map(s => `'${s}'`).join(',')}))
188
188
  ORDER BY RelatedEntityID`;
189
189
  const entityFields = await ds.query(sSQL);
190
+ // Get the relationship counts for each entity
191
+ const sSQLRelationshipCount = `SELECT EntityID, COUNT(*) AS Count FROM ${(0, config_1.mj_core_schema)()}.EntityRelationship GROUP BY EntityID`;
192
+ const relationshipCounts = await ds.query(sSQLRelationshipCount);
193
+ const relationshipCountMap = new Map();
194
+ for (const rc of relationshipCounts) {
195
+ relationshipCountMap.set(rc.EntityID, rc.Count);
196
+ }
190
197
  // now loop through all of our fkey fields
191
198
  for (const f of entityFields) {
192
199
  // for each field determine if an existing relationship exists, if not, create it
@@ -195,8 +202,13 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
195
202
  if (relationships && relationships.length === 0) {
196
203
  // no relationship exists, so create it
197
204
  const e = md.Entities.find(e => e.ID === f.EntityID);
198
- const sSQLInsert = `INSERT INTO ${(0, config_1.mj_core_schema)()}.EntityRelationship (EntityID, RelatedEntityID, RelatedEntityJoinField, Type, BundleInAPI, DisplayInForm, DisplayName)
199
- VALUES (${f.RelatedEntityID}, ${f.EntityID}, '${f.Name}', 'One To Many', 1, 1, '${e.Name}')`;
205
+ // calculate the sequence by getting the count of existing relationships for the entity and adding 1 and then increment the count for future inserts in this loop
206
+ const relCount = relationshipCountMap.get(f.EntityID) ? relationshipCountMap.get(f.EntityID) : 0;
207
+ const sequence = relCount + 1;
208
+ const sSQLInsert = `INSERT INTO ${(0, config_1.mj_core_schema)()}.EntityRelationship (EntityID, RelatedEntityID, RelatedEntityJoinField, Type, BundleInAPI, DisplayInForm, DisplayName, Sequence)
209
+ VALUES (${f.RelatedEntityID}, ${f.EntityID}, '${f.Name}', 'One To Many', 1, 1, '${e.Name}', ${sequence})`;
210
+ // now update the map for the relationship count
211
+ relationshipCountMap.set(f.EntityID, sequence);
200
212
  await ds.query(sSQLInsert);
201
213
  }
202
214
  }
@@ -216,7 +228,7 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
216
228
  * @returns
217
229
  */
218
230
  async manageManyToManyEntityRelationships(ds, excludeSchemas) {
219
- return true; // not implemented for now
231
+ return true; // not implemented for now, require the admin to manually create these relationships
220
232
  }
221
233
  /**
222
234
  * Manages the creation, updating and deletion of entity field records in the metadata based on the database schema.
@@ -224,14 +236,20 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
224
236
  * @param excludeSchemas
225
237
  * @returns
226
238
  */
227
- async manageEntityFields(ds, excludeSchemas) {
239
+ async manageEntityFields(ds, excludeSchemas, skipCreatedAtUpdatedAtFieldValidation) {
228
240
  let bSuccess = true;
229
241
  const startTime = new Date();
242
+ if (!skipCreatedAtUpdatedAtFieldValidation && !await this.ensureCreatedAtUpdatedAtFieldsExist(ds, excludeSchemas)) {
243
+ (0, logging_1.logError)(`Error ensuring ${core_1.EntityInfo.CreatedAtFieldName} and ${core_1.EntityInfo.UpdatedAtFieldName} fields exist`);
244
+ bSuccess = false;
245
+ }
246
+ (0, logging_1.logStatus)(` Ensured ${core_1.EntityInfo.CreatedAtFieldName}/${core_1.EntityInfo.UpdatedAtFieldName} fields exist in ${(new Date().getTime() - startTime.getTime()) / 1000} seconds`);
247
+ const step1StartTime = new Date();
230
248
  if (!await this.deleteUnneededEntityFields(ds, excludeSchemas)) {
231
249
  (0, logging_1.logError)('Error deleting unneeded entity fields');
232
250
  bSuccess = false;
233
251
  }
234
- (0, logging_1.logStatus)(` Deleted unneeded entity fields in ${(new Date().getTime() - startTime.getTime()) / 1000} seconds`);
252
+ (0, logging_1.logStatus)(` Deleted unneeded entity fields in ${(new Date().getTime() - step1StartTime.getTime()) / 1000} seconds`);
235
253
  const step2StartTime = new Date();
236
254
  if (!await this.updateExistingEntityFieldsFromSchema(ds, excludeSchemas)) {
237
255
  (0, logging_1.logError)('Error updating existing entity fields from schema');
@@ -265,6 +283,126 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
265
283
  (0, logging_1.logStatus)(` Total time to manage entity fields: ${(new Date().getTime() - startTime.getTime()) / 1000} seconds`);
266
284
  return bSuccess;
267
285
  }
286
+ /**
287
+ * This method ensures that the __mj_CreatedAt and __mj_UpdatedAt fields exist in each entity that has TrackRecordChanges set to true. If the fields do not exist, they are created.
288
+ * If the fields exist but have incorrect default values, the default values are updated. The default value that is to be used for these special fields is GETUTCDATE() which is the
289
+ * UTC date and time. This method is called as part of the manageEntityFields method and is not intended to be called directly.
290
+ * @param ds
291
+ */
292
+ async ensureCreatedAtUpdatedAtFieldsExist(ds, excludeSchemas) {
293
+ try {
294
+ const sqlEntities = `SELECT * FROM [${(0, config_1.mj_core_schema)()}].vwEntities WHERE TrackRecordChanges = 1 AND SchemaName NOT IN (${excludeSchemas.map(s => `'${s}'`).join(',')})`;
295
+ const entities = await ds.query(sqlEntities);
296
+ let overallResult = true;
297
+ if (entities.length > 0) {
298
+ // we have 1+ entities that need the special fields, so loop through them and ensure the fields exist
299
+ // validate that each entity has two specific fields, the first one is __mj_CreatedAt and the second one is __mj_UpdatedAt
300
+ // both are DATETIME fields, NOT NULL and both are fields that have a DEFAULT value of GETUTCDATE().
301
+ for (const e of entities) {
302
+ const sqlCreatedUpdated = `SELECT *
303
+ FROM INFORMATION_SCHEMA.COLUMNS
304
+ WHERE
305
+ TABLE_SCHEMA='${e.SchemaName}'
306
+ AND TABLE_NAME = '${e.BaseTable}'
307
+ AND COLUMN_NAME IN ('${core_1.EntityInfo.CreatedAtFieldName}','${core_1.EntityInfo.UpdatedAtFieldName}')`;
308
+ const result = await ds.query(sqlCreatedUpdated);
309
+ // result has both created at and updated at fields, so filter on the result for each and do what we need to based on that
310
+ const createdAt = result.find(r => r.COLUMN_NAME.trim().toLowerCase() === core_1.EntityInfo.CreatedAtFieldName.trim().toLowerCase());
311
+ const updatedAt = result.find(r => r.COLUMN_NAME.trim().toLowerCase() === core_1.EntityInfo.UpdatedAtFieldName.trim().toLowerCase());
312
+ // now, if we have the fields, we need to check the default value and update if necessary
313
+ const fieldResult = await this.ensureSpecialDateFieldExistsAndHasCorrectDefaultValue(ds, e, core_1.EntityInfo.CreatedAtFieldName, createdAt) &&
314
+ await this.ensureSpecialDateFieldExistsAndHasCorrectDefaultValue(ds, e, core_1.EntityInfo.UpdatedAtFieldName, updatedAt);
315
+ overallResult = overallResult && fieldResult;
316
+ }
317
+ }
318
+ return overallResult;
319
+ }
320
+ catch (e) {
321
+ (0, logging_1.logError)(e);
322
+ return false;
323
+ }
324
+ }
325
+ /**
326
+ * This method handles the validation of the existence of the specified special date field and if it does exist it makes sure the default value is set correctly, if it doesn't exist
327
+ * it makes sure that it is created. This method is called as part of the ensureCreatedAtUpdatedAtFieldsExist method and is not intended to be called directly.
328
+ * @param entity
329
+ * @param fieldName
330
+ * @param currentFieldData
331
+ */
332
+ async ensureSpecialDateFieldExistsAndHasCorrectDefaultValue(ds, entity, fieldName, currentFieldData) {
333
+ if (!currentFieldData) {
334
+ // field doesn't exist, let's create it
335
+ const sql = `ALTER TABLE [${entity.SchemaName}].[${entity.BaseTable}] ADD ${fieldName} DATETIMEOFFSET NOT NULL DEFAULT GETUTCDATE()`;
336
+ await ds.query(sql);
337
+ }
338
+ else {
339
+ // field does exist, let's first check the data type/nullability
340
+ if (currentFieldData.DATA_TYPE.trim().toLowerCase() !== 'datetimeoffset' || currentFieldData.IS_NULLABLE.trim().toLowerCase() !== 'no') {
341
+ // the column is the wrong type, so let's update it, first removing the default constraint, then
342
+ // modifying the column, and finally adding the default constraint back in.
343
+ await this.dropExistingDefaultConstraint(ds, entity, fieldName);
344
+ const sql = `ALTER TABLE [${entity.SchemaName}].[${entity.BaseTable}] ALTER COLUMN ${fieldName} DATETIMEOFFSET NOT NULL`;
345
+ await ds.query(sql);
346
+ await this.createDefaultConstraintForSpecialDateField(ds, entity, fieldName);
347
+ }
348
+ else {
349
+ // if we get here that means the column is the correct type and nullability, so now let's check the default value
350
+ const defaultValue = currentFieldData.COLUMN_DEFAULT;
351
+ const realDefaultValue = (0, core_1.ExtractActualDefaultValue)(defaultValue);
352
+ if (realDefaultValue.trim().toLowerCase() !== 'getutcdate()') {
353
+ await this.dropAndCreateDefaultConstraintForSpecialDateField(ds, entity, fieldName);
354
+ }
355
+ }
356
+ }
357
+ // if we get here, we're good
358
+ return true;
359
+ }
360
+ /**
361
+ * Creates the default constraint for a special date field. This method is called as part of the ensureSpecialDateFieldExistsAndHasCorrectDefaultValue method and is not intended to be called directly.
362
+ */
363
+ async createDefaultConstraintForSpecialDateField(ds, entity, fieldName) {
364
+ const sqlAddDefaultConstraint = `ALTER TABLE [${entity.SchemaName}].[${entity.BaseTable}] ADD CONSTRAINT DF_${entity.SchemaName}_${(0, core_1.CodeNameFromString)(entity.BaseTable)}_${fieldName} DEFAULT GETUTCDATE() FOR [${fieldName}]`;
365
+ await ds.query(sqlAddDefaultConstraint);
366
+ }
367
+ /**
368
+ * Drops and recreates the default constraint for a special date field. This method is called as part of the ensureSpecialDateFieldExistsAndHasCorrectDefaultValue method and is not intended to be called directly.
369
+ * @param ds
370
+ * @param entity
371
+ * @param fieldName
372
+ */
373
+ async dropAndCreateDefaultConstraintForSpecialDateField(ds, entity, fieldName) {
374
+ // default value is not correct, so let's update it
375
+ await this.dropExistingDefaultConstraint(ds, entity, fieldName);
376
+ await this.createDefaultConstraintForSpecialDateField(ds, entity, fieldName);
377
+ }
378
+ /**
379
+ * Drops an existing default constraint from a given column within a given entity, if it exists
380
+ * @param ds
381
+ * @param entity
382
+ * @param fieldName
383
+ */
384
+ async dropExistingDefaultConstraint(ds, entity, fieldName) {
385
+ const sqlDropDefaultConstraint = `
386
+ DECLARE @constraintName NVARCHAR(255);
387
+
388
+ -- Get the default constraint name
389
+ SELECT @constraintName = d.name
390
+ FROM sys.tables t
391
+ JOIN sys.schemas s ON t.schema_id = s.schema_id
392
+ JOIN sys.columns c ON t.object_id = c.object_id
393
+ JOIN sys.default_constraints d ON c.default_object_id = d.object_id
394
+ WHERE s.name = '${entity.SchemaName}'
395
+ AND t.name = '${entity.BaseTable}'
396
+ AND c.name = '${fieldName}';
397
+
398
+ -- Drop the default constraint if it exists
399
+ IF @constraintName IS NOT NULL
400
+ BEGIN
401
+ EXEC('ALTER TABLE [${entity.SchemaName}].[${entity.BaseTable}] DROP CONSTRAINT ' + @constraintName);
402
+ END
403
+ `;
404
+ await ds.query(sqlDropDefaultConstraint);
405
+ }
268
406
  /**
269
407
  * This method generates descriptions for entities in teh system where there is no existing description. This is an experimental feature and is done using AI. In order for it
270
408
  * to be invoked, the EntityDescriptions feature must be enabled in the Advanced Generation configuration.
@@ -353,7 +491,7 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
353
491
  for (const field of fields) {
354
492
  const sDisplayName = this.stripTrailingChars(this.convertCamelCaseToHaveSpaces(field.Name), 'ID', true).trim();
355
493
  if (sDisplayName.length > 0 && sDisplayName.toLowerCase().trim() !== field.Name.toLowerCase().trim()) {
356
- const sSQL = `UPDATE [${(0, config_1.mj_core_schema)()}].EntityField SET UpdatedAt=GETDATE(), DisplayName = '${sDisplayName}' WHERE ID = ${field.ID}`;
494
+ const sSQL = `UPDATE [${(0, config_1.mj_core_schema)()}].EntityField SET ${core_1.EntityInfo.UpdatedAtFieldName}=GETUTCDATE(), DisplayName = '${sDisplayName}' WHERE ID = ${field.ID}`;
357
495
  await ds.query(sSQL);
358
496
  }
359
497
  }
@@ -400,8 +538,9 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
400
538
  sf.AllowsNull,
401
539
  sf.DefaultValue,
402
540
  sf.AutoIncrement,
403
- IIF(sf.IsVirtual = 1, 0, IIF(sf.FieldName = 'CreatedAt' OR sf.FieldName = 'UpdatedAt' OR sf.FieldName = 'ID', 0, 1)) AllowUpdateAPI,
541
+ IIF(sf.IsVirtual = 1, 0, IIF(sf.FieldName = '${core_1.EntityInfo.CreatedAtFieldName}' OR sf.FieldName = '${core_1.EntityInfo.UpdatedAtFieldName}' OR sf.FieldName = 'ID', 0, 1)) AllowUpdateAPI,
404
542
  sf.IsVirtual,
543
+ e.RelationshipDefaultDisplayType,
405
544
  re.ID RelatedEntityID,
406
545
  fk.referenced_column RelatedEntityFieldName,
407
546
  IIF(sf.FieldName = 'Name', 1, 0) IsNameField,
@@ -468,6 +607,18 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
468
607
  n.Sequence <= config_1.configInfo.newEntityDefaults?.IncludeFirstNFieldsAsDefaultInView ||
469
608
  n.IsNameField ? true : false);
470
609
  const escapedDescription = n.Description ? `'${n.Description.replace(/'/g, "''")}'` : 'NULL';
610
+ let fieldDisplayName;
611
+ switch (n.FieldName.trim().toLowerCase()) {
612
+ case "__mj_createdat":
613
+ fieldDisplayName = "Created At";
614
+ break;
615
+ case "__mj_updatedat":
616
+ fieldDisplayName = "Updated At";
617
+ break;
618
+ default:
619
+ fieldDisplayName = this.convertCamelCaseToHaveSpaces(n.FieldName).trim();
620
+ break;
621
+ }
471
622
  return `
472
623
  INSERT INTO [${(0, config_1.mj_core_schema)()}].EntityField
473
624
  (
@@ -492,14 +643,15 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
492
643
  IncludeRelatedEntityNameFieldInBaseView,
493
644
  DefaultInView,
494
645
  IsPrimaryKey,
495
- IsUnique
646
+ IsUnique,
647
+ RelatedEntityDisplayType
496
648
  )
497
649
  VALUES
498
650
  (
499
651
  ${n.EntityID},
500
652
  ${n.Sequence},
501
653
  '${n.FieldName}',
502
- '${this.convertCamelCaseToHaveSpaces(n.FieldName).trim()}',
654
+ '${fieldDisplayName}',
503
655
  ${escapedDescription},
504
656
  '${n.Type}',
505
657
  ${n.Length},
@@ -517,7 +669,8 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
517
669
  ${n.RelatedEntityID && n.RelatedEntityID > 0 && n.Type.trim().toLowerCase() === 'int' ? 1 : 0},
518
670
  ${bDefaultInView ? 1 : 0},
519
671
  ${n.IsPrimaryKey},
520
- ${n.IsUnique}
672
+ ${n.IsUnique},
673
+ '${n.RelationshipDefaultDisplayType}'
521
674
  )`;
522
675
  }
523
676
  /**
@@ -629,7 +782,7 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
629
782
  // now, for each of the constraints we get back here, loop through and evaluate if they're simple and if they're simple, parse and sync with entity field values for that field
630
783
  for (const r of result) {
631
784
  if (r.ConstraintDefinition && r.ConstraintDefinition.length > 0) {
632
- const parsedValues = this.parseCheckConstraintValues(r.ConstraintDefinition, r.ColumnName);
785
+ const parsedValues = this.parseCheckConstraintValues(r.ConstraintDefinition, r.ColumnName, r.EntityName);
633
786
  if (parsedValues) {
634
787
  // flip the order of parsedValues because they come out in reverse order from SQL Server
635
788
  parsedValues.reverse();
@@ -696,14 +849,14 @@ let ManageMetadataBase = ManageMetadataBase_1 = class ManageMetadataBase {
696
849
  return false;
697
850
  }
698
851
  }
699
- parseCheckConstraintValues(constraintDefinition, fieldName) {
852
+ parseCheckConstraintValues(constraintDefinition, fieldName, entityName) {
700
853
  // This regex checks for the overall structure including field name and 'OR' sequences
701
854
  // an example of a valid constraint definition would be: ([FieldName]='Value1' OR [FieldName]='Value2' OR [FieldName]='Value3')
702
855
  // like: ([AutoRunIntervalUnits]='Years' OR [AutoRunIntervalUnits]='Months' OR [AutoRunIntervalUnits]='Weeks' OR [AutoRunIntervalUnits]='Days' OR [AutoRunIntervalUnits]='Hours' OR [AutoRunIntervalUnits]='Minutes')
703
856
  // Note: Assuming fieldName does not contain regex special characters; otherwise, it needs to be escaped as well.
704
857
  const structureRegex = new RegExp(`^\\(\\[${fieldName}\\]='[^']+'(?: OR \\[${fieldName}\\]='[^']+?')+\\)$`);
705
858
  if (!structureRegex.test(constraintDefinition)) {
706
- console.log('Constraint does not match the simple OR condition pattern or field name does not match.');
859
+ (0, logging_1.logWarning)(` [${entityName}].[${fieldName}] constraint does not match the simple OR condition pattern or field name does not match: ${constraintDefinition}`);
707
860
  return null;
708
861
  }
709
862
  // Regular expression to match the values within the single quotes specifically for the field
@@ -1045,4 +1198,4 @@ ManageMetadataBase._newEntityList = [];
1045
1198
  exports.ManageMetadataBase = ManageMetadataBase = ManageMetadataBase_1 = __decorate([
1046
1199
  (0, global_1.RegisterClass)(ManageMetadataBase)
1047
1200
  ], ManageMetadataBase);
1048
- //# sourceMappingURL=manageMetadata.js.map
1201
+ //# sourceMappingURL=manage-metadata.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage-metadata.js","sourceRoot":"","sources":["../../src/Database/manage-metadata.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.d.ts","sourceRoot":"","sources":["../../src/Database/sql.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAMrC;;GAEG;AACH,qBACa,cAAc;IAC3B;;;;;;;;;;;;OAYG;IACI,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,2BAA2B,EACxC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,OAAO,EACtB,WAAW,EAAE,OAAO,GAAG,MAAM;IAKpD,qBAAqB,CAAC,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B3G,uBAAuB,CAAC,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAsBxG,cAAc,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtF,gBAAgB,CAAC,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CA6BvG"}
@@ -10,12 +10,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SQLUtilityBase = void 0;
13
- const logging_1 = require("./logging");
13
+ const logging_1 = require("../Misc/logging");
14
14
  const fs_1 = __importDefault(require("fs"));
15
15
  const path_1 = __importDefault(require("path"));
16
16
  const core_1 = require("@memberjunction/core");
17
- const config_1 = require("./config");
18
- const manageMetadata_1 = require("./manageMetadata");
17
+ const config_1 = require("../Config/config");
18
+ const manage_metadata_1 = require("../Database/manage-metadata");
19
19
  const global_1 = require("@memberjunction/global");
20
20
  /**
21
21
  * Base class for SQL Utility functions, you can sub-class this class to create your own SQL Utility functions/override existing functionality.
@@ -47,7 +47,7 @@ let SQLUtilityBase = class SQLUtilityBase {
47
47
  if (e.BaseViewGenerated && // only do this for entities that have a base view generated
48
48
  e.IncludeInAPI && // only do this for entities that are included in the API
49
49
  !e.VirtualEntity && // do not include virtual entities
50
- !manageMetadata_1.ManageMetadataBase.newEntityList.includes(e.Name)) {
50
+ !manage_metadata_1.ManageMetadataBase.newEntityList.includes(e.Name)) {
51
51
  // only do this if base view generated and for NON-virtual entities,
52
52
  // custom base views should be defined in the BEFORE SQL Scripts
53
53
  // and NOT for newly created entities
@@ -58,7 +58,7 @@ let SQLUtilityBase = class SQLUtilityBase {
58
58
  if (!bSuccess) {
59
59
  // temp thing for debug, let's dump the new entity list to see what's up
60
60
  console.warn('New Entity List:');
61
- console.warn(' ' + manageMetadata_1.ManageMetadataBase.newEntityList.join('\n '));
61
+ console.warn(' ' + manage_metadata_1.ManageMetadataBase.newEntityList.join('\n '));
62
62
  }
63
63
  return bSuccess;
64
64
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../src/Database/sql.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sql_codegen.d.ts","sourceRoot":"","sources":["../../src/Database/sql_codegen.ts"],"names":[],"mappings":"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"}
@@ -34,14 +34,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
34
34
  Object.defineProperty(exports, "__esModule", { value: true });
35
35
  exports.SQLCodeGenBase = exports.SPType = void 0;
36
36
  const core_1 = require("@memberjunction/core");
37
- const logging_1 = require("./logging");
37
+ const logging_1 = require("../Misc/logging");
38
38
  const fs = __importStar(require("fs"));
39
39
  const path_1 = __importDefault(require("path"));
40
40
  const sql_1 = require("./sql");
41
- const config_1 = require("./config");
42
- const manageMetadata_1 = require("./manageMetadata");
41
+ const config_1 = require("../Config/config");
42
+ const manage_metadata_1 = require("./manage-metadata");
43
43
  const sqlserver_dataprovider_1 = require("@memberjunction/sqlserver-dataprovider");
44
- const util_1 = require("./util");
44
+ const util_1 = require("../Misc/util");
45
45
  const global_1 = require("@memberjunction/global");
46
46
  exports.SPType = {
47
47
  Create: 'Create',
@@ -88,9 +88,9 @@ let SQLCodeGenBase = class SQLCodeGenBase {
88
88
  (0, logging_1.logStatus)(` Time to Generate/Execute Entity SQL: ${(new Date().getTime() - step2StartTime.getTime()) / 1000} seconds`);
89
89
  // now that we've generated the SQL, let's create a combined file in each schema sub-directory for convenience for a DBA
90
90
  this.createCombinedEntitySQLFiles(directory, baselineEntities);
91
- const manageMD = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(manageMetadata_1.ManageMetadataBase);
91
+ const manageMD = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(manage_metadata_1.ManageMetadataBase);
92
92
  // STEP 3 - re-run the process to manage entity fields since the Step 1 and 2 above might have resulted in differences in base view columns compared to what we had at first
93
- if (!await manageMD.manageEntityFields(ds, config_1.configInfo.excludeSchemas)) {
93
+ if (!await manageMD.manageEntityFields(ds, config_1.configInfo.excludeSchemas, true)) {
94
94
  (0, logging_1.logError)('Error managing entity fields');
95
95
  return false;
96
96
  }
@@ -596,7 +596,7 @@ GO${permissions}
596
596
  async generateBaseViewRelatedFieldsString(ds, entityFields) {
597
597
  let sOutput = '';
598
598
  let fieldCount = 0;
599
- const manageMD = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(manageMetadata_1.ManageMetadataBase);
599
+ const manageMD = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(manage_metadata_1.ManageMetadataBase);
600
600
  for (let i = 0; i < entityFields.length; i++) {
601
601
  const ef = entityFields[i];
602
602
  if (ef.RelatedEntityID && ef.IncludeRelatedEntityNameFieldInBaseView) {
@@ -727,14 +727,16 @@ GO${permissions}
727
727
  `;
728
728
  }
729
729
  generateUpdatedAtTrigger(entity) {
730
- const updatedAtField = entity.Fields.find(f => f.Name.toLowerCase().trim() === 'updatedat');
730
+ const updatedAtField = entity.Fields.find(f => f.Name.toLowerCase().trim() === core_1.EntityInfo.UpdatedAtFieldName.toLowerCase().trim());
731
731
  if (!updatedAtField)
732
732
  return '';
733
733
  const triggerStatement = `
734
734
  ------------------------------------------------------------
735
- ----- TRIGGER FOR UpdatedAt field for the ${entity.BaseTable} table
735
+ ----- TRIGGER FOR ${core_1.EntityInfo.UpdatedAtFieldName} field for the ${entity.BaseTable} table
736
736
  ------------------------------------------------------------
737
- CREATE OR ALTER TRIGGER trgUpdate${entity.ClassName}
737
+ DROP TRIGGER IF EXISTS [${entity.SchemaName}].trgUpdate${entity.ClassName}
738
+ GO
739
+ CREATE TRIGGER [${entity.SchemaName}].trgUpdate${entity.ClassName}
738
740
  ON [${entity.SchemaName}].[${entity.BaseTable}]
739
741
  AFTER UPDATE
740
742
  AS
@@ -743,7 +745,7 @@ BEGIN
743
745
  UPDATE
744
746
  [${entity.SchemaName}].[${entity.BaseTable}]
745
747
  SET
746
- UpdatedAt = GETDATE()
748
+ ${core_1.EntityInfo.UpdatedAtFieldName} = GETUTCDATE()
747
749
  FROM
748
750
  [${entity.SchemaName}].[${entity.BaseTable}] AS _organicTable
749
751
  INNER JOIN
@@ -757,7 +759,7 @@ GO`;
757
759
  const spName = entity.spUpdate ? entity.spUpdate : `spUpdate${entity.ClassName}`;
758
760
  const efParamString = this.createEntityFieldsParamString(entity.Fields, true);
759
761
  const permissions = this.generateSPPermissions(entity, spName, exports.SPType.Update);
760
- const hasUpdatedAtField = entity.Fields.find(f => f.Name.toLowerCase().trim() === 'updatedat') !== undefined;
762
+ const hasUpdatedAtField = entity.Fields.find(f => f.Name.toLowerCase().trim() === core_1.EntityInfo.UpdatedAtFieldName.trim().toLowerCase()) !== undefined;
761
763
  const updatedAtTrigger = hasUpdatedAtField ? this.generateUpdatedAtTrigger(entity) : '';
762
764
  let selectInsertedRecord = `SELECT
763
765
  *
@@ -802,8 +804,7 @@ ${updatedAtTrigger}
802
804
  if ((ef.AllowUpdateAPI || (ef.IsPrimaryKey && isUpdate)) &&
803
805
  !ef.IsVirtual &&
804
806
  (!ef.IsPrimaryKey || !autoGeneratedPrimaryKey || isUpdate) &&
805
- ef.Name.toLowerCase().trim() !== 'updatedat' &&
806
- ef.Name.toLowerCase().trim() !== 'createdat') {
807
+ !ef.IsSpecialDateField) {
807
808
  if (!isFirst)
808
809
  sOutput += ',\n ';
809
810
  else
@@ -827,9 +828,8 @@ ${updatedAtTrigger}
827
828
  sOutput += ',\n ';
828
829
  else
829
830
  isFirst = false;
830
- if (prefix !== '' && (ef.Name.toLowerCase().trim() === 'updatedat' ||
831
- ef.Name.toLowerCase().trim() === 'createdat'))
832
- sOutput += `GETDATE()`;
831
+ if (prefix !== '' && ef.IsSpecialDateField)
832
+ sOutput += `GETUTCDATE()`;
833
833
  else {
834
834
  let sVal = prefix + (prefix !== '' ? ef.CodeName : ef.Name); // if we have a prefix, then we need to use the CodeName, otherwise we use the actual field name
835
835
  if (!prefix || prefix.length === 0)
@@ -845,11 +845,10 @@ ${updatedAtTrigger}
845
845
  for (let i = 0; i < entityFields.length; ++i) {
846
846
  const ef = entityFields[i];
847
847
  if (!ef.IsPrimaryKey &&
848
- ef.IsVirtual === false &&
848
+ !ef.IsVirtual &&
849
849
  ef.AllowUpdateAPI &&
850
- ef.AutoIncrement === false &&
851
- ef.Name.toLowerCase().trim() !== 'createdat' &&
852
- ef.Name.toLowerCase().trim() !== 'updatedat' &&
850
+ !ef.AutoIncrement &&
851
+ !ef.IsSpecialDateField &&
853
852
  ef.Type.toLowerCase().trim() !== 'uniqueidentifier') {
854
853
  if (!isFirst)
855
854
  sOutput += ',\n ';
@@ -857,15 +856,6 @@ ${updatedAtTrigger}
857
856
  isFirst = false;
858
857
  sOutput += `[${ef.Name}] = @${ef.CodeName}`; // always put field names in brackets for field names that have spaces or use reserved words. Also, we use CodeName for the param name, which is the field name unless it has spaces
859
858
  }
860
- // AN - 11 JUNE 2024
861
- // below is commented out because we now do this via TRIGGER - see calling code for this function for more info
862
- // else if (ef.Name.trim().toLowerCase() === 'updatedat') {
863
- // if (!isFirst)
864
- // sOutput += ',\n '
865
- // else
866
- // isFirst = false;
867
- // sOutput += `[${ef.Name}] = GETDATE()`;
868
- // }
869
859
  }
870
860
  return sOutput;
871
861
  }