@memberjunction/core 6.2.0-edge.5 → 6.2.0-edge.6

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 (121) hide show
  1. package/dist/generic/BaseEntitySaveQueue.d.ts +15 -0
  2. package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -1
  3. package/dist/generic/BaseEntitySaveQueue.js +21 -0
  4. package/dist/generic/BaseEntitySaveQueue.js.map +1 -1
  5. package/dist/generic/alternateBaseViews.d.ts +119 -0
  6. package/dist/generic/alternateBaseViews.d.ts.map +1 -0
  7. package/dist/generic/alternateBaseViews.js +223 -0
  8. package/dist/generic/alternateBaseViews.js.map +1 -0
  9. package/dist/generic/baseEngine.d.ts +53 -9
  10. package/dist/generic/baseEngine.d.ts.map +1 -1
  11. package/dist/generic/baseEngine.js +194 -35
  12. package/dist/generic/baseEngine.js.map +1 -1
  13. package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
  14. package/dist/generic/baseEngineRegistry.js +2 -1
  15. package/dist/generic/baseEngineRegistry.js.map +1 -1
  16. package/dist/generic/baseEntity.d.ts +153 -17
  17. package/dist/generic/baseEntity.d.ts.map +1 -1
  18. package/dist/generic/baseEntity.js +345 -46
  19. package/dist/generic/baseEntity.js.map +1 -1
  20. package/dist/generic/contextTokens.d.ts +136 -0
  21. package/dist/generic/contextTokens.d.ts.map +1 -0
  22. package/dist/generic/contextTokens.js +319 -0
  23. package/dist/generic/contextTokens.js.map +1 -0
  24. package/dist/generic/databaseProviderBase.d.ts +66 -5
  25. package/dist/generic/databaseProviderBase.d.ts.map +1 -1
  26. package/dist/generic/databaseProviderBase.js +159 -12
  27. package/dist/generic/databaseProviderBase.js.map +1 -1
  28. package/dist/generic/embeddedRecord.d.ts +6 -0
  29. package/dist/generic/embeddedRecord.d.ts.map +1 -1
  30. package/dist/generic/embeddedRecord.js +15 -1
  31. package/dist/generic/embeddedRecord.js.map +1 -1
  32. package/dist/generic/entityCompanion.d.ts +7 -0
  33. package/dist/generic/entityCompanion.d.ts.map +1 -1
  34. package/dist/generic/entityCompanion.js +8 -0
  35. package/dist/generic/entityCompanion.js.map +1 -1
  36. package/dist/generic/entityInfo.d.ts +228 -9
  37. package/dist/generic/entityInfo.d.ts.map +1 -1
  38. package/dist/generic/entityInfo.js +574 -65
  39. package/dist/generic/entityInfo.js.map +1 -1
  40. package/dist/generic/entityValueFieldSecurity.d.ts +139 -0
  41. package/dist/generic/entityValueFieldSecurity.d.ts.map +1 -0
  42. package/dist/generic/entityValueFieldSecurity.js +250 -0
  43. package/dist/generic/entityValueFieldSecurity.js.map +1 -0
  44. package/dist/generic/fieldSecuritySQLGate.d.ts +350 -0
  45. package/dist/generic/fieldSecuritySQLGate.d.ts.map +1 -0
  46. package/dist/generic/fieldSecuritySQLGate.js +898 -0
  47. package/dist/generic/fieldSecuritySQLGate.js.map +1 -0
  48. package/dist/generic/indexRestrictedFields.d.ts +47 -0
  49. package/dist/generic/indexRestrictedFields.d.ts.map +1 -0
  50. package/dist/generic/indexRestrictedFields.js +129 -0
  51. package/dist/generic/indexRestrictedFields.js.map +1 -0
  52. package/dist/generic/interfaces.d.ts +14 -1
  53. package/dist/generic/interfaces.d.ts.map +1 -1
  54. package/dist/generic/interfaces.js.map +1 -1
  55. package/dist/generic/localCacheManager.d.ts +80 -11
  56. package/dist/generic/localCacheManager.d.ts.map +1 -1
  57. package/dist/generic/localCacheManager.js +209 -38
  58. package/dist/generic/localCacheManager.js.map +1 -1
  59. package/dist/generic/logging.d.ts.map +1 -1
  60. package/dist/generic/logging.js +7 -1
  61. package/dist/generic/logging.js.map +1 -1
  62. package/dist/generic/metadata.d.ts +3 -2
  63. package/dist/generic/metadata.d.ts.map +1 -1
  64. package/dist/generic/metadata.js +5 -2
  65. package/dist/generic/metadata.js.map +1 -1
  66. package/dist/generic/platformSQL.d.ts +54 -0
  67. package/dist/generic/platformSQL.d.ts.map +1 -1
  68. package/dist/generic/platformSQL.js +55 -0
  69. package/dist/generic/platformSQL.js.map +1 -1
  70. package/dist/generic/providerBase.d.ts +254 -56
  71. package/dist/generic/providerBase.d.ts.map +1 -1
  72. package/dist/generic/providerBase.js +698 -195
  73. package/dist/generic/providerBase.js.map +1 -1
  74. package/dist/generic/queryInfo.d.ts +13 -0
  75. package/dist/generic/queryInfo.d.ts.map +1 -1
  76. package/dist/generic/queryInfo.js +13 -0
  77. package/dist/generic/queryInfo.js.map +1 -1
  78. package/dist/generic/queryInfoInterfaces.d.ts +8 -0
  79. package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
  80. package/dist/generic/queryTemplateContext.d.ts +49 -0
  81. package/dist/generic/queryTemplateContext.d.ts.map +1 -0
  82. package/dist/generic/queryTemplateContext.js +113 -0
  83. package/dist/generic/queryTemplateContext.js.map +1 -0
  84. package/dist/generic/recordChangeFieldSecurity.d.ts.map +1 -1
  85. package/dist/generic/recordChangeFieldSecurity.js +13 -2
  86. package/dist/generic/recordChangeFieldSecurity.js.map +1 -1
  87. package/dist/generic/relatedRecordCollection.d.ts +13 -0
  88. package/dist/generic/relatedRecordCollection.d.ts.map +1 -1
  89. package/dist/generic/relatedRecordCollection.js +44 -5
  90. package/dist/generic/relatedRecordCollection.js.map +1 -1
  91. package/dist/generic/runQuery.d.ts +42 -0
  92. package/dist/generic/runQuery.d.ts.map +1 -1
  93. package/dist/generic/runQuery.js +14 -0
  94. package/dist/generic/runQuery.js.map +1 -1
  95. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  96. package/dist/generic/runQuerySQLFilterImplementations.js +38 -2
  97. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  98. package/dist/generic/saveEntityGraphOperation.d.ts.map +1 -1
  99. package/dist/generic/saveEntityGraphOperation.js +3 -0
  100. package/dist/generic/saveEntityGraphOperation.js.map +1 -1
  101. package/dist/generic/securityInfo.d.ts +11 -0
  102. package/dist/generic/securityInfo.d.ts.map +1 -1
  103. package/dist/generic/securityInfo.js +15 -0
  104. package/dist/generic/securityInfo.js.map +1 -1
  105. package/dist/generic/telemetryManager.d.ts +9 -0
  106. package/dist/generic/telemetryManager.d.ts.map +1 -1
  107. package/dist/generic/telemetryManager.js +5 -1
  108. package/dist/generic/telemetryManager.js.map +1 -1
  109. package/dist/index.d.ts +7 -0
  110. package/dist/index.d.ts.map +1 -1
  111. package/dist/index.js +7 -0
  112. package/dist/index.js.map +1 -1
  113. package/dist/views/runView.d.ts +89 -0
  114. package/dist/views/runView.d.ts.map +1 -1
  115. package/dist/views/runView.js +36 -0
  116. package/dist/views/runView.js.map +1 -1
  117. package/dist/views/viewProperties.d.ts +55 -0
  118. package/dist/views/viewProperties.d.ts.map +1 -0
  119. package/dist/views/viewProperties.js +258 -0
  120. package/dist/views/viewProperties.js.map +1 -0
  121. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"embeddedRecord.d.ts","sourceRoot":"","sources":["../../src/generic/embeddedRecord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddedRecord.d.ts","sourceRoot":"","sources":["../../src/generic/embeddedRecord.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,8BAA8B,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC5G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAA4C,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAC1F,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAqB,MAAM,cAAc,CAAC;AAC9F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C,+DAA+D;AAC/D,MAAM,MAAM,uBAAuB,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAErE,6DAA6D;AAC7D,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,MAAM,qBAAqB,GAAG;IAChC;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,aAAa,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,wBAAwB,CAAC;CACzC,CAAC;AAEF,6FAA6F;AAC7F,MAAM,MAAM,kBAAkB,GAAG;IAC7B;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,sBAAsB,EAAE,GAAG,IAAI,CAAC;CAC/C,CAAC;AAEF;;;;GAIG;AACH,qBAAa,cAAc,CAAC,CAAC,SAAS,UAAU,GAAG,UAAU,CAAE,SAAQ,eAAe,CAAC,kBAAkB,CAAC;IACtG,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,eAAe,EAAE,MAAM,CAAC;IACxC,SAAgB,iBAAiB,EAAE,MAAM,CAAC;IAC1C,SAAgB,SAAS,EAAE,uBAAuB,CAAC;IACnD,SAAgB,UAAU,EAAE,wBAAwB,CAAC;IAErD,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,YAAY,CAAS;gBAEjB,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB;IAU7D,0EAA0E;IAC1E,IAAW,KAAK,IAAI,CAAC,GAAG,IAAI,CAE3B;IAED,kDAAkD;IAClD,IAAW,aAAa,IAAI,OAAO,CAElC;IAED,oDAAoD;IACpD,IAAW,UAAU,IAAI,OAAO,CAG/B;IAED;;;;;OAKG;IACU,kBAAkB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBpE;;OAEG;IACI,MAAM,IAAI,CAAC;IAqBlB;;OAEG;IACI,KAAK,IAAI,IAAI;IAYpB;;;OAGG;IACa,yBAAyB,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI;IAM/D;;;OAGG;IACI,gBAAgB,IAAI,IAAI;IAsB/B,kBAAkB;IAClB,IAAoB,KAAK,IAAI,OAAO,CAQnC;IAED,kBAAkB;IACF,QAAQ,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI;IAaxD,kBAAkB;IACI,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5E,kBAAkB;IACF,kBAAkB,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAe3F,kBAAkB;IACF,wBAAwB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAUpE,kBAAkB;IACI,SAAS,CAAC,OAAO,GAAE,GAAG,CAAC,MAAM,CAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IAoDxF,kBAAkB;IACF,aAAa,IAAI,IAAI;IAIrC,kBAAkB;IACI,SAAS,CAAC,IAAI,GAAE,8BAA0C,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAwBrH,kBAAkB;IACI,WAAW,CAC7B,IAAI,EAAE,kBAAkB,EACxB,IAAI,GAAE,8BAA0C,GACjD,OAAO,CAAC,IAAI,CAAC;YAgCF,SAAS;YAwBT,qBAAqB;IAcnC,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,WAAW;IASH,YAAY,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;CAK3E"}
@@ -15,6 +15,7 @@
15
15
  import { CompositeKey, KeyValuePair } from './compositeKey.js';
16
16
  import { EntityCompanion } from './entityCompanion.js';
17
17
  import { ValidationErrorInfo, ValidationErrorType } from './entityInfo.js';
18
+ import { AssertClientInputWritableForUser, OmitFieldsUnreadableByActiveUser } from './entityValueFieldSecurity.js';
18
19
  /**
19
20
  * Internal companion for one owner-held 1:1 peer.
20
21
  *
@@ -108,6 +109,15 @@ export class EmbeddedRecord extends EntityCompanion {
108
109
  this.cleared = true;
109
110
  this.Owner.Set(this.ForeignKeyField, null);
110
111
  }
112
+ /**
113
+ * Called when the owner is given a different user: the embedded record gets the same one,
114
+ * which narrows what it already holds to that user (see `BaseEntity.ContextCurrentUser`).
115
+ */
116
+ OnOwnerContextUserChanged(user) {
117
+ if (this.instance) {
118
+ this.instance.ContextCurrentUser = user;
119
+ }
120
+ }
111
121
  /**
112
122
  * Called from the owner's `NewRecord()`. Required FKs are provisioned here so
113
123
  * `owner.OrderID_Object` is usable immediately after `GetEntityObject`.
@@ -267,7 +277,7 @@ export class EmbeddedRecord extends EntityCompanion {
267
277
  const companions = await this.instance.SerializeCompanions(mode);
268
278
  return {
269
279
  EntityName: this.instance.EntityInfo?.Name ?? this.RelatedEntityName,
270
- Fields: this.instance.GetAll(),
280
+ Fields: OmitFieldsUnreadableByActiveUser(this.instance, this.instance.GetAll()),
271
281
  IsNew: !this.instance.IsSaved,
272
282
  Cleared: false,
273
283
  Companions: companions.length > 0 ? companions : null,
@@ -309,6 +319,10 @@ export class EmbeddedRecord extends EntityCompanion {
309
319
  }
310
320
  return;
311
321
  }
322
+ // A request carries client input: a caller with any field denial may send only the fields
323
+ // they can read, and a denied key and an unknown key get the same refusal. A no-op without
324
+ // a context user (no server-side caller).
325
+ AssertClientInputWritableForUser(target.EntityInfo, data.Fields, this.Owner.ContextCurrentUser);
312
326
  if (data.IsNew) {
313
327
  target.NewRecord();
314
328
  target.SetMany(data.Fields, true);
@@ -1 +1 @@
1
- {"version":3,"file":"embeddedRecord.js","sourceRoot":"","sources":["../../src/generic/embeddedRecord.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"embeddedRecord.js","sourceRoot":"","sources":["../../src/generic/embeddedRecord.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ import { BaseEntity } from './baseEntity.js';
44
44
  import { ValidationResult } from './entityInfo.js';
45
45
  import type { EntitySavePlan } from './entitySavePlan.js';
46
46
  import type { EntitySaveOptions, IEntityDataProvider } from './interfaces.js';
47
+ import type { UserInfo } from './securityInfo.js';
47
48
  /**
48
49
  * The serialized form of a single companion as it crosses the wire.
49
50
  *
@@ -237,5 +238,11 @@ export declare abstract class EntityCompanion<TWire = unknown> {
237
238
  * Subclasses with child entities override this to propagate the provider.
238
239
  */
239
240
  BindProvider(_provider: IEntityDataProvider | null): void;
241
+ /**
242
+ * Called when the owner is given a different user (`BaseEntity.ContextCurrentUser`).
243
+ * Subclasses holding child entities override this to give them the same user, which narrows
244
+ * what they already hold to that user.
245
+ */
246
+ OnOwnerContextUserChanged(_user: UserInfo): void;
240
247
  }
241
248
  //# sourceMappingURL=entityCompanion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityCompanion.d.ts","sourceRoot":"","sources":["../../src/generic/entityCompanion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAE3E;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,8BAA8B,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAAsB,eAAe,CAAC,KAAK,GAAG,OAAO;IACjD;;OAEG;IACH,SAAgB,KAAK,EAAE,UAAU,CAAC;IAElC;;OAEG;gBACS,KAAK,EAAE,UAAU;IAI7B;;;;;;OAMG;IACH,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC;;;;;;;;;;;;;OAaG;aACa,SAAS,CAAC,IAAI,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAEvF;;;;;;;;;;OAUG;aACa,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7F;;;;;;;;OAQG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;;;;;;;;;;OAWG;IACU,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAIpF;;;;;;;;OAQG;IACI,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIxD;;;;;;;;OAQG;IACI,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAI5D;;;;;;;;;;;OAWG;IACU,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;OAGG;IACI,aAAa,IAAI,IAAI;IAI5B;;;OAGG;IACI,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;CAGnE"}
1
+ {"version":3,"file":"entityCompanion.d.ts","sourceRoot":"","sources":["../../src/generic/entityCompanion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE/C;;;;;GAKG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACjC,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,kBAAkB,CAAC;AAErD;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,8BAA8B,GAAG,SAAS,GAAG,QAAQ,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,8BAAsB,eAAe,CAAC,KAAK,GAAG,OAAO;IACjD;;OAEG;IACH,SAAgB,KAAK,EAAE,UAAU,CAAC;IAElC;;OAEG;gBACS,KAAK,EAAE,UAAU;IAI7B;;;;;;OAMG;IACH,kBAAyB,IAAI,EAAE,MAAM,CAAC;IAEtC;;;;;;;;;;;;;OAaG;aACa,SAAS,CAAC,IAAI,CAAC,EAAE,8BAA8B,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAEvF;;;;;;;;;;OAUG;aACa,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAE7F;;;;;;;;OAQG;IACH,IAAW,KAAK,IAAI,OAAO,CAE1B;IAED;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAIhD;;;;;;;;;;;OAWG;IACU,aAAa,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,IAAI;IAIpF;;;;;;;;OAQG;IACI,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAIxD;;;;;;;;OAQG;IACI,wBAAwB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAI5D;;;;;;;;;;;OAWG;IACU,SAAS,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;OAGG;IACI,aAAa,IAAI,IAAI;IAI5B;;;OAGG;IACI,YAAY,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;IAIhE;;;;OAIG;IACI,yBAAyB,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;CAG1D"}
@@ -189,5 +189,13 @@ export class EntityCompanion {
189
189
  BindProvider(_provider) {
190
190
  /* no-op by default */
191
191
  }
192
+ /**
193
+ * Called when the owner is given a different user (`BaseEntity.ContextCurrentUser`).
194
+ * Subclasses holding child entities override this to give them the same user, which narrows
195
+ * what they already hold to that user.
196
+ */
197
+ OnOwnerContextUserChanged(_user) {
198
+ /* no-op by default */
199
+ }
192
200
  }
193
201
  //# sourceMappingURL=entityCompanion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"entityCompanion.js","sourceRoot":"","sources":["../../src/generic/entityCompanion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAoBH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAgBrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAgB,eAAe;IAMjC;;OAEG;IACH,YAAY,KAAiB;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAwCD;;;;;;;;OAQG;IACH,IAAW,KAAK;QACZ,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,OAAyB;QACrC,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,aAAa,CAAC,OAAyB;QAChD,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAC,KAAqB,EAAE,QAA4B;QACzE,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACI,oBAAoB,CAAC,KAAqB;QAC7C,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACI,wBAAwB,CAAC,KAAqB;QACjD,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,CAAC,QAAsB;QACzC,sBAAsB;IAC1B,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,sBAAsB;IAC1B,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,SAAqC;QACrD,sBAAsB;IAC1B,CAAC;CACJ"}
1
+ {"version":3,"file":"entityCompanion.js","sourceRoot":"","sources":["../../src/generic/entityCompanion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAqBH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAgBrD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,OAAgB,eAAe;IAMjC;;OAEG;IACH,YAAY,KAAiB;QACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAwCD;;;;;;;;OAQG;IACH,IAAW,KAAK;QACZ,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;;;;;OAUG;IACI,QAAQ,CAAC,OAAyB;QACrC,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,aAAa,CAAC,OAAyB;QAChD,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,kBAAkB,CAAC,KAAqB,EAAE,QAA4B;QACzE,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACI,oBAAoB,CAAC,KAAqB;QAC7C,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;OAQG;IACI,wBAAwB,CAAC,KAAqB;QACjD,sBAAsB;IAC1B,CAAC;IAED;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,SAAS,CAAC,QAAsB;QACzC,sBAAsB;IAC1B,CAAC;IAED;;;OAGG;IACI,aAAa;QAChB,sBAAsB;IAC1B,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,SAAqC;QACrD,sBAAsB;IAC1B,CAAC;IAED;;;;OAIG;IACI,yBAAyB,CAAC,KAAe;QAC5C,sBAAsB;IAC1B,CAAC;CACJ"}
@@ -230,6 +230,84 @@ export declare class EntityOrganicKeyRelatedEntityInfo extends BaseInfo {
230
230
  get TransitiveObjectMatchFieldNamesArray(): string[];
231
231
  constructor(initData?: Record<string, unknown>);
232
232
  }
233
+ /**
234
+ * Metadata describing a governed alternate SQL view on an entity that maintains 100% column
235
+ * parity with the entity's canonical `BaseView` while applying a curated canonical filter
236
+ * or join (for example, `Active` members or `Open` orders).
237
+ *
238
+ * Alternate base views can form a same-entity derivation hierarchy via {@link ParentID}
239
+ * (for example, `ActiveAutoRenew` selecting from `vwActiveMembers`).
240
+ *
241
+ * Maps to the `MJ: Entity Alternate Base Views` metadata entity.
242
+ */
243
+ export declare class EntityAlternateBaseViewInfo extends BaseInfo {
244
+ ID: string;
245
+ EntityID: string;
246
+ ParentID: string | null;
247
+ Name: string;
248
+ DisplayName: string | null;
249
+ Description: string;
250
+ SchemaName: string | null;
251
+ ViewName: string;
252
+ CachePolicy: 'Default' | 'Bypass';
253
+ Status: 'Active' | 'Deprecated' | 'Disabled';
254
+ Sequence: number;
255
+ __mj_CreatedAt: Date;
256
+ __mj_UpdatedAt: Date;
257
+ Entity: string;
258
+ Parent: string | null;
259
+ RootParentID: string | null;
260
+ private _entitySchemaName;
261
+ private _resolvedParentViewRef;
262
+ private _resolvedChildViewsList;
263
+ /**
264
+ * The parent alternate base view on the same entity when {@link ParentID} is set,
265
+ * or `undefined` for a top-level alternate base view.
266
+ */
267
+ get ParentView(): EntityAlternateBaseViewInfo | undefined;
268
+ /**
269
+ * Direct child alternate base views on the same entity that derive from this view via {@link ParentID}.
270
+ */
271
+ get ChildViews(): EntityAlternateBaseViewInfo[];
272
+ /**
273
+ * Effective database schema name for this alternate base view: uses {@link SchemaName}
274
+ * when explicitly populated, falling back to the parent entity's `SchemaName`.
275
+ */
276
+ get EffectiveSchemaName(): string;
277
+ /**
278
+ * Human-friendly label for UI surfaces: returns {@link DisplayName} when set,
279
+ * falling back to {@link Name}.
280
+ */
281
+ get EffectiveDisplayName(): string;
282
+ /**
283
+ * True when this alternate base view (and every ancestor in its {@link ParentView} chain)
284
+ * has `Status` equal to `'Active'` or `'Deprecated'`. Disabled views (or views derived
285
+ * from a disabled or missing ancestor) return `false`.
286
+ */
287
+ get IsUsable(): boolean;
288
+ private checkIsUsable;
289
+ /**
290
+ * True when this view (or any ancestor in its {@link ParentView} chain) has
291
+ * `Status === 'Deprecated'`. Deprecated alternate base views remain usable at runtime
292
+ * so existing views and queries do not break, but emit a deprecation warning.
293
+ */
294
+ get IsDeprecated(): boolean;
295
+ private checkIsDeprecated;
296
+ /**
297
+ * True when `CachePolicy === 'Bypass'` on this view or any ancestor in its {@link ParentView}
298
+ * chain, instructing `ProviderBase` to skip local/server result caching for reads through
299
+ * this alternate base view (used when the view reads the clock or joins other tables whose
300
+ * updates do not fire `BaseEntity` events on this entity).
301
+ */
302
+ get IsBypassCache(): boolean;
303
+ private checkIsBypassCache;
304
+ /**
305
+ * Links `ParentView` and `ChildViews` references across the alternate base views belonging
306
+ * to a single entity and stamps the owning entity's `SchemaName` fallback.
307
+ */
308
+ static LinkHierarchy(views: EntityAlternateBaseViewInfo[], entitySchemaName?: string | null): void;
309
+ constructor(initData?: Record<string, unknown>, entitySchemaName?: string | null);
310
+ }
233
311
  export declare const EntityPermissionType: {
234
312
  readonly Read: "Read";
235
313
  readonly Create: "Create";
@@ -1607,6 +1685,20 @@ export declare class EntityFieldInfo extends BaseInfo {
1607
1685
  isCurrentDateFunction: boolean;
1608
1686
  };
1609
1687
  }
1688
+ /**
1689
+ * The current field-security generation. A memo of anything derived from field-security
1690
+ * configuration (denied sets, whether field security applies, a user's denial profile across a
1691
+ * catalog) is valid only while this returns the number the memo was filled under. It moves when an
1692
+ * `EntityInfo` is built, when an entity's `EnableFieldLevelSecurity` flag is assigned, and when
1693
+ * `EntityInfo.InvalidateFieldSecurityCache()` is called.
1694
+ */
1695
+ export declare function CurrentFieldSecurityGeneration(): number;
1696
+ /**
1697
+ * The role IDs a user holds, in order, as one string: changes whenever a role is added, removed
1698
+ * or swapped. Field-level security reads nothing else about a user, so this, with
1699
+ * {@link CurrentFieldSecurityGeneration}, keys any memo of a user's field-security answers.
1700
+ */
1701
+ export declare function FieldSecurityUserRolesKey(user: UserInfo): string;
1610
1702
  /**
1611
1703
  * Entity Document Type Info object has information about the document types that exist across all entities. When Entity Documents are created they are associated with a document type.
1612
1704
  */
@@ -1858,8 +1950,13 @@ export declare class EntityInfo extends BaseInfo {
1858
1950
  * Turning it on snapshots the entity's existing entity-level permissions into per-field
1859
1951
  * rows, so enabling changes no behavior until an administrator tightens a field. Turning it
1860
1952
  * off leaves the rows in place, inactive, so re-enabling does not lose the configuration.
1953
+ *
1954
+ * Assigning it moves the field-security generation ({@link CurrentFieldSecurityGeneration}),
1955
+ * so every memoized field-security answer that read the old value is recomputed.
1861
1956
  */
1862
- EnableFieldLevelSecurity: boolean;
1957
+ get EnableFieldLevelSecurity(): boolean;
1958
+ set EnableFieldLevelSecurity(value: boolean);
1959
+ private _enableFieldLevelSecurity;
1863
1960
  /**
1864
1961
  * Whether this entity is available through the GraphQL API
1865
1962
  */
@@ -2227,6 +2324,7 @@ export declare class EntityInfo extends BaseInfo {
2227
2324
  private _settings;
2228
2325
  private _fieldCategories;
2229
2326
  private _organicKeys;
2327
+ private _alternateBaseViews;
2230
2328
  HasIdField: boolean;
2231
2329
  /** @deprecated Use {@link HasIdField}. */
2232
2330
  get _hasIdField(): boolean;
@@ -2263,6 +2361,44 @@ export declare class EntityInfo extends BaseInfo {
2263
2361
  private _nameFieldCache;
2264
2362
  /** Memoized computed plural, keyed by the display name it was derived from (see `DisplayNamePlural`). */
2265
2363
  private _displayNamePluralCache;
2364
+ /**
2365
+ * Whether field-level security decides anything on this entity: its own
2366
+ * {@link EnableFieldLevelSecurity} flag is on, or an IS-A ancestor's is.
2367
+ *
2368
+ * **Enforcement points gate on this, never on the raw flag.** An IS-A child carries each
2369
+ * ancestor's fields as mirror fields of its own, read from the same row. Gating on the child's
2370
+ * own flag — off on nearly every child, because nobody turns it on there — let a role denied
2371
+ * `Phone` on the parent read it through the child's RunView, load and `GetAll()`. The denied
2372
+ * sets ({@link GetDeniedReadFields} and siblings) carry the ancestor's denials for those mirror
2373
+ * fields; this is the matching gate, so a caller that skips work when it is false never skips
2374
+ * an ancestor's rules.
2375
+ *
2376
+ * The raw flag stays the right question for CONFIGURATION — which entities reconciliation,
2377
+ * CodeGen and the system-user sweeps cover — because the rules themselves live on the entity
2378
+ * that owns the field.
2379
+ */
2380
+ get FieldLevelSecurityApplies(): boolean;
2381
+ /** See {@link liveAncestors}. A `_` field with no matching getter, so `toJSON()` leaves it out. */
2382
+ private _liveAncestorsMemo;
2383
+ /**
2384
+ * This entity's IS-A ancestors, nearest first, as {@link ParentEntityInfo} resolves them NOW
2385
+ * rather than the cached {@link ParentChain}. The denied walk ({@link addFieldsDeniedOnParent})
2386
+ * follows the live parent, so the gate and the memo key must too: read from a chain cached
2387
+ * before a metadata refresh replaced an ancestor, the gate could answer "no" while the
2388
+ * ancestor now in place has rules, and every enforcement point would skip them.
2389
+ *
2390
+ * The walk is memoized, valid while the field-security generation (which moves whenever any
2391
+ * `EntityInfo` is built, so a rebuilt ancestor is noticed), the provider this entity resolves
2392
+ * its parent through (its owning provider, else the global one), that provider's entity array
2393
+ * and this entity's `ParentID` are unchanged. Ancestors resolve their own parents through
2394
+ * their own providers; a chain whose entities came from one provider, the only way providers
2395
+ * build them, is covered by that provider's array. A walk cut
2396
+ * short because a `ParentID` did not resolve (asked before the provider held its entities) is
2397
+ * returned but not kept, so it cannot pin an incomplete answer.
2398
+ */
2399
+ private liveAncestors;
2400
+ /** The uncached walk behind {@link liveAncestors}; stops at the root or at a cycle. */
2401
+ private walkLiveAncestors;
2266
2402
  /**
2267
2403
  * The set of field names this user may NOT READ on this entity — the per-request primitive
2268
2404
  * every field-security enforcement point is built on.
@@ -2273,8 +2409,9 @@ export declare class EntityInfo extends BaseInfo {
2273
2409
  * re-scans `user.UserRoles` and allocates. A Set lookup costs neither.
2274
2410
  *
2275
2411
  * Names are lowercased so callers can match case-insensitively, consistent with
2276
- * {@link ProjectRowsToFields}. Returns an EMPTY set — never null — both when the entity has
2277
- * field security switched off and when the user is denied nothing, so callers can treat
2412
+ * {@link ProjectRowsToFields}. Returns an EMPTY set — never null — both when field security
2413
+ * does not apply (see {@link FieldLevelSecurityApplies}) and when the user is denied nothing,
2414
+ * so callers can treat
2278
2415
  * `size === 0` as the single "nothing to do" condition.
2279
2416
  */
2280
2417
  GetDeniedReadFields(user: UserInfo): Set<string>;
@@ -2292,10 +2429,10 @@ export declare class EntityInfo extends BaseInfo {
2292
2429
  * The caller still decides what to render in place of the value, which is the part that
2293
2430
  * differs per surface and should not be hidden inside a getter.
2294
2431
  *
2295
- * **Fails open** on a missing user, a missing field name, or an entity with field security
2296
- * switched off — matching `BaseEntity`'s own gate and `MjFormFieldComponent`. The server is
2297
- * the real boundary; a UI that blanked out fields because no user had resolved yet would be
2298
- * worse than one that shows them.
2432
+ * **Fails open** on a missing user, a missing field name, or an entity where field security
2433
+ * does not apply ({@link FieldLevelSecurityApplies}) — matching `BaseEntity`'s own gate and
2434
+ * `MjFormFieldComponent`. The server is the real boundary; a UI that blanked out fields
2435
+ * because no user had resolved yet would be worse than one that shows them.
2299
2436
  *
2300
2437
  * PERFORMANCE: this delegates to {@link GetDeniedReadFields}, which walks every field on the
2301
2438
  * entity. Fine for the handful of chrome reads it exists for; do NOT call it per row in a
@@ -2338,10 +2475,34 @@ export declare class EntityInfo extends BaseInfo {
2338
2475
  * create-denied field is dropped and the column takes its default.
2339
2476
  */
2340
2477
  GetDeniedCreateFields(user: UserInfo): Set<string>;
2478
+ /**
2479
+ * Discards the memoized field-security answers: this entity's denied-field sets, those of
2480
+ * every IS-A descendant, and every other memo keyed on the field-security generation
2481
+ * ({@link CurrentFieldSecurityGeneration}), such as a user's denial profile across a catalog.
2482
+ * Invalidation is process-wide because a rule on one entity can change answers about others.
2483
+ *
2484
+ * A metadata refresh needs no call: it builds new `EntityInfo` objects, which start with
2485
+ * empty memos. Call this only after changing field rules IN PLACE on an existing
2486
+ * `EntityInfo`, for example editing an {@link EntityFieldPermissionInfo}'s access values.
2487
+ */
2488
+ InvalidateFieldSecurityCache(): void;
2489
+ /**
2490
+ * Memoized front for {@link getDeniedFields}, per (entity, user, verb).
2491
+ *
2492
+ * An entry is reused while four things are unchanged: the field-security generation (see
2493
+ * {@link CurrentFieldSecurityGeneration}; it moves on every rebuild, flag assignment and
2494
+ * {@link InvalidateFieldSecurityCache}), the IS-A ancestors as they resolve now, the field
2495
+ * array itself, and the role IDs the user holds. Counting fields or rules is not enough:
2496
+ * editing a rule from `Allow` to `Deny` changes neither count.
2497
+ */
2341
2498
  private getCachedDeniedFields;
2499
+ /** The current memo entry for `user`, replaced with an empty one when any part of its key moved. */
2500
+ private deniedFieldsMemoEntryFor;
2342
2501
  /**
2343
2502
  * Shared walk behind {@link GetDeniedReadFields} / {@link GetDeniedUpdateFields} /
2344
- * {@link GetDeniedCreateFields}, short-circuiting on {@link EnableFieldLevelSecurity}.
2503
+ * {@link GetDeniedCreateFields}. Walks this entity's own fields when its
2504
+ * {@link EnableFieldLevelSecurity} is on, then adds the fields an IS-A parent denies (see
2505
+ * {@link addFieldsDeniedOnParent}).
2345
2506
  *
2346
2507
  * Every field is aggregated, including those carrying no permission records — on an enabled
2347
2508
  * entity those are denied. Unrestrictable fields (primary keys, `__mj_` columns) come back
@@ -2365,6 +2526,25 @@ export declare class EntityInfo extends BaseInfo {
2365
2526
  * schema CodeGen can emit.
2366
2527
  */
2367
2528
  private getDeniedFields;
2529
+ /**
2530
+ * IS-A inheritance for the denied sets: a field the immediate parent denies is denied on this
2531
+ * entity's mirror of it, whatever this entity's own flag says. The parent's set already
2532
+ * includes ITS parent's denials (this method runs there too), so one hop covers any depth.
2533
+ *
2534
+ * A mirror is a field of this entity whose `Name` is the `Name` of one of the parent's own
2535
+ * fields: an IS-A child's view exposes each parent column under the parent's column name, and
2536
+ * a child cannot declare a column of its own with that name. Matching goes through the
2537
+ * parent's field list rather than straight into the parent's denied set, because that set also
2538
+ * holds each denied field's `CodeName`: a parent field `Base Salary` puts `base_salary` in it,
2539
+ * and a child's OWN field named `Base_Salary` must not be denied for that.
2540
+ *
2541
+ * Additive only. When this entity ALSO has field security on, a mirror with no rows of its own
2542
+ * is already denied by the walk above (no rows on an enabled entity means denied); the parent's
2543
+ * rules cannot re-open it.
2544
+ */
2545
+ private addFieldsDeniedOnParent;
2546
+ /** Adds a field under BOTH key spaces — see {@link getDeniedFields} for why. */
2547
+ private addDeniedField;
2368
2548
  /**
2369
2549
  * O(1) case-insensitive field lookup by name. Use this instead of `Fields.find(f => f.Name === name)`
2370
2550
  * on hot paths — it builds a lowercased+trimmed `Map` once (lazily) and reuses it.
@@ -2518,6 +2698,30 @@ export declare class EntityInfo extends BaseInfo {
2518
2698
  * @returns {EntityOrganicKeyInfo[]} Array of organic key definitions with their related entities
2519
2699
  */
2520
2700
  get OrganicKeys(): EntityOrganicKeyInfo[];
2701
+ /**
2702
+ * Gets all registered alternate base views for this entity, sorted by `Sequence`, `Name`, and `ID`.
2703
+ * Alternate base views maintain 100% column parity with {@link BaseView} while applying a
2704
+ * curated canonical filter or join.
2705
+ * @returns {EntityAlternateBaseViewInfo[]} Array of alternate base view metadata definitions
2706
+ */
2707
+ get AlternateBaseViews(): EntityAlternateBaseViewInfo[];
2708
+ /**
2709
+ * Finds a registered alternate base view on this entity by its semantic `Name`
2710
+ * (case-insensitive, whitespace-trimmed).
2711
+ *
2712
+ * @param name Semantic name of the alternate base view (for example, `'Active'`).
2713
+ * @returns The matching {@link EntityAlternateBaseViewInfo}, or `undefined` if not found.
2714
+ */
2715
+ GetAlternateBaseView(name: string | null | undefined): EntityAlternateBaseViewInfo | undefined;
2716
+ /**
2717
+ * Finds a registered alternate base view on this entity by its physical SQL `ViewName`
2718
+ * (and optional `schemaName`), matched case-insensitively and whitespace-trimmed.
2719
+ *
2720
+ * @param viewName Physical SQL view name (for example, `'vwActiveMembers'`).
2721
+ * @param schemaName Optional schema name; when supplied, must match `EffectiveSchemaName` case-insensitively.
2722
+ * @returns The matching {@link EntityAlternateBaseViewInfo}, or `undefined` if not found.
2723
+ */
2724
+ GetAlternateBaseViewByViewName(viewName: string | null | undefined, schemaName?: string | null): EntityAlternateBaseViewInfo | undefined;
2521
2725
  private static __createdAtFieldName;
2522
2726
  private static __updatedAtFieldName;
2523
2727
  private static __deletedAtFieldName;
@@ -2616,7 +2820,11 @@ export declare class EntityInfo extends BaseInfo {
2616
2820
  * Walks the IS-A chain upward from this entity to the root, returning all parent entities.
2617
2821
  * Does NOT include this entity itself.
2618
2822
  * Example: For Webinars (IS-A Meetings IS-A Products), returns [Meetings, Products].
2619
- * Results are cached after first computation for performance.
2823
+ * Results are cached after first computation for performance — but only a COMPLETE chain:
2824
+ * one that ends at an entity with no parent, or at a cycle. A walk cut short because a
2825
+ * `ParentID` did not resolve (asked before the provider had its entities) is returned but not
2826
+ * kept, so it cannot pin an incomplete answer; field security reads this chain to decide
2827
+ * whether an ancestor's rules apply.
2620
2828
  */
2621
2829
  get ParentChain(): EntityInfo[];
2622
2830
  /**
@@ -2704,6 +2912,12 @@ export declare class EntityInfo extends BaseInfo {
2704
2912
  * compatibility with data written before the Type column existed (Phase 2b).
2705
2913
  */
2706
2914
  GetUserPermisions(user: UserInfo): EntityUserPermissionInfo;
2915
+ /**
2916
+ * Checks whether the specified user has the requested permission (`Read`, `Create`, `Update`, or `Delete`)
2917
+ * on this entity. When `this.Permissions` is empty/uninitialized (e.g., in lightweight unit-test fixtures),
2918
+ * returns `true` so unconfigured fixtures are not blocked.
2919
+ */
2920
+ CheckPermissions(user: UserInfo, type: EntityPermissionType, throwError?: boolean): boolean;
2707
2921
  /**
2708
2922
  * Determines if a given user, for a given permission type, is exempt from RowLevelSecurity or not.
2709
2923
  *
@@ -2926,6 +3140,11 @@ export declare class RecordDependency {
2926
3140
  * Undefined for hard foreign keys.
2927
3141
  */
2928
3142
  EntityIDFieldName?: string;
3143
+ /**
3144
+ * Friendly display name of the foreign-key or soft-link field on {@link RelatedEntityName}
3145
+ * (populated from `EntityFieldInfo.DisplayNameOrName` when available).
3146
+ */
3147
+ FieldDisplayName?: string;
2929
3148
  }
2930
3149
  /**
2931
3150
  * Information about a merge request including the entity, the surviving record and the records to merge into the surviving record. Additionally, there is an optional field map that can be used to override field values in the surviving record to values specified.