@memberjunction/codegen-lib 2.23.2 → 2.24.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.
@@ -80,13 +80,31 @@ let SQLCodeGenBase = class SQLCodeGenBase {
80
80
  this.deleteGeneratedEntityFiles(directory, baselineEntities);
81
81
  // STEP 2(b) - generate all the SQL files and execute them
82
82
  const step2StartTime = new Date();
83
- const genResult = await this.generateAndExecuteEntitySQLToSeparateFiles(ds, includedEntities, directory, false, true, true, 5, true); // enable sql logging for NEW entities....
83
+ const genResult = await this.generateAndExecuteEntitySQLToSeparateFiles({
84
+ ds,
85
+ entities: includedEntities,
86
+ directory,
87
+ onlyPermissions: false,
88
+ skipExecution: true, // skip execution because we execute it all in a giant batch below
89
+ writeFiles: true,
90
+ batchSize: 5,
91
+ enableSQLLoggingForNewOrModifiedEntities: true
92
+ }); // enable sql logging for NEW entities....
84
93
  if (!genResult.Success) {
85
94
  (0, status_logging_1.logError)('Error generating all entities SQL to separate files');
86
95
  return false;
87
96
  }
88
97
  // STEP 2(c) - for the excludedEntities, while we don't want to generate SQL, we do want to generate the permissions files for them
89
- const genResult2 = await this.generateAndExecuteEntitySQLToSeparateFiles(ds, excludedEntities, directory, true);
98
+ const genResult2 = await this.generateAndExecuteEntitySQLToSeparateFiles({
99
+ ds,
100
+ entities: excludedEntities,
101
+ directory,
102
+ onlyPermissions: true,
103
+ skipExecution: true, // skip execution because we execute it all in a giant batch below
104
+ batchSize: 5,
105
+ writeFiles: true,
106
+ enableSQLLoggingForNewOrModifiedEntities: false /*don't log this stuff, it is just permissions for excluded entities*/
107
+ });
90
108
  if (!genResult2.Success) {
91
109
  (0, status_logging_1.logError)('Error generating permissions SQL for excluded entities to separate files');
92
110
  return false;
@@ -203,20 +221,30 @@ let SQLCodeGenBase = class SQLCodeGenBase {
203
221
  * @param directory The directory to save the generated SQL files to
204
222
  * @param onlyPermissions If true, only the permissions files will be generated and executed, not the actual SQL files. Use this if you are simply setting permission changes but no actual changes to the entities have occured.
205
223
  */
206
- async generateAndExecuteEntitySQLToSeparateFiles(ds, entities, directory, onlyPermissions, skipExecution = false, writeFiles = true, batchSize = 5, enableSQLLoggingForNewEntities = false) {
224
+ async generateAndExecuteEntitySQLToSeparateFiles(options) {
225
+ if (!options.batchSize)
226
+ options.batchSize = 5; // default to 5 if not specified
207
227
  const files = [];
208
228
  try {
209
229
  let bFail = false;
210
- const totalEntities = entities.length;
211
- for (let i = 0; i < totalEntities; i += batchSize) {
212
- const batch = entities.slice(i, i + batchSize);
230
+ const totalEntities = options.entities.length;
231
+ for (let i = 0; i < totalEntities; i += options.batchSize) {
232
+ const batch = options.entities.slice(i, i + options.batchSize);
213
233
  const promises = batch.map(async (e) => {
214
234
  const pkeyField = e.Fields.find(f => f.IsPrimaryKey);
215
235
  if (!pkeyField) {
216
236
  (0, status_logging_1.logError)(`SKIPPING ENTITY: Entity ${e.Name}, because it does not have a primary key field defined. A table must have a primary key defined to quality to be a MemberJunction entity`);
217
237
  return { Success: false, Files: [] };
218
238
  }
219
- return this.generateAndExecuteSingleEntitySQLToSeparateFiles(ds, e, directory, onlyPermissions, skipExecution, writeFiles, enableSQLLoggingForNewEntities);
239
+ return this.generateAndExecuteSingleEntitySQLToSeparateFiles({
240
+ ds: options.ds,
241
+ entity: e,
242
+ directory: options.directory,
243
+ onlyPermissions: options.onlyPermissions,
244
+ writeFiles: options.writeFiles,
245
+ skipExecution: options.skipExecution,
246
+ enableSQLLoggingForNewOrModifiedEntities: options.enableSQLLoggingForNewOrModifiedEntities
247
+ });
220
248
  });
221
249
  const results = await Promise.all(promises);
222
250
  results.forEach(r => {
@@ -277,12 +305,12 @@ let SQLCodeGenBase = class SQLCodeGenBase {
277
305
  }
278
306
  return files;
279
307
  }
280
- async generateAndExecuteSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, skipExecution = false, writeFiles = true, enableSQLLoggingForNewEntities = false) {
308
+ async generateAndExecuteSingleEntitySQLToSeparateFiles(options) {
281
309
  try {
282
- const { sql, permissionsSQL, files } = await this.generateSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, skipExecution, writeFiles, enableSQLLoggingForNewEntities); // this creates the files and returns a single string with all the SQL we can then execute
283
- if (!skipExecution) {
310
+ const { sql, permissionsSQL, files } = await this.generateSingleEntitySQLToSeparateFiles(options); // this creates the files and returns a single string with all the SQL we can then execute
311
+ if (!options.skipExecution) {
284
312
  return {
285
- Success: await this.SQLUtilityObject.executeSQLScript(ds, sql + "\n\nGO\n\n" + permissionsSQL, true), // combine the SQL and permissions and execute it,
313
+ Success: await this.SQLUtilityObject.executeSQLScript(options.ds, sql + "\n\nGO\n\n" + permissionsSQL, true), // combine the SQL and permissions and execute it,
286
314
  Files: files
287
315
  };
288
316
  }
@@ -294,173 +322,174 @@ let SQLCodeGenBase = class SQLCodeGenBase {
294
322
  return { Success: false, Files: [] };
295
323
  }
296
324
  }
297
- logSQLForNewEntity(entity, sql, description, logSql = false) {
325
+ logSQLForNewOrModifiedEntity(entity, sql, description, logSql = false) {
298
326
  if (logSql &&
299
327
  (manage_metadata_1.ManageMetadataBase.newEntityList.find(e => e === entity.Name) || manage_metadata_1.ManageMetadataBase.modifiedEntityList.find(e => e === entity.Name))) {
300
328
  // per above only do this if (a) logSql is true and (b) the entity is in the newEntityList OR modifiedEntityList
301
329
  sql_logging_1.SQLLogging.appendToSQLLogFile(sql, description);
302
330
  }
331
+ (0, util_1.logIf)(config_1.configInfo.verboseOutput, `SQL Generated for ${entity.Name}: ${description}`);
303
332
  }
304
- async generateSingleEntitySQLToSeparateFiles(ds, entity, directory, onlyPermissions, skipExecution = false, writeFiles = true, enableSQLLoggingForNewEntities = false) {
333
+ async generateSingleEntitySQLToSeparateFiles(options) {
305
334
  const files = [];
306
335
  try {
307
336
  // create the directory if it doesn't exist
308
- if (writeFiles && !fs.existsSync(directory))
309
- fs.mkdirSync(directory, { recursive: true });
337
+ if (options.writeFiles && !fs.existsSync(options.directory))
338
+ fs.mkdirSync(options.directory, { recursive: true });
310
339
  // now do the same thing for the /schema directory within the provided directory
311
- const schemaDirectory = path_1.default.join(directory, entity.SchemaName);
312
- if (writeFiles && !fs.existsSync(schemaDirectory))
340
+ const schemaDirectory = path_1.default.join(options.directory, options.entity.SchemaName);
341
+ if (options.writeFiles && !fs.existsSync(schemaDirectory))
313
342
  fs.mkdirSync(schemaDirectory, { recursive: true }); // create the directory if it doesn't exist
314
343
  let sRet = '';
315
344
  let permissionsSQL = '';
316
345
  // Indexes for Fkeys for the table
317
- if (!onlyPermissions) {
318
- const indexSQL = (0, config_1.autoIndexForeignKeys)() ? this.generateIndexesForForeignKeys(ds, entity) : ''; // if autoIndexForeignKeys is true, generate the indexes, otherwise, just add a blank string to the header
319
- const s = this.generateSingleEntitySQLFileHeader(entity, 'Index for Foreign Keys') + indexSQL;
320
- if (writeFiles) {
321
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('index', entity.SchemaName, entity.BaseTable, false, true));
322
- this.logSQLForNewEntity(entity, s, 'Index for Foreign Keys for ' + entity.BaseTable, enableSQLLoggingForNewEntities);
346
+ if (!options.onlyPermissions) {
347
+ const indexSQL = (0, config_1.autoIndexForeignKeys)() ? this.generateIndexesForForeignKeys(options.ds, options.entity) : ''; // if autoIndexForeignKeys is true, generate the indexes, otherwise, just add a blank string to the header
348
+ const s = this.generateSingleEntitySQLFileHeader(options.entity, 'Index for Foreign Keys') + indexSQL;
349
+ if (options.writeFiles) {
350
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('index', options.entity.SchemaName, options.entity.BaseTable, false, true));
351
+ this.logSQLForNewOrModifiedEntity(options.entity, s, 'Index for Foreign Keys for ' + options.entity.BaseTable, options.enableSQLLoggingForNewOrModifiedEntities);
323
352
  fs.writeFileSync(filePath, s);
324
353
  files.push(filePath);
325
354
  }
326
355
  sRet += s + '\nGO\n';
327
356
  }
328
357
  // BASE VIEW
329
- if (!onlyPermissions && entity.BaseViewGenerated && !entity.VirtualEntity) {
358
+ if (!options.onlyPermissions && options.entity.BaseViewGenerated && !options.entity.VirtualEntity) {
330
359
  // generate the base view
331
- const s = this.generateSingleEntitySQLFileHeader(entity, entity.BaseView) + await this.generateBaseView(ds, entity);
332
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('view', entity.SchemaName, entity.BaseView, false, true));
333
- if (writeFiles) {
334
- this.logSQLForNewEntity(entity, s, `Base View SQL for ${entity.Name}`, enableSQLLoggingForNewEntities);
360
+ const s = this.generateSingleEntitySQLFileHeader(options.entity, options.entity.BaseView) + await this.generateBaseView(options.ds, options.entity);
361
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('view', options.entity.SchemaName, options.entity.BaseView, false, true));
362
+ if (options.writeFiles) {
363
+ this.logSQLForNewOrModifiedEntity(options.entity, s, `Base View SQL for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
335
364
  fs.writeFileSync(filePath, s);
336
365
  files.push(filePath);
337
366
  }
338
367
  sRet += s + '\nGO\n';
339
368
  }
340
369
  // always generate permissions for the base view
341
- const s = this.generateSingleEntitySQLFileHeader(entity, 'Permissions for ' + entity.BaseView) + this.generateViewPermissions(entity);
370
+ const s = this.generateSingleEntitySQLFileHeader(options.entity, 'Permissions for ' + options.entity.BaseView) + this.generateViewPermissions(options.entity);
342
371
  if (s.length > 0)
343
372
  permissionsSQL += s + '\nGO\n';
344
- if (writeFiles) {
345
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('view', entity.SchemaName, entity.BaseView, true, true));
373
+ if (options.writeFiles) {
374
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('view', options.entity.SchemaName, options.entity.BaseView, true, true));
346
375
  fs.writeFileSync(filePath, s);
347
- this.logSQLForNewEntity(entity, s, `Base View Permissions SQL for ${entity.Name}`, enableSQLLoggingForNewEntities);
376
+ this.logSQLForNewOrModifiedEntity(options.entity, s, `Base View Permissions SQL for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
348
377
  files.push(filePath);
349
378
  }
350
379
  // now, append the permissions to the return string IF we did NOT generate the base view - because if we generated the base view, that
351
380
  // means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
352
- if (!entity.BaseViewGenerated)
381
+ if (!options.entity.BaseViewGenerated)
353
382
  sRet += s + '\nGO\n';
354
383
  // CREATE SP
355
- if (entity.AllowCreateAPI && !entity.VirtualEntity) {
356
- const spName = this.getSPName(entity, exports.SPType.Create);
357
- if (!onlyPermissions && entity.spCreateGenerated) {
384
+ if (options.entity.AllowCreateAPI && !options.entity.VirtualEntity) {
385
+ const spName = this.getSPName(options.entity, exports.SPType.Create);
386
+ if (!options.onlyPermissions && options.entity.spCreateGenerated) {
358
387
  // generate the create SP
359
- const s = this.generateSingleEntitySQLFileHeader(entity, spName) + this.generateSPCreate(entity);
360
- if (writeFiles) {
361
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, false, true));
362
- this.logSQLForNewEntity(entity, s, `spCreate SQL for ${entity.Name}`, enableSQLLoggingForNewEntities);
388
+ const s = this.generateSingleEntitySQLFileHeader(options.entity, spName) + this.generateSPCreate(options.entity);
389
+ if (options.writeFiles) {
390
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('sp', options.entity.SchemaName, spName, false, true));
391
+ this.logSQLForNewOrModifiedEntity(options.entity, s, `spCreate SQL for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
363
392
  fs.writeFileSync(filePath, s);
364
393
  files.push(filePath);
365
394
  }
366
395
  sRet += s + '\nGO\n';
367
396
  }
368
- const s = this.generateSPPermissions(entity, spName, exports.SPType.Create) + '\n\n';
397
+ const s = this.generateSPPermissions(options.entity, spName, exports.SPType.Create) + '\n\n';
369
398
  if (s.length > 0)
370
399
  permissionsSQL += s + '\nGO\n';
371
- if (writeFiles) {
372
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, true, true));
373
- this.logSQLForNewEntity(entity, s, `spCreate Permissions for ${entity.Name}`, enableSQLLoggingForNewEntities);
400
+ if (options.writeFiles) {
401
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('sp', options.entity.SchemaName, spName, true, true));
402
+ this.logSQLForNewOrModifiedEntity(options.entity, s, `spCreate Permissions for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
374
403
  fs.writeFileSync(filePath, s);
375
404
  files.push(filePath);
376
405
  }
377
406
  // now, append the permissions to the return string IF we did NOT generate the proc - because if we generated the proc, that
378
407
  // means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
379
- if (!entity.spCreateGenerated)
408
+ if (!options.entity.spCreateGenerated)
380
409
  sRet += s + '\nGO\n';
381
410
  }
382
411
  // UPDATE SP
383
- if (entity.AllowUpdateAPI && !entity.VirtualEntity) {
384
- const spName = this.getSPName(entity, exports.SPType.Update);
385
- if (!onlyPermissions && entity.spUpdateGenerated) {
412
+ if (options.entity.AllowUpdateAPI && !options.entity.VirtualEntity) {
413
+ const spName = this.getSPName(options.entity, exports.SPType.Update);
414
+ if (!options.onlyPermissions && options.entity.spUpdateGenerated) {
386
415
  // generate the update SP
387
- const s = this.generateSingleEntitySQLFileHeader(entity, spName) + this.generateSPUpdate(entity);
388
- if (writeFiles) {
389
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, false, true));
416
+ const s = this.generateSingleEntitySQLFileHeader(options.entity, spName) + this.generateSPUpdate(options.entity);
417
+ if (options.writeFiles) {
418
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('sp', options.entity.SchemaName, spName, false, true));
390
419
  fs.writeFileSync(filePath, s);
391
- this.logSQLForNewEntity(entity, s, `spUpdate SQL for ${entity.Name}`, enableSQLLoggingForNewEntities);
420
+ this.logSQLForNewOrModifiedEntity(options.entity, s, `spUpdate SQL for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
392
421
  files.push(filePath);
393
422
  }
394
423
  sRet += s + '\nGO\n';
395
424
  }
396
- const s = this.generateSPPermissions(entity, spName, exports.SPType.Update) + '\n\n';
425
+ const s = this.generateSPPermissions(options.entity, spName, exports.SPType.Update) + '\n\n';
397
426
  if (s.length > 0)
398
427
  permissionsSQL += s + '\nGO\n';
399
- if (writeFiles) {
400
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, true, true));
401
- this.logSQLForNewEntity(entity, s, `spUpdate Permissions for ${entity.Name}`, enableSQLLoggingForNewEntities);
428
+ if (options.writeFiles) {
429
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('sp', options.entity.SchemaName, spName, true, true));
430
+ this.logSQLForNewOrModifiedEntity(options.entity, s, `spUpdate Permissions for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
402
431
  fs.writeFileSync(filePath, s);
403
432
  files.push(filePath);
404
433
  }
405
434
  // now, append the permissions to the return string IF we did NOT generate the proc - because if we generated the proc, that
406
435
  // means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
407
- if (!entity.spUpdateGenerated)
436
+ if (!options.entity.spUpdateGenerated)
408
437
  sRet += s + '\nGO\n';
409
438
  }
410
439
  // DELETE SP
411
- if (entity.AllowDeleteAPI && !entity.VirtualEntity) {
412
- const spName = this.getSPName(entity, exports.SPType.Delete);
413
- if (!onlyPermissions && entity.spDeleteGenerated) {
440
+ if (options.entity.AllowDeleteAPI && !options.entity.VirtualEntity) {
441
+ const spName = this.getSPName(options.entity, exports.SPType.Delete);
442
+ if (!options.onlyPermissions && options.entity.spDeleteGenerated) {
414
443
  // generate the delete SP
415
- const s = this.generateSingleEntitySQLFileHeader(entity, spName) + this.generateSPDelete(entity);
416
- if (writeFiles) {
417
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, false, true));
418
- this.logSQLForNewEntity(entity, s, `spDelete SQL for ${entity.Name}`, enableSQLLoggingForNewEntities);
444
+ const s = this.generateSingleEntitySQLFileHeader(options.entity, spName) + this.generateSPDelete(options.entity);
445
+ if (options.writeFiles) {
446
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('sp', options.entity.SchemaName, spName, false, true));
447
+ this.logSQLForNewOrModifiedEntity(options.entity, s, `spDelete SQL for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
419
448
  fs.writeFileSync(filePath, s);
420
449
  files.push(filePath);
421
450
  }
422
451
  sRet += s + '\nGO\n';
423
452
  }
424
- const s = this.generateSPPermissions(entity, spName, exports.SPType.Delete) + '\n\n';
453
+ const s = this.generateSPPermissions(options.entity, spName, exports.SPType.Delete) + '\n\n';
425
454
  if (s.length > 0)
426
455
  permissionsSQL += s + '\nGO\n';
427
- if (writeFiles) {
428
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('sp', entity.SchemaName, spName, true, true));
429
- this.logSQLForNewEntity(entity, s, `spDelete Permissions for ${entity.Name}`, enableSQLLoggingForNewEntities);
456
+ if (options.writeFiles) {
457
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('sp', options.entity.SchemaName, spName, true, true));
458
+ this.logSQLForNewOrModifiedEntity(options.entity, s, `spDelete Permissions for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
430
459
  fs.writeFileSync(filePath, s);
431
460
  files.push(filePath);
432
461
  }
433
462
  // now, append the permissions to the return string IF we did NOT generate the proc - because if we generated the proc, that
434
463
  // means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
435
- if (!entity.spDeleteGenerated)
464
+ if (!options.entity.spDeleteGenerated)
436
465
  sRet += s + '\nGO\n';
437
466
  }
438
- // check to see if the entity supports full text search or not
439
- if (entity.FullTextSearchEnabled) {
467
+ // check to see if the options.entity supports full text search or not
468
+ if (options.entity.FullTextSearchEnabled) {
440
469
  // always generate the code so we can get the function name from the below function call
441
- const ft = await this.generateEntityFullTextSearchSQL(ds, entity);
442
- if (!onlyPermissions) {
470
+ const ft = await this.generateEntityFullTextSearchSQL(options.ds, options.entity);
471
+ if (!options.onlyPermissions) {
443
472
  // only write the actual sql out if we're not only generating permissions
444
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('full_text_search_function', entity.SchemaName, entity.BaseTable, false, true));
445
- if (writeFiles) {
446
- this.logSQLForNewEntity(entity, ft.sql, `Full Text Search SQL for ${entity.Name}`, enableSQLLoggingForNewEntities);
473
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('full_text_search_function', options.entity.SchemaName, options.entity.BaseTable, false, true));
474
+ if (options.writeFiles) {
475
+ this.logSQLForNewOrModifiedEntity(options.entity, ft.sql, `Full Text Search SQL for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
447
476
  fs.writeFileSync(filePath, ft.sql);
448
477
  files.push(filePath);
449
478
  }
450
479
  sRet += ft.sql + '\nGO\n';
451
480
  }
452
- const sP = this.generateFullTextSearchFunctionPermissions(entity, ft.functionName) + '\n\n';
481
+ const sP = this.generateFullTextSearchFunctionPermissions(options.entity, ft.functionName) + '\n\n';
453
482
  if (sP.length > 0)
454
483
  permissionsSQL += sP + '\nGO\n';
455
- const filePath = path_1.default.join(directory, this.SQLUtilityObject.getDBObjectFileName('full_text_search_function', entity.SchemaName, entity.BaseTable, true, true));
456
- if (writeFiles) {
457
- this.logSQLForNewEntity(entity, sP, `Full Text Search Permissions for ${entity.Name}`, enableSQLLoggingForNewEntities);
484
+ const filePath = path_1.default.join(options.directory, this.SQLUtilityObject.getDBObjectFileName('full_text_search_function', options.entity.SchemaName, options.entity.BaseTable, true, true));
485
+ if (options.writeFiles) {
486
+ this.logSQLForNewOrModifiedEntity(options.entity, sP, `Full Text Search Permissions for ${options.entity.Name}`, options.enableSQLLoggingForNewOrModifiedEntities);
458
487
  fs.writeFileSync(filePath, sP);
459
488
  files.push(filePath);
460
489
  }
461
490
  // now, append the permissions to the return string IF we did NOT generate the function - because if we generated the function, that
462
491
  // means we already generated the permissions for it above and it is part of sRet already, but we always save it to a file, (per above line)
463
- if (!entity.FullTextSearchFunctionGenerated)
492
+ if (!options.entity.FullTextSearchFunctionGenerated)
464
493
  sRet += sP + '\nGO\n';
465
494
  }
466
495
  return { sql: sRet, permissionsSQL: permissionsSQL, files: files };
@@ -1 +1 @@
1
- {"version":3,"file":"sql_codegen.js","sourceRoot":"","sources":["../../src/Database/sql_codegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sql_codegen.js","sourceRoot":"","sources":["../../src/Database/sql_codegen.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAA6B,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQhI;;;GAGG;AACH,qBACa,0BAA0B;IAC9B,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,eAAe,EAAE,MAAM,EACvB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,OAAO;IAmBV,SAAS,CAAC,kBAAkB,SAAO;IACnC;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAEM,0BAA0B,CAC/B,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,OAAO,EAC1B,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,MAAM;IAqDF,mCAAmC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IA6B/G,sCAAsC,CAC3C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,MAAM,EACrB,sCAAsC,EAAE,OAAO,GAC9C,MAAM;IA6BT,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAa/F,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAejE,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAiCvE,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAuB1G,SAAS,CAAC,6BAA6B,CACrC,MAAM,EAAE,UAAU,EAClB,qBAAqB,EAAE,MAAM,EAC7B,sCAAsC,EAAE,OAAO,EAC/C,UAAU,EAAE,OAAO,GAClB,MAAM;IAgIT,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhD,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOpE,SAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAuCjH,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAwEnG,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAgDpH,SAAS,CAAC,+BAA+B,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,GAAG,MAAM;CA8CjG"}
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,EAAE,MAAM,sBAAsB,CAAC;AAQhI;;;GAGG;AACH,qBACa,0BAA0B;IAC9B,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,eAAe,EAAE,MAAM,EACvB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,OAAO;IAmBV,SAAS,CAAC,kBAAkB,SAAO;IACnC;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAEM,0BAA0B,CAC/B,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,OAAO,EAC1B,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,MAAM;IAqDF,mCAAmC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IA8B/G,sCAAsC,CAC3C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,MAAM,EACrB,sCAAsC,EAAE,OAAO,GAC9C,MAAM;IA6BT,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAa/F,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAejE,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAiCvE,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAuB1G,SAAS,CAAC,6BAA6B,CACrC,MAAM,EAAE,UAAU,EAClB,qBAAqB,EAAE,MAAM,EAC7B,sCAAsC,EAAE,OAAO,EAC/C,UAAU,EAAE,OAAO,GAClB,MAAM;IAgIT,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhD,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOpE,SAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAuCjH,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAwEnG,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAgDpH,SAAS,CAAC,+BAA+B,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,GAAG,MAAM;CA8CjG"}
@@ -100,7 +100,8 @@ let GraphQLServerGeneratorBase = class GraphQLServerGeneratorBase {
100
100
  **********************************************************************************/
101
101
  import { Arg, Ctx, Int, Query, Resolver, Field, Float, ObjectType, FieldResolver, Root, InputType, Mutation,
102
102
  PubSub, PubSubEngine, ResolverBase, RunViewByIDInput, RunViewByNameInput, RunDynamicViewInput,
103
- AppContext, KeyValuePairInput, DeleteOptionsInput, GraphQLTimestamp as Timestamp } from '@memberjunction/server';
103
+ AppContext, KeyValuePairInput, DeleteOptionsInput, GraphQLTimestamp as Timestamp,
104
+ GetReadOnlyDataSource, GetReadWriteDataSource } from '@memberjunction/server';
104
105
  import { Metadata, EntityPermissionType, CompositeKey } from '@memberjunction/core'
105
106
 
106
107
  import { MaxLength } from 'class-validator';