@memberjunction/codegen-lib 6.1.0-edge.5 → 6.1.0-edge.7

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 (103) hide show
  1. package/README.md +20 -0
  2. package/dist/Angular/angular-codegen.d.ts +9 -6
  3. package/dist/Angular/angular-codegen.d.ts.map +1 -1
  4. package/dist/Angular/angular-codegen.js +80 -51
  5. package/dist/Angular/angular-codegen.js.map +1 -1
  6. package/dist/Angular/join-grid-related-entity-component.d.ts.map +1 -1
  7. package/dist/Angular/join-grid-related-entity-component.js +5 -2
  8. package/dist/Angular/join-grid-related-entity-component.js.map +1 -1
  9. package/dist/Angular/related-entity-components.d.ts +11 -0
  10. package/dist/Angular/related-entity-components.d.ts.map +1 -1
  11. package/dist/Angular/related-entity-components.js +23 -0
  12. package/dist/Angular/related-entity-components.js.map +1 -1
  13. package/dist/Angular/timeline-related-entity-component.d.ts.map +1 -1
  14. package/dist/Angular/timeline-related-entity-component.js +3 -2
  15. package/dist/Angular/timeline-related-entity-component.js.map +1 -1
  16. package/dist/Config/config.d.ts +29 -2
  17. package/dist/Config/config.d.ts.map +1 -1
  18. package/dist/Config/config.js +54 -5
  19. package/dist/Config/config.js.map +1 -1
  20. package/dist/Database/codeGenDatabaseProvider.d.ts +64 -1
  21. package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
  22. package/dist/Database/codeGenDatabaseProvider.js +49 -3
  23. package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
  24. package/dist/Database/dbSchema.js +2 -1
  25. package/dist/Database/dbSchema.js.map +1 -1
  26. package/dist/Database/entity-field-change-tracking.d.ts +53 -0
  27. package/dist/Database/entity-field-change-tracking.d.ts.map +1 -0
  28. package/dist/Database/entity-field-change-tracking.js +120 -0
  29. package/dist/Database/entity-field-change-tracking.js.map +1 -0
  30. package/dist/Database/entity-level-tree-cycles.d.ts.map +1 -1
  31. package/dist/Database/entity-level-tree-cycles.js +3 -2
  32. package/dist/Database/entity-level-tree-cycles.js.map +1 -1
  33. package/dist/Database/field-metadata-lock.d.ts +47 -0
  34. package/dist/Database/field-metadata-lock.d.ts.map +1 -0
  35. package/dist/Database/field-metadata-lock.js +159 -0
  36. package/dist/Database/field-metadata-lock.js.map +1 -0
  37. package/dist/Database/manage-metadata.d.ts +133 -51
  38. package/dist/Database/manage-metadata.d.ts.map +1 -1
  39. package/dist/Database/manage-metadata.js +574 -306
  40. package/dist/Database/manage-metadata.js.map +1 -1
  41. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +10 -2
  42. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
  43. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +113 -42
  44. package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
  45. package/dist/Database/providers/postgresql/metadataSupportObjects.js +31 -8
  46. package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
  47. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +47 -2
  48. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
  49. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +176 -30
  50. package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
  51. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js +15 -2
  52. package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js.map +1 -1
  53. package/dist/Database/reconcileFieldLevelSecurity.d.ts +22 -0
  54. package/dist/Database/reconcileFieldLevelSecurity.d.ts.map +1 -0
  55. package/dist/Database/reconcileFieldLevelSecurity.js +47 -0
  56. package/dist/Database/reconcileFieldLevelSecurity.js.map +1 -0
  57. package/dist/Database/sql_codegen.d.ts +34 -0
  58. package/dist/Database/sql_codegen.d.ts.map +1 -1
  59. package/dist/Database/sql_codegen.js +152 -14
  60. package/dist/Database/sql_codegen.js.map +1 -1
  61. package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
  62. package/dist/Manifest/GenerateClassRegistrationsManifest.js +3 -2
  63. package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
  64. package/dist/Misc/action_subclasses_codegen.js +2 -2
  65. package/dist/Misc/action_subclasses_codegen.js.map +1 -1
  66. package/dist/Misc/advanced_generation.d.ts +17 -5
  67. package/dist/Misc/advanced_generation.d.ts.map +1 -1
  68. package/dist/Misc/advanced_generation.js +69 -23
  69. package/dist/Misc/advanced_generation.js.map +1 -1
  70. package/dist/Misc/codegen-reporter.d.ts +2 -0
  71. package/dist/Misc/codegen-reporter.d.ts.map +1 -1
  72. package/dist/Misc/codegen-reporter.js +6 -2
  73. package/dist/Misc/codegen-reporter.js.map +1 -1
  74. package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
  75. package/dist/Misc/entity_subclasses_codegen.js +30 -20
  76. package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
  77. package/dist/Misc/graphql_server_codegen.d.ts +39 -0
  78. package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
  79. package/dist/Misc/graphql_server_codegen.js +63 -9
  80. package/dist/Misc/graphql_server_codegen.js.map +1 -1
  81. package/dist/Misc/remote_operations_codegen.d.ts +36 -1
  82. package/dist/Misc/remote_operations_codegen.d.ts.map +1 -1
  83. package/dist/Misc/remote_operations_codegen.js +178 -8
  84. package/dist/Misc/remote_operations_codegen.js.map +1 -1
  85. package/dist/Misc/schema-emit.d.ts.map +1 -1
  86. package/dist/Misc/schema-emit.js +2 -1
  87. package/dist/Misc/schema-emit.js.map +1 -1
  88. package/dist/Misc/sql_logging.d.ts +63 -8
  89. package/dist/Misc/sql_logging.d.ts.map +1 -1
  90. package/dist/Misc/sql_logging.js +169 -42
  91. package/dist/Misc/sql_logging.js.map +1 -1
  92. package/dist/Misc/util.d.ts +12 -0
  93. package/dist/Misc/util.d.ts.map +1 -1
  94. package/dist/Misc/util.js +71 -8
  95. package/dist/Misc/util.js.map +1 -1
  96. package/dist/plugins/index.d.ts +3 -0
  97. package/dist/plugins/index.d.ts.map +1 -1
  98. package/dist/plugins/index.js +28 -1
  99. package/dist/plugins/index.js.map +1 -1
  100. package/dist/runCodeGen.d.ts.map +1 -1
  101. package/dist/runCodeGen.js +134 -26
  102. package/dist/runCodeGen.js.map +1 -1
  103. package/package.json +29 -29
@@ -7,11 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { EntityInfo, CodeNameFromString, ResolveStartupMode } from '@memberjunction/core';
8
8
  import { CodeGenDatabaseProvider, } from '../../codeGenDatabaseProvider.js';
9
9
  import { SQLServerDialect } from '@memberjunction/sql-dialect';
10
- import { RegisterClass } from '@memberjunction/global';
10
+ import { ordinalCompare, RegisterClass } from '@memberjunction/global';
11
11
  import { sortBySequenceAndCreatedAt } from '../../../Misc/util.js';
12
12
  import { configInfo, dbDatabase, mj_core_schema } from '../../../Config/config.js';
13
13
  import { MSSQLConnection, getSqlConfig } from '../../../Config/db-connection.js';
14
- import { logError, logWarning, startSpinner, succeedSpinner } from '../../../Misc/status_logging.js';
14
+ import { logError, logStatus, logWarning, startSpinner, succeedSpinner } from '../../../Misc/status_logging.js';
15
15
  import { SQLServerProviderConfigData, setupSQLServerClient } from '@memberjunction/sqlserver-dataprovider';
16
16
  import { UserCache } from '@memberjunction/generic-database-provider';
17
17
  import { SQLServerCodeGenConnection } from './SQLServerCodeGenConnection.js';
@@ -30,6 +30,18 @@ const ssDialect = new SQLServerDialect();
30
30
  * override codegen behavior — same extension hook every other MJ class uses.
31
31
  */
32
32
  let SQLServerCodeGenProvider = class SQLServerCodeGenProvider extends CodeGenDatabaseProvider {
33
+ constructor() {
34
+ super(...arguments);
35
+ // ─── PERMISSIONS ─────────────────────────────────────────────────────
36
+ /**
37
+ * B3: roles with a blank `SQLName` are app-tier-only BY DESIGN (decision D3a) — the grant
38
+ * emitters skip them, and this makes the skip visible: one INFO line per role per run, so
39
+ * "why doesn't my role work for direct SQL?" is answerable without reading provider source.
40
+ */
41
+ this._appTierOnlyRolesLogged = new Set();
42
+ /** Service-protected DENY skips are warned once per role per run (see generateFieldSecurityDenies). */
43
+ this._serviceProtectedDenySkipsWarned = new Set();
44
+ }
33
45
  /** @inheritdoc */
34
46
  get Dialect() {
35
47
  return ssDialect;
@@ -202,7 +214,8 @@ SELECT * FROM [${esc(schema)}].[${esc(tableName)}];`;
202
214
  */
203
215
  generateCRUDCreate(entity) {
204
216
  const spName = this.getCRUDRoutineName(entity, 'Create');
205
- const firstKey = entity.FirstPrimaryKey;
217
+ const firstKey = entity.FirstPrimaryKey; // first-pk-ok: read only inside the UNIQUEIDENTIFIER branch, which is guarded by entity.PrimaryKeys.length === 1; the IDENTITY and composite branches iterate entity.PrimaryKeys
218
+ const identityKey = entity.PrimaryKeys.find(k => k.AutoIncrement);
206
219
  const efString = this.generateCRUDParamString(entity.Fields, false);
207
220
  const permissions = this.generateCRUDPermissions(entity, spName, 'Create');
208
221
  let preInsertCode = '';
@@ -210,8 +223,15 @@ SELECT * FROM [${esc(schema)}].[${esc(tableName)}];`;
210
223
  let selectInsertedRecord = '';
211
224
  let additionalFieldList = '';
212
225
  let additionalValueList = '';
213
- if (firstKey.AutoIncrement) {
214
- selectInsertedRecord = `SELECT * FROM [${entity.SchemaName}].[${entity.BaseView}] WHERE [${firstKey.Name}] = SCOPE_IDENTITY()`;
226
+ if (identityKey) {
227
+ // IDENTITY key. On a composite key such as (TenantID, ID IDENTITY) the remaining key
228
+ // columns are caller-supplied: they must be inserted and included in the row lookup.
229
+ // For a single-column identity key callerSuppliedKeys is empty and nothing is added.
230
+ const callerSuppliedKeys = entity.PrimaryKeys.filter(k => !k.AutoIncrement);
231
+ additionalFieldList = callerSuppliedKeys.map(k => `[${k.Name}]`).join(',\n ');
232
+ additionalValueList = callerSuppliedKeys.map(k => `@${k.CodeName}`).join(',\n ');
233
+ const callerSuppliedKeyPredicates = callerSuppliedKeys.map(k => ` AND [${k.Name}] = @${k.CodeName}`).join('');
234
+ selectInsertedRecord = `SELECT * FROM [${entity.SchemaName}].[${entity.BaseView}] WHERE [${identityKey.Name}] = SCOPE_IDENTITY()${callerSuppliedKeyPredicates}`;
215
235
  }
216
236
  else if (firstKey.Type.toLowerCase().trim() === 'uniqueidentifier' && entity.PrimaryKeys.length === 1) {
217
237
  const hasDefaultValue = firstKey.DefaultValue && firstKey.DefaultValue.trim().length > 0;
@@ -666,8 +686,8 @@ CREATE INDEX ${indexName} ON [${entity.SchemaName}].[${entity.BaseTable}] (${col
666
686
  if (entity.PrimaryKeys.length !== 1) {
667
687
  throw new Error(`[Hierarchy] Entity '${entity.Name}' has ${entity.PrimaryKeys.length} primary key fields. MemberJunction hierarchy TVF generation requires a single-column primary key.`);
668
688
  }
669
- const primaryKey = entity.FirstPrimaryKey.Name;
670
- const primaryKeyType = entity.FirstPrimaryKey.SQLFullType;
689
+ const primaryKey = entity.FirstPrimaryKey.Name; // first-pk-ok: guarded by the PrimaryKeys.length !== 1 throw above; hierarchy TVFs are single-column by design
690
+ const primaryKeyType = entity.FirstPrimaryKey.SQLFullType; // first-pk-ok: guarded by the PrimaryKeys.length !== 1 throw above; hierarchy TVFs are single-column by design
671
691
  const schemaName = entity.SchemaName;
672
692
  const tableName = entity.BaseTable;
673
693
  const fieldName = field.Name;
@@ -738,8 +758,8 @@ GO
738
758
  if (entity.PrimaryKeys.length !== 1) {
739
759
  throw new Error(`[Hierarchy] Entity '${entity.Name}' has ${entity.PrimaryKeys.length} primary key fields. MemberJunction hierarchy TVF generation requires a single-column primary key.`);
740
760
  }
741
- const primaryKey = entity.FirstPrimaryKey.Name;
742
- const primaryKeyType = entity.FirstPrimaryKey.SQLFullType;
761
+ const primaryKey = entity.FirstPrimaryKey.Name; // first-pk-ok: guarded by the PrimaryKeys.length !== 1 throw above; hierarchy TVFs are single-column by design
762
+ const primaryKeyType = entity.FirstPrimaryKey.SQLFullType; // first-pk-ok: guarded by the PrimaryKeys.length !== 1 throw above; hierarchy TVFs are single-column by design
743
763
  const schemaName = entity.SchemaName;
744
764
  const tableName = entity.BaseTable;
745
765
  const fieldName = field.Name;
@@ -806,8 +826,8 @@ GO
806
826
  if (entity.PrimaryKeys.length !== 1) {
807
827
  throw new Error(`[Hierarchy] Entity '${entity.Name}' has ${entity.PrimaryKeys.length} primary key fields. MemberJunction hierarchy TVF generation requires a single-column primary key.`);
808
828
  }
809
- const primaryKey = entity.FirstPrimaryKey.Name;
810
- const primaryKeyType = entity.FirstPrimaryKey.SQLFullType;
829
+ const primaryKey = entity.FirstPrimaryKey.Name; // first-pk-ok: guarded by the PrimaryKeys.length !== 1 throw above; hierarchy TVFs are single-column by design
830
+ const primaryKeyType = entity.FirstPrimaryKey.SQLFullType; // first-pk-ok: guarded by the PrimaryKeys.length !== 1 throw above; hierarchy TVFs are single-column by design
811
831
  const schemaName = entity.SchemaName;
812
832
  const tableName = entity.BaseTable;
813
833
  const fieldName = field.Name;
@@ -883,7 +903,7 @@ GO
883
903
  const classNameFirstChar = entity.BaseTableCodeName.charAt(0).toLowerCase();
884
904
  const schemaName = entity.SchemaName;
885
905
  const functionName = `fn${entity.BaseTable}${field.Name}_GetHierarchyMeta`;
886
- const primaryKey = entity.FirstPrimaryKey.Name;
906
+ const primaryKey = entity.FirstPrimaryKey.Name; // first-pk-ok: hierarchy TVF argument; sql_codegen.getHierarchyFKs skips composite-key entities and the TVF generator throws for them
887
907
  return `OUTER APPLY\n [${schemaName}].[${functionName}]([${classNameFirstChar}].[${primaryKey}], [${classNameFirstChar}].[${field.Name}]) AS ${alias}`;
888
908
  }
889
909
  /**
@@ -896,8 +916,8 @@ GO
896
916
  if (entity.PrimaryKeys.length !== 1) {
897
917
  throw new Error(`[Hierarchy] Entity '${entity.Name}' has ${entity.PrimaryKeys.length} primary key fields. MemberJunction hierarchy TVF generation requires a single-column primary key.`);
898
918
  }
899
- const primaryKey = entity.FirstPrimaryKey.Name;
900
- const primaryKeyType = entity.FirstPrimaryKey.SQLFullType;
919
+ const primaryKey = entity.FirstPrimaryKey.Name; // first-pk-ok: guarded by the PrimaryKeys.length !== 1 throw above; hierarchy TVFs are single-column by design
920
+ const primaryKeyType = entity.FirstPrimaryKey.SQLFullType; // first-pk-ok: guarded by the PrimaryKeys.length !== 1 throw above; hierarchy TVFs are single-column by design
901
921
  const schemaName = entity.SchemaName;
902
922
  const tableName = entity.BaseTable;
903
923
  const fieldName = field.Name;
@@ -969,10 +989,102 @@ GO
969
989
  const classNameFirstChar = entity.BaseTableCodeName.charAt(0).toLowerCase();
970
990
  const schemaName = entity.SchemaName;
971
991
  const functionName = `fn${entity.BaseTable}${field.Name}_GetRootID`;
972
- const primaryKey = entity.FirstPrimaryKey.Name;
992
+ const primaryKey = entity.FirstPrimaryKey.Name; // first-pk-ok: hierarchy TVF argument; sql_codegen.getHierarchyFKs skips composite-key entities and the TVF generator throws for them
973
993
  return `OUTER APPLY\n [${schemaName}].[${functionName}]([${classNameFirstChar}].[${primaryKey}], [${classNameFirstChar}].[${field.Name}]) AS ${alias}`;
974
994
  }
975
- // ─── PERMISSIONS ─────────────────────────────────────────────────────
995
+ logAppTierOnlyRoleSkip(roleName) {
996
+ const name = (roleName ?? '').trim();
997
+ if (!name || this._appTierOnlyRolesLogged.has(name))
998
+ return;
999
+ this._appTierOnlyRolesLogged.add(name);
1000
+ logStatus(` ℹ️ Role '${name}' is app-tier-only (no SQLName); no DB grants emitted.`);
1001
+ }
1002
+ /**
1003
+ * Reconciliation preamble (decision D7): REVOKE every live catalog permission entry on
1004
+ * this object held by a MANAGED role, so the GRANTs/DENYs that follow re-assert exactly
1005
+ * the current desired state. This is what makes REMOVAL take effect — deleting an
1006
+ * `EntityPermission` or `EntityFieldPermission` row stops the assert, and the standing
1007
+ * REVOKE clears the stale grant/deny on the next run (the assert-only model never revoked
1008
+ * anything; a deleted Deny row would otherwise block direct users forever). Removing a
1009
+ * DENY is also spelled REVOKE. Grants to principals outside the managed scope are not in
1010
+ * the snapshot and are never touched. Empty when no run context (e.g. catalog unreadable)
1011
+ * — emission degrades to the historical assert-only behavior.
1012
+ */
1013
+ generateManagedPermissionRevokes(schemaName, objectName) {
1014
+ const context = this._fieldSecurityRunContext;
1015
+ if (!context)
1016
+ return '';
1017
+ const entries = context.CatalogPermissions.get(`${schemaName}.${objectName}`.toLowerCase());
1018
+ if (!entries || entries.length === 0)
1019
+ return '';
1020
+ let sOutput = '';
1021
+ for (const entry of entries) {
1022
+ const column = entry.ColumnName ? ` ([${entry.ColumnName}])` : '';
1023
+ sOutput += `\nREVOKE ${entry.PermissionName}${column} ON [${schemaName}].[${objectName}] FROM [${entry.RoleName}]`;
1024
+ }
1025
+ return sOutput;
1026
+ }
1027
+ /**
1028
+ * Field-level security column DENYs: for each role holding a `ReadAccess = 'Deny'` row on
1029
+ * this entity's fields, emit `DENY SELECT ([col], ...) ON [schema].[BaseView] TO [role]` so
1030
+ * a SQL user connecting DIRECTLY with that role cannot read the denied columns. Constraints:
1031
+ * - **Only when the entity has `EnableFieldLevelSecurity`.** Rows on a disabled entity are
1032
+ * retained but inactive at the app tier, so mirroring them would make the two tiers
1033
+ * disagree — and the DB tier is the one an administrator cannot see. Disabling an entity
1034
+ * revokes its DENYs on the next run via the reconciliation pass below.
1035
+ * - **Explicit `ReadAccess = 'Deny'` only** — never synthesized from a `No Access` or a
1036
+ * missing row. `No Access` is neutral and blocks nothing on its own, so mirroring it
1037
+ * would make the DB tier stricter than the app tier rather than the conservative subset
1038
+ * it is meant to be. The emitted pattern stays object-level GRANT + column-level DENY,
1039
+ * avoiding SQL Server's column-GRANT-overrides-object-DENY quirk entirely.
1040
+ * - **Custom roles only** — the orchestrator's run context excludes the standard
1041
+ * UI/Developer/Integration roles from `RoleSQLNameByID`, so Deny rows against them are
1042
+ * app-tier-enforced only (MJ_Connect keeps its cdp_* memberships).
1043
+ * - **Service-login backstop**: a role any protected principal is a member of is skipped
1044
+ * with a prominent warning — a DENY there would strip the column from the API service
1045
+ * login itself (DENY beats every sibling role's GRANT).
1046
+ * - **Unrestrictable targets** (PKs, `__mj_` columns, the security/identity entities) are
1047
+ * filtered defensively even though save-time guards should make such rows impossible.
1048
+ */
1049
+ generateFieldSecurityDenies(entity) {
1050
+ const context = this._fieldSecurityRunContext;
1051
+ if (!context)
1052
+ return '';
1053
+ if (!entity.EnableFieldLevelSecurity)
1054
+ return ''; // rules retained but inactive — mirror nothing
1055
+ const deniedColumnsByRole = new Map();
1056
+ for (const field of entity.Fields) {
1057
+ if (!field.HasFieldPermissions)
1058
+ continue;
1059
+ if (field.IsUnrestrictableField || field.IsOnUnrestrictableEntity)
1060
+ continue; // defensive — save-time guards should prevent these rows
1061
+ for (const fp of field.FieldPermissions) {
1062
+ if ((fp.ReadAccess ?? '').trim().toLowerCase() !== 'deny')
1063
+ continue;
1064
+ const sqlName = context.RoleSQLNameByID.get((fp.RoleID ?? '').trim().toLowerCase());
1065
+ if (!sqlName)
1066
+ continue; // blank SQLName (app-tier-only) or standard role (never DB-mirrored)
1067
+ if (context.ServiceProtectedRoleSQLNames.has(sqlName.trim().toLowerCase())) {
1068
+ if (!this._serviceProtectedDenySkipsWarned.has(sqlName)) {
1069
+ this._serviceProtectedDenySkipsWarned.add(sqlName);
1070
+ logWarning(` ⚠️ SKIPPED field-security DENY to role '${sqlName}': a protected service login is a member of this role. ` +
1071
+ `A column DENY here would strip the column from the service login itself (DENY beats every sibling GRANT) and break the API for all users. ` +
1072
+ `Remove the service login from the role to enable DB-tier enforcement; app-tier enforcement is unaffected.`);
1073
+ }
1074
+ continue;
1075
+ }
1076
+ const columns = deniedColumnsByRole.get(sqlName) ?? [];
1077
+ if (!columns.includes(field.Name))
1078
+ columns.push(field.Name);
1079
+ deniedColumnsByRole.set(sqlName, columns);
1080
+ }
1081
+ }
1082
+ let sOutput = '';
1083
+ for (const [sqlName, columns] of [...deniedColumnsByRole.entries()].sort(([a], [b]) => ordinalCompare(a, b))) {
1084
+ sOutput += `\nDENY SELECT (${columns.map(c => `[${c}]`).join(', ')}) ON [${entity.SchemaName}].[${entity.BaseView}] TO [${sqlName}]`;
1085
+ }
1086
+ return sOutput;
1087
+ }
976
1088
  /** @inheritdoc */
977
1089
  generateViewPermissions(entity) {
978
1090
  let sOutput = '';
@@ -980,13 +1092,22 @@ GO
980
1092
  if (ep.RoleSQLName && ep.RoleSQLName.length > 0) {
981
1093
  sOutput += (sOutput === '' ? `GRANT SELECT ON [${entity.SchemaName}].[${entity.BaseView}] TO ` : ', ') + `[${ep.RoleSQLName}]`;
982
1094
  }
1095
+ else {
1096
+ this.logAppTierOnlyRoleSkip(ep.Role);
1097
+ }
983
1098
  }
984
- return (sOutput === '' ? '' : '\n') + sOutput;
1099
+ // Order matters: wipe (REVOKE within the managed scope) → assert grants → assert
1100
+ // field-security DENYs. The whole body executes every run via applyPermissions.
1101
+ const revokes = this.generateManagedPermissionRevokes(entity.SchemaName, entity.BaseView);
1102
+ const grants = (sOutput === '' ? '' : '\n') + sOutput;
1103
+ const denies = this.generateFieldSecurityDenies(entity);
1104
+ return revokes + grants + denies;
985
1105
  }
986
1106
  /**
987
1107
  * Generates `GRANT EXECUTE` SQL for a CRUD stored procedure, granting permission only
988
1108
  * to roles whose `EntityPermission` record allows the specified CRUD operation type.
989
- * Produces a single comma-separated `GRANT EXECUTE ON ... TO [role1], [role2]` statement.
1109
+ * Produces a single comma-separated `GRANT EXECUTE ON ... TO [role1], [role2]` statement,
1110
+ * preceded by the managed-scope reconciliation REVOKEs (see generateManagedPermissionRevokes).
990
1111
  */
991
1112
  generateCRUDPermissions(entity, routineName, type) {
992
1113
  let sOutput = '';
@@ -999,8 +1120,12 @@ GO
999
1120
  sOutput += (sOutput === '' ? `GRANT EXECUTE ON [${entity.SchemaName}].[${routineName}] TO ` : ', ') + `[${ep.RoleSQLName}]`;
1000
1121
  }
1001
1122
  }
1123
+ else {
1124
+ this.logAppTierOnlyRoleSkip(ep.Role);
1125
+ }
1002
1126
  }
1003
- return (sOutput === '' ? '' : '\n') + sOutput;
1127
+ const revokes = this.generateManagedPermissionRevokes(entity.SchemaName, routineName);
1128
+ return revokes + (sOutput === '' ? '' : '\n') + sOutput;
1004
1129
  }
1005
1130
  /** @inheritdoc */
1006
1131
  generateFullTextSearchPermissions(entity, functionName) {
@@ -1010,9 +1135,13 @@ GO
1010
1135
  if (ep.RoleSQLName && ep.RoleSQLName.length > 0) {
1011
1136
  sOutput += (sOutput === '' ? `GRANT SELECT ON [${entity.SchemaName}].[${functionName}] TO ` : ', ') + `[${ep.RoleSQLName}]`;
1012
1137
  }
1138
+ else {
1139
+ this.logAppTierOnlyRoleSkip(ep.Role);
1140
+ }
1013
1141
  }
1014
1142
  }
1015
- return (sOutput === '' ? '' : '\n') + sOutput;
1143
+ const revokes = this.generateManagedPermissionRevokes(entity.SchemaName, functionName);
1144
+ return revokes + (sOutput === '' ? '' : '\n') + sOutput;
1016
1145
  }
1017
1146
  // ─── CASCADE DELETES ─────────────────────────────────────────────────
1018
1147
  /** @inheritdoc */
@@ -1030,7 +1159,13 @@ GO
1030
1159
  generateCascadeCursorDelete(parentEntity, relatedEntity, fkField) {
1031
1160
  const qi = this.Dialect.QuoteIdentifier.bind(this.Dialect);
1032
1161
  const qs = this.Dialect.QuoteSchema.bind(this.Dialect);
1033
- const whereClause = `${qi(fkField.CodeName)} = @${parentEntity.FirstPrimaryKey.CodeName}`;
1162
+ const parentKey = this.resolveCascadeParentKeyField(parentEntity, fkField);
1163
+ if (!parentKey) {
1164
+ const warning = this.unresolvedCascadeKeyComment(parentEntity, relatedEntity, fkField);
1165
+ logWarning(`WARNING in ${this.getCRUDRoutineName(parentEntity, 'Delete')} generation: ${warning.trim()}`);
1166
+ return '\n' + warning;
1167
+ }
1168
+ const whereClause = `${qi(fkField.CodeName)} = @${parentKey.CodeName}`;
1034
1169
  const spName = this.getCRUDRoutineName(relatedEntity, 'Delete');
1035
1170
  const variablePrefix = `${relatedEntity.CodeName}_${fkField.CodeName}`;
1036
1171
  const pkComponents = this.buildPrimaryKeyComponents(relatedEntity, variablePrefix);
@@ -1064,7 +1199,13 @@ GO
1064
1199
  generateCascadeCursorUpdate(parentEntity, relatedEntity, fkField) {
1065
1200
  const qi = this.Dialect.QuoteIdentifier.bind(this.Dialect);
1066
1201
  const qs = this.Dialect.QuoteSchema.bind(this.Dialect);
1067
- const whereClause = `${qi(fkField.CodeName)} = @${parentEntity.FirstPrimaryKey.CodeName}`;
1202
+ const parentKey = this.resolveCascadeParentKeyField(parentEntity, fkField);
1203
+ if (!parentKey) {
1204
+ const warning = this.unresolvedCascadeKeyComment(parentEntity, relatedEntity, fkField);
1205
+ logWarning(`WARNING in ${this.getCRUDRoutineName(parentEntity, 'Delete')} generation: ${warning.trim()}`);
1206
+ return '\n' + warning;
1207
+ }
1208
+ const whereClause = `${qi(fkField.CodeName)} = @${parentKey.CodeName}`;
1068
1209
  const variablePrefix = `${relatedEntity.CodeName}_${fkField.CodeName}`;
1069
1210
  const spName = this.getCRUDRoutineName(relatedEntity, 'Update');
1070
1211
  const updateParams = this.buildUpdateCursorParameters(relatedEntity, fkField, variablePrefix);
@@ -1580,9 +1721,9 @@ ORDER BY
1580
1721
  * PK, and unique key detection.
1581
1722
  * 3. **Cleanup**: Drops the temp tables.
1582
1723
  */
1583
- getPendingEntityFieldsSQL(mjCoreSchema, entityIDs) {
1724
+ getPendingEntityFieldsSQL(mjCoreSchema, entityIDs, excludeSchemas) {
1584
1725
  return this.buildPendingFieldsTempTables(mjCoreSchema) +
1585
- this.buildPendingFieldsMainQuery(mjCoreSchema, entityIDs) +
1726
+ this.buildPendingFieldsMainQuery(mjCoreSchema, entityIDs, excludeSchemas) +
1586
1727
  this.buildPendingFieldsCleanup();
1587
1728
  }
1588
1729
  /**
@@ -1616,13 +1757,19 @@ FROM [${schema}].[vwTableUniqueKeys];
1616
1757
  * Uses MaxSequences CTE to calculate proper field ordering and NumberedRows
1617
1758
  * CTE to deduplicate results.
1618
1759
  */
1619
- buildPendingFieldsMainQuery(schema, entityIDs) {
1760
+ buildPendingFieldsMainQuery(schema, entityIDs, excludeSchemas) {
1620
1761
  // When scoped, narrow the scan to specific entities. SQL injection isn't a concern
1621
1762
  // here — entityIDs are MJ-internal UUIDs from the metadata cache, not user input —
1622
1763
  // but we quote each ID anyway for SQL Server's UUID literal syntax.
1623
1764
  const scopeFilter = entityIDs && entityIDs.length > 0
1624
1765
  ? `AND sf.EntityID IN (${entityIDs.map(id => `'${id}'`).join(',')})`
1625
1766
  : '';
1767
+ // includeSchemas is compiled into excludeSchemas before this query runs. Without this
1768
+ // filter, Pass 1 (unscoped entityIDs) inserts pending fields for EVERY schema in the
1769
+ // database — e.g. a Forms CodeGen run emitted Common Activity Files EntityField rows.
1770
+ const schemaFilter = excludeSchemas && excludeSchemas.length > 0
1771
+ ? `AND e.SchemaName NOT IN (${excludeSchemas.map(s => `'${s.replace(/'/g, "''")}'`).join(',')})`
1772
+ : '';
1626
1773
  return `WITH MaxSequences AS (
1627
1774
  SELECT
1628
1775
  EntityID,
@@ -1636,11 +1783,9 @@ NumberedRows AS (
1636
1783
  SELECT
1637
1784
  sf.EntityID,
1638
1785
  ISNULL(ms.MaxSequence, 0) + 100000 + sf.Sequence AS Sequence,
1639
- -- The RAW schema ordinal, carried alongside the temporary Sequence above. The INSERT emitter
1640
- -- adds it to an apply-time MAX(), so the ordering of newly discovered fields is encoded in the
1641
- -- emitted VALUE rather than depending on the order the INSERT statements happen to execute.
1642
- -- (Sequence above stays as-is: it is what this query ORDERs BY, and what the renumber pass
1643
- -- later overwrites from the schema.)
1786
+ -- The RAW schema ordinal. The INSERT emitter uses it for DefaultInView only; the emitted
1787
+ -- Sequence is an apply-time MAX()+1 subquery. (Sequence above is only this query's ORDER BY
1788
+ -- key — never inserted — and the renumber pass overwrites every row from the schema.)
1644
1789
  sf.Sequence AS SourceOrdinal,
1645
1790
  sf.FieldName,
1646
1791
  sf.Description,
@@ -1689,6 +1834,7 @@ NumberedRows AS (
1689
1834
  WHERE
1690
1835
  EntityFieldID IS NULL
1691
1836
  ${scopeFilter}
1837
+ ${schemaFilter}
1692
1838
  )
1693
1839
  SELECT *
1694
1840
  FROM NumberedRows
@@ -1 +1 @@
1
- {"version":3,"file":"SQLServerCodeGenProvider.js","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SQLServerCodeGenProvider.js","sourceRoot":"","sources":["../../../../src/Database/providers/sqlserver/SQLServerCodeGenProvider.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { EntityInfo, Metadata } from '@memberjunction/core';
3
3
  import { SQLServerDialect } from '@memberjunction/sql-dialect';
4
4
  import { SQLServerCodeGenProvider } from '../SQLServerCodeGenProvider.js';
5
5
  import { SQLCodeGenBase } from '../../../sql_codegen.js';
6
+ import { SQLLogging } from '../../../../Misc/sql_logging.js';
6
7
  function buildProviderStub(entities) {
7
8
  return {
8
9
  Entities: entities,
@@ -171,11 +172,15 @@ let originalProvider;
171
172
  function installMetadata(entities) {
172
173
  Metadata.Provider = buildProviderStub(entities);
173
174
  }
175
+ // These cases run the emitter against a recording connection with no CodeGen_Run file open.
176
+ let restoreSQLOutput;
174
177
  beforeAll(() => {
175
178
  originalProvider = Metadata.Provider;
179
+ restoreSQLOutput = SQLLogging.suppressOutputForTests();
176
180
  });
177
181
  afterAll(() => {
178
182
  Metadata.Provider = originalProvider;
183
+ restoreSQLOutput();
179
184
  });
180
185
  beforeEach(() => {
181
186
  generator = new SQLCodeGenBase();
@@ -455,7 +460,8 @@ describe('base view emission — geo virtual columns', () => {
455
460
  // display fields present the block is appended after ',\n' and aligns
456
461
  // normally. A formatting fix here would change every geo entity's stored
457
462
  // view text and force a one-time regeneration wave — hence pinned, not fixed.
458
- const entity = sitesEntity([pk('SITES-ENTITY-0006')]);
463
+ // ShouldJoinRecordGeoCodes needs SupportsGeoCoding AND a writable Geo* field (no native lat/lng).
464
+ const entity = sitesEntity([pk('SITES-ENTITY-0006'), nameField('SITES-ENTITY-0006', { Name: 'Address', ExtendedType: 'GeoAddress', IsNameField: false })]);
459
465
  const { viewSQL } = await generator.generateBaseViewPieces(pool, entity);
460
466
  expect(viewSQL).toContain(`SELECT
461
467
  s.*, __mj_rgc.[Latitude] AS [__mj_Latitude],
@@ -470,6 +476,13 @@ LEFT OUTER JOIN
470
476
  AND __mj_rgc.[LocationType] = 'Primary'
471
477
  GO`);
472
478
  });
479
+ it('GM-VIEW-10c: SupportsGeoCoding without a writable Geo field does NOT join vwRecordGeoCodes', async () => {
480
+ // ShouldJoinRecordGeoCodes requires a writable Geo* field, not just the entity flag.
481
+ const entity = sitesEntity([pk('SITES-ENTITY-0006')]);
482
+ const { viewSQL } = await generator.generateBaseViewPieces(pool, entity);
483
+ expect(viewSQL).not.toContain('vwRecordGeoCodes');
484
+ expect(viewSQL).not.toContain('__mj_Latitude');
485
+ });
473
486
  it('GM-VIEW-10b: with FK display fields present, the geo block is appended after ",\\n" and aligns on its own lines', async () => {
474
487
  const entity = new EntityInfo({
475
488
  ID: 'SITES-ENTITY-0006',
@@ -481,7 +494,7 @@ GO`);
481
494
  BaseViewGenerated: true,
482
495
  DeleteType: 'Hard',
483
496
  SupportsGeoCoding: true,
484
- EntityFields: [pk('SITES-ENTITY-0006'), customerFK({ EntityID: 'SITES-ENTITY-0006' })],
497
+ EntityFields: [pk('SITES-ENTITY-0006'), nameField('SITES-ENTITY-0006', { Name: 'Address', ExtendedType: 'GeoAddress', IsNameField: false }), customerFK({ EntityID: 'SITES-ENTITY-0006' })],
485
498
  EntityPermissions: [],
486
499
  });
487
500
  installMetadata([entity, customersEntity()]);