@memberjunction/core 6.2.0-edge.2 → 6.2.0-edge.4

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 (99) hide show
  1. package/dist/generic/InMemoryLocalStorageProvider.d.ts +5 -0
  2. package/dist/generic/InMemoryLocalStorageProvider.d.ts.map +1 -1
  3. package/dist/generic/InMemoryLocalStorageProvider.js +5 -0
  4. package/dist/generic/InMemoryLocalStorageProvider.js.map +1 -1
  5. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts +27 -0
  6. package/dist/generic/JSONType-interfaces/IEntityConfiguration.d.ts.map +1 -1
  7. package/dist/generic/JSONType-interfaces/IEntityRelationshipConfiguration.d.ts +19 -0
  8. package/dist/generic/JSONType-interfaces/IEntityRelationshipConfiguration.d.ts.map +1 -1
  9. package/dist/generic/RegisterForStartup.d.ts +44 -0
  10. package/dist/generic/RegisterForStartup.d.ts.map +1 -1
  11. package/dist/generic/RegisterForStartup.js +124 -48
  12. package/dist/generic/RegisterForStartup.js.map +1 -1
  13. package/dist/generic/baseEngine.d.ts +214 -3
  14. package/dist/generic/baseEngine.d.ts.map +1 -1
  15. package/dist/generic/baseEngine.js +460 -34
  16. package/dist/generic/baseEngine.js.map +1 -1
  17. package/dist/generic/baseEngineSweeper.d.ts +35 -0
  18. package/dist/generic/baseEngineSweeper.d.ts.map +1 -0
  19. package/dist/generic/baseEngineSweeper.js +97 -0
  20. package/dist/generic/baseEngineSweeper.js.map +1 -0
  21. package/dist/generic/baseEntity.d.ts +91 -7
  22. package/dist/generic/baseEntity.d.ts.map +1 -1
  23. package/dist/generic/baseEntity.js +161 -16
  24. package/dist/generic/baseEntity.js.map +1 -1
  25. package/dist/generic/databaseProviderBase.d.ts +54 -11
  26. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  27. package/dist/generic/databaseProviderBase.js +129 -35
  28. package/dist/generic/databaseProviderBase.js.map +1 -1
  29. package/dist/generic/entityConfiguration.d.ts +20 -0
  30. package/dist/generic/entityConfiguration.d.ts.map +1 -1
  31. package/dist/generic/entityConfiguration.js +34 -0
  32. package/dist/generic/entityConfiguration.js.map +1 -1
  33. package/dist/generic/entityEventBatch.d.ts +124 -0
  34. package/dist/generic/entityEventBatch.d.ts.map +1 -0
  35. package/dist/generic/entityEventBatch.js +194 -0
  36. package/dist/generic/entityEventBatch.js.map +1 -0
  37. package/dist/generic/entityInfo.d.ts +57 -6
  38. package/dist/generic/entityInfo.d.ts.map +1 -1
  39. package/dist/generic/entityInfo.js +72 -7
  40. package/dist/generic/entityInfo.js.map +1 -1
  41. package/dist/generic/entityRecordNameCache.d.ts +48 -0
  42. package/dist/generic/entityRecordNameCache.d.ts.map +1 -0
  43. package/dist/generic/entityRecordNameCache.js +92 -0
  44. package/dist/generic/entityRecordNameCache.js.map +1 -0
  45. package/dist/generic/interfaces.d.ts +151 -8
  46. package/dist/generic/interfaces.d.ts.map +1 -1
  47. package/dist/generic/interfaces.js.map +1 -1
  48. package/dist/generic/jsonFieldBinding.d.ts +196 -0
  49. package/dist/generic/jsonFieldBinding.d.ts.map +1 -0
  50. package/dist/generic/jsonFieldBinding.js +508 -0
  51. package/dist/generic/jsonFieldBinding.js.map +1 -0
  52. package/dist/generic/localCacheManager.d.ts +278 -16
  53. package/dist/generic/localCacheManager.d.ts.map +1 -1
  54. package/dist/generic/localCacheManager.js +737 -113
  55. package/dist/generic/localCacheManager.js.map +1 -1
  56. package/dist/generic/logging.d.ts +15 -0
  57. package/dist/generic/logging.d.ts.map +1 -1
  58. package/dist/generic/logging.js +17 -0
  59. package/dist/generic/logging.js.map +1 -1
  60. package/dist/generic/metadata.d.ts +1 -1
  61. package/dist/generic/metadata.d.ts.map +1 -1
  62. package/dist/generic/metadata.js.map +1 -1
  63. package/dist/generic/providerBase.d.ts +252 -35
  64. package/dist/generic/providerBase.d.ts.map +1 -1
  65. package/dist/generic/providerBase.js +503 -189
  66. package/dist/generic/providerBase.js.map +1 -1
  67. package/dist/generic/runQuery.d.ts +18 -1
  68. package/dist/generic/runQuery.d.ts.map +1 -1
  69. package/dist/generic/runQuery.js.map +1 -1
  70. package/dist/generic/runQuerySQLFilterImplementations.d.ts +7 -1
  71. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  72. package/dist/generic/runQuerySQLFilterImplementations.js +65 -140
  73. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  74. package/dist/generic/securityInfo.d.ts +5 -0
  75. package/dist/generic/securityInfo.d.ts.map +1 -1
  76. package/dist/generic/securityInfo.js +5 -0
  77. package/dist/generic/securityInfo.js.map +1 -1
  78. package/dist/generic/telemetryManager.d.ts +11 -0
  79. package/dist/generic/telemetryManager.d.ts.map +1 -1
  80. package/dist/generic/telemetryManager.js +43 -0
  81. package/dist/generic/telemetryManager.js.map +1 -1
  82. package/dist/generic/transactionGroup.d.ts +27 -0
  83. package/dist/generic/transactionGroup.d.ts.map +1 -1
  84. package/dist/generic/transactionGroup.js +58 -5
  85. package/dist/generic/transactionGroup.js.map +1 -1
  86. package/dist/generic/util.d.ts +6 -0
  87. package/dist/generic/util.d.ts.map +1 -1
  88. package/dist/generic/util.js +20 -0
  89. package/dist/generic/util.js.map +1 -1
  90. package/dist/index.d.ts +3 -0
  91. package/dist/index.d.ts.map +1 -1
  92. package/dist/index.js +3 -0
  93. package/dist/index.js.map +1 -1
  94. package/dist/views/runView.d.ts +24 -0
  95. package/dist/views/runView.d.ts.map +1 -1
  96. package/dist/views/runView.js +4 -0
  97. package/dist/views/runView.js.map +1 -1
  98. package/package.json +3 -3
  99. package/readme.md +29 -2
@@ -164,10 +164,13 @@ export declare abstract class DatabaseProviderBase extends ProviderBase {
164
164
  */
165
165
  protected get CurrentTransactionDepth(): number;
166
166
  /**
167
- * Public nesting depth. 0 = no ambient TX. Join-TX callers (accounting
168
- * CreateJournalEntries) must read this, not `IsInTransaction` (SQL Server
169
- * leaves that false). Deprecated camelCase `transactionDepth` alias ships
170
- * for one release.
167
+ * Public nesting depth of the transaction open on this instance; 0 = none. Read this, not
168
+ * `IsInTransaction` (SQL Server leaves that false), when you need to know whether a transaction
169
+ * is open at all. The depth is instance-wide: on a shared provider `TransactionDepth > 0` does
170
+ * NOT mean the caller's statements run in that transaction — only the async scope that began it
171
+ * is part of it (#4786). Code that needs to be inside a transaction should simply call
172
+ * {@link BeginTransaction} / {@link BeginEntityTransaction}: joining one the caller is already in
173
+ * is automatic. Deprecated camelCase `transactionDepth` alias ships for one release.
171
174
  */
172
175
  get TransactionDepth(): number;
173
176
  /**
@@ -193,15 +196,15 @@ export declare abstract class DatabaseProviderBase extends ProviderBase {
193
196
  */
194
197
  ResetTransactionState(): Promise<void>;
195
198
  /**
196
- * Run `task` once the ambient transaction on this provider has committed, or now if there is
197
- * no ambient transaction.
199
+ * Run `task` once the caller's transaction on this provider (the one its async scope belongs
200
+ * to) has committed, or now if the caller is in no transaction on this provider.
198
201
  *
199
202
  * Use it for side effects that must only happen for work that is actually durable — queueing
200
203
  * background jobs, firing deferred entity actions — and must not run *inside* the caller's
201
204
  * transaction. Providers that track transactions (see `GenericDatabaseProvider`) queue the task
202
- * while a transaction is open, run queued tasks in registration order after the **outermost**
203
- * commit succeeds (once the transaction lock is released, so a task may open its own
204
- * transaction), and discard them — without running them — when the transaction rolls back,
205
+ * while the caller's transaction is open, run queued tasks in registration order after the
206
+ * **outermost** commit succeeds (once the transaction lock is released, so a task may open its
207
+ * own transaction), and discard them — without running them — when the transaction rolls back,
205
208
  * fails to commit, or is abandoned.
206
209
  *
207
210
  * This default is for providers that do not track transactions: the task starts immediately.
@@ -226,8 +229,9 @@ export declare abstract class DatabaseProviderBase extends ProviderBase {
226
229
  */
227
230
  RunAfterCommit(task: PostCommitTask, description?: string, _token?: PostCommitToken): void;
228
231
  /**
229
- * Snapshot of the transaction frames open right now, for a later {@link RunAfterCommit}.
230
- * Synchronous by contract — call it before the first `await` of the code that causes the work.
232
+ * Snapshot of the caller's transaction frames on this provider (the transaction its async scope
233
+ * belongs to), for a later {@link RunAfterCommit}. Synchronous by contract — call it before the
234
+ * first `await` of the code that causes the work.
231
235
  *
232
236
  * @returns `undefined` when no transaction is open. This default never tracks transactions, so
233
237
  * it always returns `undefined`.
@@ -259,6 +263,11 @@ export declare abstract class DatabaseProviderBase extends ProviderBase {
259
263
  * physical transaction on the same pool, blind to any transaction the caller had already
260
264
  * started.
261
265
  *
266
+ * The transaction belongs to the async scope that calls this: that code and everything it starts
267
+ * run on the transaction; unrelated callers on the same provider instance run on the pool
268
+ * (GenericDatabaseProvider, #4786). Call it from the function that performs the writes — a begin
269
+ * reached only after an `await` inside a helper does not include the helper's caller.
270
+ *
262
271
  * The returned scope is **settle-once**: the first `Commit()` or `Rollback()` wins and later
263
272
  * calls are no-ops, so `try { ...; Commit() } catch { Rollback() }` is safe even when the work
264
273
  * already unwound its own scope.
@@ -429,6 +438,8 @@ export declare abstract class DatabaseProviderBase extends ProviderBase {
429
438
  * Only includes fields that have actually changed and are not read-only.
430
439
  */
431
440
  DiffObjects(oldData: Record<string, unknown>, newData: Record<string, unknown>, entityInfo: EntityInfo, quoteToEscape: string): Record<string, FieldChange> | null;
441
+ /** The diff entry for a binary field: its size, never its base64 (null and undefined pass through). */
442
+ private describeBinaryForDiff;
432
443
  /**
433
444
  * Determines whether a specific field value has changed between old and new data.
434
445
  */
@@ -735,9 +746,25 @@ export declare abstract class DatabaseProviderBase extends ProviderBase {
735
746
  * @returns The SQL query string, or null if the entity has no name field
736
747
  */
737
748
  protected BuildEntityRecordNameSQL(entityName: string, compositeKey: CompositeKey): string | null;
749
+ /**
750
+ * The fields a record's display name is built from, in order: every `IsNameField` field by
751
+ * `Sequence` (so FirstName + LastName gives "Elizabeth Rodriguez"), else the entity's single
752
+ * `NameField`. Empty when the entity has neither.
753
+ */
754
+ protected RecordNameFieldsOf(entity: EntityInfo): EntityFieldInfo[];
755
+ /**
756
+ * Whether a user may see this entity's record names: every field the name is built from must
757
+ * be readable to them. On an entity with field-level security on, a missing user may not,
758
+ * because there is nobody to check against.
759
+ */
760
+ protected CanUserReadRecordName(entity: EntityInfo, contextUser?: UserInfo): boolean;
738
761
  /**
739
762
  * Retrieves the display name for a single entity record.
740
763
  * Uses BuildEntityRecordNameSQL for dialect-neutral SQL generation.
764
+ *
765
+ * Answers with an empty string, without querying, when field-level security withholds any of
766
+ * the name fields from the acting user — the same answer as a record that does not exist, so
767
+ * the lookup cannot be used to tell the two apart.
741
768
  */
742
769
  protected InternalGetEntityRecordName(entityName: string, compositeKey: CompositeKey, contextUser?: UserInfo): Promise<string>;
743
770
  /**
@@ -1031,5 +1058,21 @@ export interface ExecuteSQLOptions {
1031
1058
  * pool read sees committed data only (#4514).
1032
1059
  */
1033
1060
  ignoreAmbientTransaction?: boolean;
1061
+ /**
1062
+ * Run the statement inside a read-only transaction that is always rolled back, for SQL a
1063
+ * caller supplied. Writes fail, and any session setting the statement changes (`SET`,
1064
+ * `set_config`) is undone before the connection goes back to the pool, so it cannot reach a
1065
+ * later request. Inside an ambient transaction the statement runs in that transaction as usual.
1066
+ * PostgreSQL honours it; SQL Server, whose read queries cannot change session settings, ignores it.
1067
+ */
1068
+ readOnlyTransaction?: boolean;
1069
+ /**
1070
+ * The longest this statement may run, in milliseconds. When it is exceeded the database cancels
1071
+ * the statement and the call rejects with a timeout error, so the work stops rather than only
1072
+ * the wait. Omitted or 0 means the connection's usual limit applies. It can only shorten that
1073
+ * limit, never lengthen it. Ignored inside an ambient transaction, whose statements follow the
1074
+ * transaction's own limits.
1075
+ */
1076
+ timeoutMs?: number;
1034
1077
  }
1035
1078
  //# sourceMappingURL=databaseProviderBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"databaseProviderBase.d.ts","sourceRoot":"","sources":["../../src/generic/databaseProviderBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"databaseProviderBase.d.ts","sourceRoot":"","sources":["../../src/generic/databaseProviderBase.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ import { DispatchRemoteOperationInProcess } from "./remoteOperationDispatch.js";
6
6
  import { TransactionItem } from "./transactionGroup.js";
7
7
  import { CompositeKey } from "./compositeKey.js";
8
8
  import { LogError } from "./logging.js";
9
- import { SQLExpressionValidator, StripSQLStringLiterals, uuidv4 } from "@memberjunction/global";
9
+ import { LocalCacheManager } from "./localCacheManager.js";
10
+ import { EscapeSQLString, FormatBinaryChangeValue, SQLExpressionValidator, StripSQLStringLiterals, uuidv4 } from "@memberjunction/global";
10
11
  import { GetDialect } from "@memberjunction/sql-dialect";
11
12
  // Re-export PlatformSQL types from their canonical location for backward compatibility
12
13
  export { IsPlatformSQL } from "./platformSQL.js";
@@ -82,10 +83,13 @@ export class DatabaseProviderBase extends ProviderBase {
82
83
  return 0;
83
84
  }
84
85
  /**
85
- * Public nesting depth. 0 = no ambient TX. Join-TX callers (accounting
86
- * CreateJournalEntries) must read this, not `IsInTransaction` (SQL Server
87
- * leaves that false). Deprecated camelCase `transactionDepth` alias ships
88
- * for one release.
86
+ * Public nesting depth of the transaction open on this instance; 0 = none. Read this, not
87
+ * `IsInTransaction` (SQL Server leaves that false), when you need to know whether a transaction
88
+ * is open at all. The depth is instance-wide: on a shared provider `TransactionDepth > 0` does
89
+ * NOT mean the caller's statements run in that transaction — only the async scope that began it
90
+ * is part of it (#4786). Code that needs to be inside a transaction should simply call
91
+ * {@link BeginTransaction} / {@link BeginEntityTransaction}: joining one the caller is already in
92
+ * is automatic. Deprecated camelCase `transactionDepth` alias ships for one release.
89
93
  */
90
94
  get TransactionDepth() {
91
95
  return this.CurrentTransactionDepth;
@@ -114,6 +118,11 @@ export class DatabaseProviderBase extends ProviderBase {
114
118
  await this.ResetTransactionState();
115
119
  }
116
120
  }
121
+ // Belt and braces: whatever route the rollback took, this instance is going away, so it
122
+ // must not leave an entity-event batch behind. A batch whose owner is collected is
123
+ // unreachable while its entities keep counting as pending, which makes every cached read
124
+ // of them miss for the life of the process.
125
+ await LocalCacheManager.Instance.AbandonEntityEventBatch(this);
117
126
  }
118
127
  /** @deprecated Use {@link TransactionDepth}. */
119
128
  get transactionDepth() {
@@ -128,15 +137,15 @@ export class DatabaseProviderBase extends ProviderBase {
128
137
  /* no-op */
129
138
  }
130
139
  /**
131
- * Run `task` once the ambient transaction on this provider has committed, or now if there is
132
- * no ambient transaction.
140
+ * Run `task` once the caller's transaction on this provider (the one its async scope belongs
141
+ * to) has committed, or now if the caller is in no transaction on this provider.
133
142
  *
134
143
  * Use it for side effects that must only happen for work that is actually durable — queueing
135
144
  * background jobs, firing deferred entity actions — and must not run *inside* the caller's
136
145
  * transaction. Providers that track transactions (see `GenericDatabaseProvider`) queue the task
137
- * while a transaction is open, run queued tasks in registration order after the **outermost**
138
- * commit succeeds (once the transaction lock is released, so a task may open its own
139
- * transaction), and discard them — without running them — when the transaction rolls back,
146
+ * while the caller's transaction is open, run queued tasks in registration order after the
147
+ * **outermost** commit succeeds (once the transaction lock is released, so a task may open its
148
+ * own transaction), and discard them — without running them — when the transaction rolls back,
140
149
  * fails to commit, or is abandoned.
141
150
  *
142
151
  * This default is for providers that do not track transactions: the task starts immediately.
@@ -163,8 +172,9 @@ export class DatabaseProviderBase extends ProviderBase {
163
172
  void this.RunPostCommitTaskSafely(task, description);
164
173
  }
165
174
  /**
166
- * Snapshot of the transaction frames open right now, for a later {@link RunAfterCommit}.
167
- * Synchronous by contract — call it before the first `await` of the code that causes the work.
175
+ * Snapshot of the caller's transaction frames on this provider (the transaction its async scope
176
+ * belongs to), for a later {@link RunAfterCommit}. Synchronous by contract — call it before the
177
+ * first `await` of the code that causes the work.
168
178
  *
169
179
  * @returns `undefined` when no transaction is open. This default never tracks transactions, so
170
180
  * it always returns `undefined`.
@@ -207,6 +217,11 @@ export class DatabaseProviderBase extends ProviderBase {
207
217
  * physical transaction on the same pool, blind to any transaction the caller had already
208
218
  * started.
209
219
  *
220
+ * The transaction belongs to the async scope that calls this: that code and everything it starts
221
+ * run on the transaction; unrelated callers on the same provider instance run on the pool
222
+ * (GenericDatabaseProvider, #4786). Call it from the function that performs the writes — a begin
223
+ * reached only after an `await` inside a helper does not include the helper's caller.
224
+ *
210
225
  * The returned scope is **settle-once**: the first `Commit()` or `Rollback()` wins and later
211
226
  * calls are no-ops, so `try { ...; Commit() } catch { Rollback() }` is safe even when the work
212
227
  * already unwound its own scope.
@@ -222,6 +237,10 @@ export class DatabaseProviderBase extends ProviderBase {
222
237
  const isNested = this.IsInTransaction || this.CurrentTransactionDepth > 0;
223
238
  await this.BeginTransaction();
224
239
  const depthAtBegin = this.CurrentTransactionDepth;
240
+ // Cache maintenance for the saves in this scope waits for the outermost settle: one rewrite
241
+ // per cached slot on commit instead of one per save, and nothing written for work that is
242
+ // rolled back. Nested scopes join the same batch.
243
+ LocalCacheManager.Instance.BeginEntityEventBatch(this);
225
244
  let settled = false;
226
245
  const settle = async (commit) => {
227
246
  if (settled) {
@@ -244,11 +263,18 @@ export class DatabaseProviderBase extends ProviderBase {
244
263
  `work. Do not run concurrent transactional saves on a shared provider instance — use ` +
245
264
  `per-request providers (as MJServer does) or serialize the units of work.`);
246
265
  }
247
- if (commit) {
248
- await this.CommitTransaction();
266
+ let settledAsCommit = false;
267
+ try {
268
+ if (commit) {
269
+ await this.CommitTransaction();
270
+ settledAsCommit = true;
271
+ }
272
+ else {
273
+ await this.RollbackTransaction();
274
+ }
249
275
  }
250
- else {
251
- await this.RollbackTransaction();
276
+ finally {
277
+ await LocalCacheManager.Instance.EndEntityEventBatch(this, settledAsCommit);
252
278
  }
253
279
  };
254
280
  return {
@@ -374,6 +400,13 @@ export class DatabaseProviderBase extends ProviderBase {
374
400
  continue; // skip if field not found in entity info
375
401
  const bDiff = this.isFieldDifferent(f, oldData[key], newData[key]);
376
402
  if (bDiff) {
403
+ if (f.IsBinaryFieldType) {
404
+ // A binary value (base64, possibly megabytes) is recorded by size, not content:
405
+ // the record snapshot (FullRecordJSON) keeps the bytes for restore, so the diff
406
+ // does not need to carry them twice more. Readers get a readable change either way.
407
+ changes[key] = { field: key, oldValue: this.describeBinaryForDiff(oldData[key]), newValue: this.describeBinaryForDiff(newData[key]) };
408
+ continue;
409
+ }
377
410
  const o = this.escapeValueForDiff(oldData[key], quoteToEscape);
378
411
  const n = this.escapeValueForDiff(newData[key], quoteToEscape);
379
412
  changes[key] = { field: key, oldValue: o, newValue: n };
@@ -381,6 +414,12 @@ export class DatabaseProviderBase extends ProviderBase {
381
414
  }
382
415
  return changes;
383
416
  }
417
+ /** The diff entry for a binary field: its size, never its base64 (null and undefined pass through). */
418
+ describeBinaryForDiff(value) {
419
+ if (value === null || value === undefined)
420
+ return value;
421
+ return FormatBinaryChangeValue(typeof value === 'string' ? value : String(value));
422
+ }
384
423
  /**
385
424
  * Determines whether a specific field value has changed between old and new data.
386
425
  */
@@ -1110,38 +1149,79 @@ export class DatabaseProviderBase extends ProviderBase {
1110
1149
  const e = this.EntityByName(entityName);
1111
1150
  if (!e)
1112
1151
  throw new Error('Entity ' + entityName + ' not found');
1113
- // Collect ALL IsNameField fields in Sequence order for multi-field name support
1114
- // (e.g., FirstName + LastName → "Elizabeth Rodriguez")
1115
- const nameFields = e.Fields
1116
- .filter(f => f.IsNameField)
1117
- .sort((a, b) => (a.Sequence ?? 9999) - (b.Sequence ?? 9999));
1118
- // Fall back to the single NameField if no IsNameField flags are set
1152
+ const nameFields = this.RecordNameFieldsOf(e);
1119
1153
  if (nameFields.length === 0) {
1120
- const f = e.NameField;
1121
- if (!f) {
1122
- LogError('Entity ' + entityName + ' does not have a NameField, returning null');
1123
- return null;
1124
- }
1125
- nameFields.push(f);
1154
+ LogError('Entity ' + entityName + ' does not have a NameField, returning null');
1155
+ return null;
1126
1156
  }
1127
1157
  let where = '';
1128
1158
  for (const pkv of compositeKey.KeyValuePairs) {
1129
1159
  const pk = e.PrimaryKeys.find((pk) => pk.Name === pkv.FieldName);
1130
- const quotes = pk && pk.NeedsQuotes ? "'" : '';
1131
1160
  if (where.length > 0)
1132
1161
  where += ' AND ';
1133
- where += this.QuoteIdentifier(pkv.FieldName) + '=' + quotes + pkv.Value + quotes;
1162
+ if (pk && pk.NeedsQuotes) {
1163
+ // Key values arrive from remote callers — escape so a quote in the value cannot
1164
+ // break out of the literal (same discipline as CompositeKey.ToWhereClause).
1165
+ where += this.QuoteIdentifier(pkv.FieldName) + "='" + EscapeSQLString(String(pkv.Value)) + "'";
1166
+ }
1167
+ else {
1168
+ // Unquoted (numeric) key column: the value is spliced in bare, so refuse anything
1169
+ // that is not a plain number rather than letting it reach the SQL text.
1170
+ const raw = String(pkv.Value);
1171
+ if (!/^-?\d+(\.\d+)?$/.test(raw)) {
1172
+ LogError(`BuildEntityRecordNameSQL: non-numeric value provided for numeric key field ${pkv.FieldName} on entity ${entityName}`);
1173
+ return null;
1174
+ }
1175
+ where += this.QuoteIdentifier(pkv.FieldName) + '=' + raw;
1176
+ }
1134
1177
  }
1135
1178
  // SELECT all name fields so InternalGetEntityRecordName can concatenate them
1136
1179
  const selectFields = nameFields.map(f => this.QuoteIdentifier(f.Name)).join(', ');
1137
1180
  return 'SELECT ' + selectFields + ' FROM ' + this.QuoteSchemaAndView(e.SchemaName, e.BaseView) + ' WHERE ' + where;
1138
1181
  }
1182
+ /**
1183
+ * The fields a record's display name is built from, in order: every `IsNameField` field by
1184
+ * `Sequence` (so FirstName + LastName gives "Elizabeth Rodriguez"), else the entity's single
1185
+ * `NameField`. Empty when the entity has neither.
1186
+ */
1187
+ RecordNameFieldsOf(entity) {
1188
+ const nameFields = entity.Fields
1189
+ .filter(f => f.IsNameField)
1190
+ .sort((a, b) => (a.Sequence ?? 9999) - (b.Sequence ?? 9999));
1191
+ if (nameFields.length === 0 && entity.NameField) {
1192
+ nameFields.push(entity.NameField);
1193
+ }
1194
+ return nameFields;
1195
+ }
1196
+ /**
1197
+ * Whether a user may see this entity's record names: every field the name is built from must
1198
+ * be readable to them. On an entity with field-level security on, a missing user may not,
1199
+ * because there is nobody to check against.
1200
+ */
1201
+ CanUserReadRecordName(entity, contextUser) {
1202
+ if (!entity.EnableFieldLevelSecurity) {
1203
+ return true;
1204
+ }
1205
+ if (!contextUser) {
1206
+ return false;
1207
+ }
1208
+ const denied = entity.GetDeniedReadFields(contextUser);
1209
+ return this.RecordNameFieldsOf(entity).every(f => !denied.has(f.Name.trim().toLowerCase()));
1210
+ }
1139
1211
  /**
1140
1212
  * Retrieves the display name for a single entity record.
1141
1213
  * Uses BuildEntityRecordNameSQL for dialect-neutral SQL generation.
1214
+ *
1215
+ * Answers with an empty string, without querying, when field-level security withholds any of
1216
+ * the name fields from the acting user — the same answer as a record that does not exist, so
1217
+ * the lookup cannot be used to tell the two apart.
1142
1218
  */
1143
1219
  async InternalGetEntityRecordName(entityName, compositeKey, contextUser) {
1144
1220
  try {
1221
+ const entity = this.EntityByName(entityName);
1222
+ if (entity && !this.CanUserReadRecordName(entity, contextUser)) {
1223
+ return '';
1224
+ }
1145
1225
  const sql = this.BuildEntityRecordNameSQL(entityName, compositeKey);
1146
1226
  if (sql) {
1147
1227
  const data = await this.ExecuteSQL(sql, undefined, undefined, contextUser);
@@ -1202,6 +1282,20 @@ export class DatabaseProviderBase extends ProviderBase {
1202
1282
  */
1203
1283
  async Save(entity, user, options) {
1204
1284
  const entityResult = new BaseEntityResult();
1285
+ // Each suspend is matched by exactly one resume, whichever path (success, transaction
1286
+ // callback, or catch) gets there first: providers count suspensions, so a stray resume
1287
+ // would re-enable refresh while another save is still running.
1288
+ let refreshSuspended = false;
1289
+ const suspendRefresh = () => {
1290
+ refreshSuspended = true;
1291
+ this.OnSuspendRefresh();
1292
+ };
1293
+ const resumeRefresh = () => {
1294
+ if (refreshSuspended) {
1295
+ refreshSuspended = false;
1296
+ this.OnResumeRefresh();
1297
+ }
1298
+ };
1205
1299
  try {
1206
1300
  entity.RegisterTransactionPreprocessing();
1207
1301
  // External-data-source entities are read-only — MJ is never the system of record for
@@ -1316,14 +1410,14 @@ export class DatabaseProviderBase extends ProviderBase {
1316
1410
  if (entity.TransactionGroup && !bReplay) {
1317
1411
  // ---- Transaction Group path ----
1318
1412
  entity.RaiseReadyForTransaction();
1319
- this.OnSuspendRefresh();
1413
+ suspendRefresh();
1320
1414
  const extraData = this.GetTransactionExtraData(entity);
1321
1415
  if (sqlDetails.simpleSQL) {
1322
1416
  extraData.simpleSQLFallback = sqlDetails.simpleSQL;
1323
1417
  }
1324
1418
  extraData.entityName = entity.EntityInfo.Name;
1325
1419
  entity.TransactionGroup.AddTransaction(new TransactionItem(entity, entityResult.Type === 'create' ? 'Create' : 'Update', sqlDetails.fullSQL, sqlDetails.parameters ?? null, extraData, (transactionResult, success) => {
1326
- this.OnResumeRefresh();
1420
+ resumeRefresh();
1327
1421
  entityResult.EndedAt = new Date();
1328
1422
  if (success && transactionResult) {
1329
1423
  this.OnAfterSaveExecute(entity, user, options, saveContext);
@@ -1339,7 +1433,7 @@ export class DatabaseProviderBase extends ProviderBase {
1339
1433
  }
1340
1434
  else {
1341
1435
  // ---- Direct execution path ----
1342
- this.OnSuspendRefresh();
1436
+ suspendRefresh();
1343
1437
  let result;
1344
1438
  if (bReplay) {
1345
1439
  result = [entity.GetAll()];
@@ -1349,7 +1443,7 @@ export class DatabaseProviderBase extends ProviderBase {
1349
1443
  const rawResult = await this.ExecuteSQL(sqlDetails.fullSQL, sqlDetails.parameters ?? undefined, execOptions, user);
1350
1444
  result = await this.PostProcessRows(rawResult, entity.EntityInfo, user);
1351
1445
  }
1352
- this.OnResumeRefresh();
1446
+ resumeRefresh();
1353
1447
  entityResult.EndedAt = new Date();
1354
1448
  if (result && result.length > 0) {
1355
1449
  this.OnAfterSaveExecute(entity, user, options, saveContext);
@@ -1376,7 +1470,7 @@ export class DatabaseProviderBase extends ProviderBase {
1376
1470
  }
1377
1471
  }
1378
1472
  catch (e) {
1379
- this.OnResumeRefresh();
1473
+ resumeRefresh();
1380
1474
  entityResult.EndedAt = new Date();
1381
1475
  entityResult.Message = e.message;
1382
1476
  LogError(e);