@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.
- package/dist/generic/BaseEntitySaveQueue.d.ts +15 -0
- package/dist/generic/BaseEntitySaveQueue.d.ts.map +1 -1
- package/dist/generic/BaseEntitySaveQueue.js +21 -0
- package/dist/generic/BaseEntitySaveQueue.js.map +1 -1
- package/dist/generic/alternateBaseViews.d.ts +119 -0
- package/dist/generic/alternateBaseViews.d.ts.map +1 -0
- package/dist/generic/alternateBaseViews.js +223 -0
- package/dist/generic/alternateBaseViews.js.map +1 -0
- package/dist/generic/baseEngine.d.ts +53 -9
- package/dist/generic/baseEngine.d.ts.map +1 -1
- package/dist/generic/baseEngine.js +194 -35
- package/dist/generic/baseEngine.js.map +1 -1
- package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
- package/dist/generic/baseEngineRegistry.js +2 -1
- package/dist/generic/baseEngineRegistry.js.map +1 -1
- package/dist/generic/baseEntity.d.ts +153 -17
- package/dist/generic/baseEntity.d.ts.map +1 -1
- package/dist/generic/baseEntity.js +345 -46
- package/dist/generic/baseEntity.js.map +1 -1
- package/dist/generic/contextTokens.d.ts +136 -0
- package/dist/generic/contextTokens.d.ts.map +1 -0
- package/dist/generic/contextTokens.js +319 -0
- package/dist/generic/contextTokens.js.map +1 -0
- package/dist/generic/databaseProviderBase.d.ts +66 -5
- package/dist/generic/databaseProviderBase.d.ts.map +1 -1
- package/dist/generic/databaseProviderBase.js +159 -12
- package/dist/generic/databaseProviderBase.js.map +1 -1
- package/dist/generic/embeddedRecord.d.ts +6 -0
- package/dist/generic/embeddedRecord.d.ts.map +1 -1
- package/dist/generic/embeddedRecord.js +15 -1
- package/dist/generic/embeddedRecord.js.map +1 -1
- package/dist/generic/entityCompanion.d.ts +7 -0
- package/dist/generic/entityCompanion.d.ts.map +1 -1
- package/dist/generic/entityCompanion.js +8 -0
- package/dist/generic/entityCompanion.js.map +1 -1
- package/dist/generic/entityInfo.d.ts +228 -9
- package/dist/generic/entityInfo.d.ts.map +1 -1
- package/dist/generic/entityInfo.js +574 -65
- package/dist/generic/entityInfo.js.map +1 -1
- package/dist/generic/entityValueFieldSecurity.d.ts +139 -0
- package/dist/generic/entityValueFieldSecurity.d.ts.map +1 -0
- package/dist/generic/entityValueFieldSecurity.js +250 -0
- package/dist/generic/entityValueFieldSecurity.js.map +1 -0
- package/dist/generic/fieldSecuritySQLGate.d.ts +350 -0
- package/dist/generic/fieldSecuritySQLGate.d.ts.map +1 -0
- package/dist/generic/fieldSecuritySQLGate.js +898 -0
- package/dist/generic/fieldSecuritySQLGate.js.map +1 -0
- package/dist/generic/indexRestrictedFields.d.ts +47 -0
- package/dist/generic/indexRestrictedFields.d.ts.map +1 -0
- package/dist/generic/indexRestrictedFields.js +129 -0
- package/dist/generic/indexRestrictedFields.js.map +1 -0
- package/dist/generic/interfaces.d.ts +14 -1
- package/dist/generic/interfaces.d.ts.map +1 -1
- package/dist/generic/interfaces.js.map +1 -1
- package/dist/generic/localCacheManager.d.ts +80 -11
- package/dist/generic/localCacheManager.d.ts.map +1 -1
- package/dist/generic/localCacheManager.js +209 -38
- package/dist/generic/localCacheManager.js.map +1 -1
- package/dist/generic/logging.d.ts.map +1 -1
- package/dist/generic/logging.js +7 -1
- package/dist/generic/logging.js.map +1 -1
- package/dist/generic/metadata.d.ts +3 -2
- package/dist/generic/metadata.d.ts.map +1 -1
- package/dist/generic/metadata.js +5 -2
- package/dist/generic/metadata.js.map +1 -1
- package/dist/generic/platformSQL.d.ts +54 -0
- package/dist/generic/platformSQL.d.ts.map +1 -1
- package/dist/generic/platformSQL.js +55 -0
- package/dist/generic/platformSQL.js.map +1 -1
- package/dist/generic/providerBase.d.ts +254 -56
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +698 -195
- package/dist/generic/providerBase.js.map +1 -1
- package/dist/generic/queryInfo.d.ts +13 -0
- package/dist/generic/queryInfo.d.ts.map +1 -1
- package/dist/generic/queryInfo.js +13 -0
- package/dist/generic/queryInfo.js.map +1 -1
- package/dist/generic/queryInfoInterfaces.d.ts +8 -0
- package/dist/generic/queryInfoInterfaces.d.ts.map +1 -1
- package/dist/generic/queryTemplateContext.d.ts +49 -0
- package/dist/generic/queryTemplateContext.d.ts.map +1 -0
- package/dist/generic/queryTemplateContext.js +113 -0
- package/dist/generic/queryTemplateContext.js.map +1 -0
- package/dist/generic/recordChangeFieldSecurity.d.ts.map +1 -1
- package/dist/generic/recordChangeFieldSecurity.js +13 -2
- package/dist/generic/recordChangeFieldSecurity.js.map +1 -1
- package/dist/generic/relatedRecordCollection.d.ts +13 -0
- package/dist/generic/relatedRecordCollection.d.ts.map +1 -1
- package/dist/generic/relatedRecordCollection.js +44 -5
- package/dist/generic/relatedRecordCollection.js.map +1 -1
- package/dist/generic/runQuery.d.ts +42 -0
- package/dist/generic/runQuery.d.ts.map +1 -1
- package/dist/generic/runQuery.js +14 -0
- package/dist/generic/runQuery.js.map +1 -1
- package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
- package/dist/generic/runQuerySQLFilterImplementations.js +38 -2
- package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
- package/dist/generic/saveEntityGraphOperation.d.ts.map +1 -1
- package/dist/generic/saveEntityGraphOperation.js +3 -0
- package/dist/generic/saveEntityGraphOperation.js.map +1 -1
- package/dist/generic/securityInfo.d.ts +11 -0
- package/dist/generic/securityInfo.d.ts.map +1 -1
- package/dist/generic/securityInfo.js +15 -0
- package/dist/generic/securityInfo.js.map +1 -1
- package/dist/generic/telemetryManager.d.ts +9 -0
- package/dist/generic/telemetryManager.d.ts.map +1 -1
- package/dist/generic/telemetryManager.js +5 -1
- package/dist/generic/telemetryManager.js.map +1 -1
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/views/runView.d.ts +89 -0
- package/dist/views/runView.d.ts.map +1 -1
- package/dist/views/runView.js +36 -0
- package/dist/views/runView.js.map +1 -1
- package/dist/views/viewProperties.d.ts +55 -0
- package/dist/views/viewProperties.d.ts.map +1 -0
- package/dist/views/viewProperties.js +258 -0
- package/dist/views/viewProperties.js.map +1 -0
- package/package.json +3 -3
|
@@ -43,6 +43,14 @@ export declare class BaseEntitySaveQueue {
|
|
|
43
43
|
* until the dependency's own INSERT has landed in the database.
|
|
44
44
|
*/
|
|
45
45
|
InsertAfter(entity: BaseEntity, dependency: BaseEntity): void;
|
|
46
|
+
/**
|
|
47
|
+
* Fire-and-forget INSERT that runs only after `ready` resolves. Use this when the row has a foreign
|
|
48
|
+
* key to a row that **another** queue is still writing: pass that queue's {@link Settled} for the
|
|
49
|
+
* parent. The INSERT is queued at once (so {@link Flush} waits for it) and the caller never waits;
|
|
50
|
+
* only the save itself is held back. ({@link InsertAfter} is the same wait when both rows share this
|
|
51
|
+
* queue.)
|
|
52
|
+
*/
|
|
53
|
+
InsertWhen(entity: BaseEntity, ready: Promise<void>): void;
|
|
46
54
|
/**
|
|
47
55
|
* Fire-and-forget UPDATE chained after the entity's INSERT. `applyMutation` (if given) runs INSIDE
|
|
48
56
|
* the post-INSERT task — after `finalizeSave`'s reload — so its values always survive; the save is
|
|
@@ -51,6 +59,13 @@ export declare class BaseEntitySaveQueue {
|
|
|
51
59
|
*/
|
|
52
60
|
Update(entity: BaseEntity, applyMutation?: (entity: BaseEntity) => void): void;
|
|
53
61
|
private buildSaveOptions;
|
|
62
|
+
/**
|
|
63
|
+
* Resolves once every save queued so far for `entity` has settled (at once when none is pending);
|
|
64
|
+
* never rejects — a failed save is already logged here. For a caller that holds the entity's ID and
|
|
65
|
+
* must write a dependent row (a foreign key to it) from a *different* queue: `InsertAfter` only
|
|
66
|
+
* orders writes within this queue.
|
|
67
|
+
*/
|
|
68
|
+
Settled(entity: BaseEntity): Promise<void>;
|
|
54
69
|
/** Awaits all pending saves and returns failure diagnostics. Call at the run/goal finalize boundary. */
|
|
55
70
|
Flush(): Promise<SerialTaskFlushResult>;
|
|
56
71
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntitySaveQueue.d.ts","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIlE;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAuB;IAEvD;;;;;;;OAOG;gBACS,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE,oBAAoB,CAAA;KAAE;IAKjG;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAMvC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAMpE;;;;;OAKG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAMrF,OAAO,CAAC,gBAAgB;IAcxB,wGAAwG;IACjG,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAI9C;;;;OAIG;YACW,OAAO;IAgBrB,oGAAoG;IACpG,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,SAAS;CAGpB"}
|
|
1
|
+
{"version":3,"file":"BaseEntitySaveQueue.d.ts","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAwB,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAIlE;;;;;;GAMG;AACH,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAuB;IAEvD;;;;;;;OAOG;gBACS,IAAI,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAAC,cAAc,CAAC,EAAE,oBAAoB,CAAA;KAAE;IAKjG;;;OAGG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI;IAMvC;;;;OAIG;IACI,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAMpE;;;;;;OAMG;IACI,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAMjE;;;;;OAKG;IACI,MAAM,CAAC,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI;IAMrF,OAAO,CAAC,gBAAgB;IAcxB;;;;;OAKG;IACI,OAAO,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjD,wGAAwG;IACjG,KAAK,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAI9C;;;;OAIG;YACW,OAAO;IAgBrB,oGAAoG;IACpG,OAAO,CAAC,UAAU;IAQlB,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,SAAS;CAGpB"}
|
|
@@ -49,6 +49,18 @@ export class BaseEntitySaveQueue {
|
|
|
49
49
|
const options = this.buildSaveOptions(false);
|
|
50
50
|
void this.queue.enqueue(entity, () => this.runSave(entity, label, options), { isOk: (ok) => ok === true, label, after: dependency });
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Fire-and-forget INSERT that runs only after `ready` resolves. Use this when the row has a foreign
|
|
54
|
+
* key to a row that **another** queue is still writing: pass that queue's {@link Settled} for the
|
|
55
|
+
* parent. The INSERT is queued at once (so {@link Flush} waits for it) and the caller never waits;
|
|
56
|
+
* only the save itself is held back. ({@link InsertAfter} is the same wait when both rows share this
|
|
57
|
+
* queue.)
|
|
58
|
+
*/
|
|
59
|
+
InsertWhen(entity, ready) {
|
|
60
|
+
const label = this.labelFor('Insert', entity);
|
|
61
|
+
const options = this.buildSaveOptions(false);
|
|
62
|
+
void this.queue.Enqueue(entity, () => this.runSave(entity, label, options), { isOk: (ok) => ok === true, label, ready });
|
|
63
|
+
}
|
|
52
64
|
/**
|
|
53
65
|
* Fire-and-forget UPDATE chained after the entity's INSERT. `applyMutation` (if given) runs INSIDE
|
|
54
66
|
* the post-INSERT task — after `finalizeSave`'s reload — so its values always survive; the save is
|
|
@@ -73,6 +85,15 @@ export class BaseEntitySaveQueue {
|
|
|
73
85
|
}
|
|
74
86
|
return options;
|
|
75
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Resolves once every save queued so far for `entity` has settled (at once when none is pending);
|
|
90
|
+
* never rejects — a failed save is already logged here. For a caller that holds the entity's ID and
|
|
91
|
+
* must write a dependent row (a foreign key to it) from a *different* queue: `InsertAfter` only
|
|
92
|
+
* orders writes within this queue.
|
|
93
|
+
*/
|
|
94
|
+
Settled(entity) {
|
|
95
|
+
return this.queue.Settled(entity);
|
|
96
|
+
}
|
|
76
97
|
/** Awaits all pending saves and returns failure diagnostics. Call at the run/goal finalize boundary. */
|
|
77
98
|
Flush() {
|
|
78
99
|
return this.queue.flush();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntitySaveQueue.js","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseEntitySaveQueue.js","sourceRoot":"","sources":["../../src/generic/BaseEntitySaveQueue.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { BaseEntity } from './baseEntity.js';
|
|
2
|
+
import { EntityAlternateBaseViewInfo, EntityInfo } from './entityInfo.js';
|
|
3
|
+
import { UserInfo } from './securityInfo.js';
|
|
4
|
+
import { RunViewParams } from '../views/runView.js';
|
|
5
|
+
/**
|
|
6
|
+
* Validates that `name` is a safe, unquoted SQL identifier (`1..128` characters, starting
|
|
7
|
+
* with an ASCII letter or underscore and containing only ASCII letters, digits, or underscores).
|
|
8
|
+
*
|
|
9
|
+
* Lives in `@memberjunction/core` so both client/server metadata validation (`ProviderBase`,
|
|
10
|
+
* `MJEntityAlternateBaseViewEntityServer`) and SQL generators can validate `ViewName` and
|
|
11
|
+
* `SchemaName` without introducing a dependency on `@memberjunction/schema-engine`.
|
|
12
|
+
*/
|
|
13
|
+
export declare function IsValidSQLIdentifier(name: string | null | undefined): boolean;
|
|
14
|
+
/**
|
|
15
|
+
* Validates that `name` is a valid semantic `EntityAlternateBaseView.Name`:
|
|
16
|
+
* non-empty after trimming, at most 100 characters, not starting with `//` (so `abv:` + `Name`
|
|
17
|
+
* can never form `abv://...`), and containing neither `|` nor `:` (the cache-fingerprint segment
|
|
18
|
+
* and prefix delimiters used by `LocalCacheManager` and `GenericDatabaseProvider`). Mirrors
|
|
19
|
+
* `CK_EntityAlternateBaseView_Name` in SQL.
|
|
20
|
+
*/
|
|
21
|
+
export declare function IsValidAlternateBaseViewName(name: string | null | undefined): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Options for resolving and authorizing an alternate base view on an entity.
|
|
24
|
+
*/
|
|
25
|
+
export interface ResolveAlternateBaseViewOptions {
|
|
26
|
+
/** The parent entity on which the alternate base view is registered. */
|
|
27
|
+
entity: EntityInfo;
|
|
28
|
+
/** The semantic `Name` of the alternate base view (for example, `'Active'`). */
|
|
29
|
+
alternateBaseViewName: string;
|
|
30
|
+
/** Optional user context for entity `CanRead` permission checks. */
|
|
31
|
+
contextUser?: UserInfo;
|
|
32
|
+
/**
|
|
33
|
+
* When `true` (the default whenever `contextUser` is provided), enforces
|
|
34
|
+
* `entity.CanRead` for `contextUser` when `entity.Permissions` is populated.
|
|
35
|
+
*/
|
|
36
|
+
enforcePermissions?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* When `false`, throws if the alternate base view (or any ancestor in its `ParentID` chain)
|
|
39
|
+
* has `Status === 'Deprecated'`. Defaults to `true` (allows deprecated views with a log warning).
|
|
40
|
+
*/
|
|
41
|
+
allowDeprecated?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* When `true`, suppresses the `[Deprecated]` log warning while still honoring `allowDeprecated`.
|
|
44
|
+
* Used by internal call sites that delegate after a caller has already logged deprecation.
|
|
45
|
+
*/
|
|
46
|
+
suppressDeprecationWarning?: boolean;
|
|
47
|
+
/** Optional caller label included in deprecation warnings and error messages. */
|
|
48
|
+
callerName?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Resolved alternate base view metadata ready for SQL generation or cache routing.
|
|
52
|
+
*/
|
|
53
|
+
export interface AlternateBaseViewResolution {
|
|
54
|
+
/** The resolved alternate base view metadata object. */
|
|
55
|
+
view: EntityAlternateBaseViewInfo;
|
|
56
|
+
/** The owning entity metadata object. */
|
|
57
|
+
entity: EntityInfo;
|
|
58
|
+
/** Physical SQL view name (`view.ViewName`). */
|
|
59
|
+
effectiveViewName: string;
|
|
60
|
+
/** Physical database schema name (`view.EffectiveSchemaName`). */
|
|
61
|
+
effectiveSchemaName: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Resolves a semantic `AlternateBaseView` name against `entity`, validates that it is
|
|
65
|
+
* registered and usable (`Status` is `'Active'` or `'Deprecated'`, including all ancestors
|
|
66
|
+
* in any `ParentID` chain), emits a warning when deprecated, and enforces entity `CanRead`
|
|
67
|
+
* when `contextUser` is provided.
|
|
68
|
+
*
|
|
69
|
+
* Throws a descriptive `Error` on unknown, disabled, or unauthorized alternate base views
|
|
70
|
+
* (never silently falls back to `entity.BaseView`, preventing filtered-row disclosure).
|
|
71
|
+
*/
|
|
72
|
+
export declare function ResolveAlternateBaseView(options: ResolveAlternateBaseViewOptions): AlternateBaseViewResolution;
|
|
73
|
+
/**
|
|
74
|
+
* Searches across `entities` for an entity that registers a physical SQL view matching
|
|
75
|
+
* `viewName` (and optional `schemaName`) as an `EntityAlternateBaseView`.
|
|
76
|
+
*
|
|
77
|
+
* Used by SQL AST extractors (Query entity extraction, `ClientClauseScreen`, and ad-hoc SQL
|
|
78
|
+
* read authorization) so queries referencing an alternate base view resolve to its parent
|
|
79
|
+
* entity alongside the matched `EntityAlternateBaseViewInfo`.
|
|
80
|
+
*/
|
|
81
|
+
export declare function FindAlternateBaseViewByPhysicalName(entities: readonly EntityInfo[], viewName: string | undefined | null, schemaName?: string | null): {
|
|
82
|
+
entity: EntityInfo;
|
|
83
|
+
alternateView: EntityAlternateBaseViewInfo;
|
|
84
|
+
} | undefined;
|
|
85
|
+
/**
|
|
86
|
+
* Extracts a pinned `alternateBaseView` semantic name from a loaded User View `BaseEntity`
|
|
87
|
+
* (`DisplayState` JSON column) without introducing a dependency from `@memberjunction/core`
|
|
88
|
+
* to `@memberjunction/core-entities`.
|
|
89
|
+
*
|
|
90
|
+
* Memoizes the parsed result per `(viewEntity, rawDisplayState)` in a `WeakMap` so hot paths
|
|
91
|
+
* (`GetEffectiveAlternateBaseViewName` across cache eligibility, fingerprinting, dedup, and
|
|
92
|
+
* telemetry) do not `JSON.parse(DisplayState)` on every call.
|
|
93
|
+
*
|
|
94
|
+
* Mirrors the `ViewEntity.Get('EntityID')` / `ViewEntity.Get('WhereClause')` access pattern
|
|
95
|
+
* in `RunView.GetEntityNameFromRunViewParams` and `ProviderBase.ResolveRunViewEntitySync`.
|
|
96
|
+
*/
|
|
97
|
+
export declare function GetPinnedAlternateBaseViewFromViewEntity(viewEntity: BaseEntity | undefined | null): string | undefined;
|
|
98
|
+
/**
|
|
99
|
+
* Extracts `alternateBaseView` (or `AlternateBaseView`) from a raw `DisplayState` JSON string
|
|
100
|
+
* or parsed object. Returns `undefined` when absent or blank.
|
|
101
|
+
*/
|
|
102
|
+
export declare function ExtractAlternateBaseViewFromDisplayState(rawDisplayState: unknown): string | undefined;
|
|
103
|
+
/**
|
|
104
|
+
* True when `params.AlternateBaseView` is explicitly set to `""` (or whitespace-only),
|
|
105
|
+
* meaning the caller is explicitly overriding any saved User View `DisplayState.alternateBaseView`
|
|
106
|
+
* pin back to the entity's canonical `BaseView`.
|
|
107
|
+
*/
|
|
108
|
+
export declare function IsExplicitBaseViewOverride(params: RunViewParams | undefined | null): boolean;
|
|
109
|
+
/**
|
|
110
|
+
* Returns the effective semantic `AlternateBaseView` name for a `RunViewParams` object:
|
|
111
|
+
* - An explicit non-empty `params.AlternateBaseView` takes precedence over a saved User View's
|
|
112
|
+
* pinned `DisplayState.alternateBaseView` on `params.ViewEntity`.
|
|
113
|
+
* - An explicit empty `params.AlternateBaseView: ""` overrides a saved User View's pin back to
|
|
114
|
+
* `BaseView` (returns `undefined` without falling back to `params.ViewEntity`).
|
|
115
|
+
* - When `params.AlternateBaseView` is `undefined`, falls back to `params.ViewEntity`'s pinned
|
|
116
|
+
* `DisplayState.alternateBaseView`.
|
|
117
|
+
*/
|
|
118
|
+
export declare function GetEffectiveAlternateBaseViewName(params: RunViewParams | undefined | null, viewEntity?: BaseEntity | undefined | null): string | undefined;
|
|
119
|
+
//# sourceMappingURL=alternateBaseViews.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alternateBaseViews.d.ts","sourceRoot":"","sources":["../../src/generic/alternateBaseViews.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,2BAA2B,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEvE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAK7E;AAED;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAYrF;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC5C,wEAAwE;IACxE,MAAM,EAAE,UAAU,CAAC;IACnB,gFAAgF;IAChF,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oEAAoE;IACpE,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,iFAAiF;IACjF,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IACxC,wDAAwD;IACxD,IAAI,EAAE,2BAA2B,CAAC;IAClC,yCAAyC;IACzC,MAAM,EAAE,UAAU,CAAC;IACnB,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,mBAAmB,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,+BAA+B,GAAG,2BAA2B,CAyB9G;AAyED;;;;;;;GAOG;AACH,wBAAgB,mCAAmC,CAC/C,QAAQ,EAAE,SAAS,UAAU,EAAE,EAC/B,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACnC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,aAAa,EAAE,2BAA2B,CAAA;CAAE,GAAG,SAAS,CAYhF;AAID;;;;;;;;;;;GAWG;AACH,wBAAgB,wCAAwC,CACpD,UAAU,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,GAC1C,MAAM,GAAG,SAAS,CAepB;AAED;;;GAGG;AACH,wBAAgB,wCAAwC,CAAC,eAAe,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAoBrG;AAkBD;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAE5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,iCAAiC,CAC7C,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,EACxC,UAAU,CAAC,EAAE,UAAU,GAAG,SAAS,GAAG,IAAI,GAC3C,MAAM,GAAG,SAAS,CASpB"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { LogStatusEx } from './logging.js';
|
|
2
|
+
/**
|
|
3
|
+
* Validates that `name` is a safe, unquoted SQL identifier (`1..128` characters, starting
|
|
4
|
+
* with an ASCII letter or underscore and containing only ASCII letters, digits, or underscores).
|
|
5
|
+
*
|
|
6
|
+
* Lives in `@memberjunction/core` so both client/server metadata validation (`ProviderBase`,
|
|
7
|
+
* `MJEntityAlternateBaseViewEntityServer`) and SQL generators can validate `ViewName` and
|
|
8
|
+
* `SchemaName` without introducing a dependency on `@memberjunction/schema-engine`.
|
|
9
|
+
*/
|
|
10
|
+
export function IsValidSQLIdentifier(name) {
|
|
11
|
+
if (typeof name !== 'string') {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
return name.length > 0 && name.length <= 128 && /^[A-Za-z_][A-Za-z0-9_]*$/.test(name);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Validates that `name` is a valid semantic `EntityAlternateBaseView.Name`:
|
|
18
|
+
* non-empty after trimming, at most 100 characters, not starting with `//` (so `abv:` + `Name`
|
|
19
|
+
* can never form `abv://...`), and containing neither `|` nor `:` (the cache-fingerprint segment
|
|
20
|
+
* and prefix delimiters used by `LocalCacheManager` and `GenericDatabaseProvider`). Mirrors
|
|
21
|
+
* `CK_EntityAlternateBaseView_Name` in SQL.
|
|
22
|
+
*/
|
|
23
|
+
export function IsValidAlternateBaseViewName(name) {
|
|
24
|
+
if (typeof name !== 'string') {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
const trimmed = name.trim();
|
|
28
|
+
return (trimmed.length > 0 &&
|
|
29
|
+
trimmed.length <= 100 &&
|
|
30
|
+
!trimmed.startsWith('//') &&
|
|
31
|
+
!name.includes('|') &&
|
|
32
|
+
!name.includes(':'));
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolves a semantic `AlternateBaseView` name against `entity`, validates that it is
|
|
36
|
+
* registered and usable (`Status` is `'Active'` or `'Deprecated'`, including all ancestors
|
|
37
|
+
* in any `ParentID` chain), emits a warning when deprecated, and enforces entity `CanRead`
|
|
38
|
+
* when `contextUser` is provided.
|
|
39
|
+
*
|
|
40
|
+
* Throws a descriptive `Error` on unknown, disabled, or unauthorized alternate base views
|
|
41
|
+
* (never silently falls back to `entity.BaseView`, preventing filtered-row disclosure).
|
|
42
|
+
*/
|
|
43
|
+
export function ResolveAlternateBaseView(options) {
|
|
44
|
+
const { entity, contextUser, enforcePermissions = true, allowDeprecated = true, suppressDeprecationWarning = false, callerName, } = options;
|
|
45
|
+
const rawName = typeof options.alternateBaseViewName === 'string' ? options.alternateBaseViewName.trim() : '';
|
|
46
|
+
if (!rawName) {
|
|
47
|
+
throw new Error(`AlternateBaseView name cannot be empty on entity '${entity.Name}'.`);
|
|
48
|
+
}
|
|
49
|
+
const view = findRegisteredAlternateBaseViewOrThrow(entity, rawName);
|
|
50
|
+
assertAlternateBaseViewUsableAndIdentifiersValid(entity, view);
|
|
51
|
+
checkAlternateBaseViewDeprecation(entity, view, allowDeprecated, suppressDeprecationWarning, callerName);
|
|
52
|
+
assertAlternateBaseViewReadPermission(entity, contextUser, enforcePermissions);
|
|
53
|
+
return {
|
|
54
|
+
view,
|
|
55
|
+
entity,
|
|
56
|
+
effectiveViewName: view.ViewName,
|
|
57
|
+
effectiveSchemaName: view.EffectiveSchemaName,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function findRegisteredAlternateBaseViewOrThrow(entity, rawName) {
|
|
61
|
+
const view = entity.GetAlternateBaseView(rawName);
|
|
62
|
+
if (!view) {
|
|
63
|
+
const available = entity.AlternateBaseViews
|
|
64
|
+
.filter(v => v.IsUsable)
|
|
65
|
+
.map(v => v.Name)
|
|
66
|
+
.join(', ');
|
|
67
|
+
throw new Error(`AlternateBaseView '${rawName}' is not registered on entity '${entity.Name}'. ` +
|
|
68
|
+
`Available alternate base views: ${available || '(none)'}`);
|
|
69
|
+
}
|
|
70
|
+
return view;
|
|
71
|
+
}
|
|
72
|
+
function assertAlternateBaseViewUsableAndIdentifiersValid(entity, view) {
|
|
73
|
+
if (!view.IsUsable) {
|
|
74
|
+
throw new Error(`AlternateBaseView '${view.Name}' on entity '${entity.Name}' is disabled and cannot be used.`);
|
|
75
|
+
}
|
|
76
|
+
if (!IsValidSQLIdentifier(view.ViewName)) {
|
|
77
|
+
throw new Error(`AlternateBaseView '${view.Name}' on entity '${entity.Name}' has an invalid SQL ViewName '${view.ViewName}'.`);
|
|
78
|
+
}
|
|
79
|
+
if (view.EffectiveSchemaName && !IsValidSQLIdentifier(view.EffectiveSchemaName)) {
|
|
80
|
+
throw new Error(`AlternateBaseView '${view.Name}' on entity '${entity.Name}' has an invalid SQL SchemaName '${view.EffectiveSchemaName}'.`);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function checkAlternateBaseViewDeprecation(entity, view, allowDeprecated, suppressDeprecationWarning, callerName) {
|
|
84
|
+
if (!view.IsDeprecated) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
if (!allowDeprecated) {
|
|
88
|
+
throw new Error(`AlternateBaseView '${view.Name}' on entity '${entity.Name}' is deprecated and cannot be used.`);
|
|
89
|
+
}
|
|
90
|
+
if (!suppressDeprecationWarning) {
|
|
91
|
+
LogStatusEx({
|
|
92
|
+
message: `[Deprecated] AlternateBaseView '${view.Name}' on entity '${entity.Name}' is deprecated${callerName ? ` (called from ${callerName})` : ''}.`,
|
|
93
|
+
verboseOnly: false,
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
function assertAlternateBaseViewReadPermission(entity, contextUser, enforcePermissions) {
|
|
98
|
+
if (enforcePermissions && contextUser && entity.Permissions && entity.Permissions.length > 0) {
|
|
99
|
+
const entityPerms = entity.GetUserPermisions(contextUser);
|
|
100
|
+
if (!entityPerms?.CanRead) {
|
|
101
|
+
throw new Error(`User '${contextUser.Email}' does not have permission to read entity '${entity.Name}'.`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Searches across `entities` for an entity that registers a physical SQL view matching
|
|
107
|
+
* `viewName` (and optional `schemaName`) as an `EntityAlternateBaseView`.
|
|
108
|
+
*
|
|
109
|
+
* Used by SQL AST extractors (Query entity extraction, `ClientClauseScreen`, and ad-hoc SQL
|
|
110
|
+
* read authorization) so queries referencing an alternate base view resolve to its parent
|
|
111
|
+
* entity alongside the matched `EntityAlternateBaseViewInfo`.
|
|
112
|
+
*/
|
|
113
|
+
export function FindAlternateBaseViewByPhysicalName(entities, viewName, schemaName) {
|
|
114
|
+
const normalizedView = viewName?.trim();
|
|
115
|
+
if (!normalizedView) {
|
|
116
|
+
return undefined;
|
|
117
|
+
}
|
|
118
|
+
for (const entity of entities) {
|
|
119
|
+
const match = entity.GetAlternateBaseViewByViewName(normalizedView, schemaName);
|
|
120
|
+
if (match) {
|
|
121
|
+
return { entity, alternateView: match };
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return undefined;
|
|
125
|
+
}
|
|
126
|
+
const _viewEntityPinnedAbvCache = new WeakMap();
|
|
127
|
+
/**
|
|
128
|
+
* Extracts a pinned `alternateBaseView` semantic name from a loaded User View `BaseEntity`
|
|
129
|
+
* (`DisplayState` JSON column) without introducing a dependency from `@memberjunction/core`
|
|
130
|
+
* to `@memberjunction/core-entities`.
|
|
131
|
+
*
|
|
132
|
+
* Memoizes the parsed result per `(viewEntity, rawDisplayState)` in a `WeakMap` so hot paths
|
|
133
|
+
* (`GetEffectiveAlternateBaseViewName` across cache eligibility, fingerprinting, dedup, and
|
|
134
|
+
* telemetry) do not `JSON.parse(DisplayState)` on every call.
|
|
135
|
+
*
|
|
136
|
+
* Mirrors the `ViewEntity.Get('EntityID')` / `ViewEntity.Get('WhereClause')` access pattern
|
|
137
|
+
* in `RunView.GetEntityNameFromRunViewParams` and `ProviderBase.ResolveRunViewEntitySync`.
|
|
138
|
+
*/
|
|
139
|
+
export function GetPinnedAlternateBaseViewFromViewEntity(viewEntity) {
|
|
140
|
+
if (!viewEntity || typeof viewEntity.Get !== 'function') {
|
|
141
|
+
return undefined;
|
|
142
|
+
}
|
|
143
|
+
// Weak-typing accessor on ViewEntity is deliberate in MJCore to avoid circular dependency on core-entities
|
|
144
|
+
const rawDisplayState = viewEntity.Get('DisplayState');
|
|
145
|
+
const cached = _viewEntityPinnedAbvCache.get(viewEntity);
|
|
146
|
+
if (cached && cached.raw === rawDisplayState) {
|
|
147
|
+
return cached.value;
|
|
148
|
+
}
|
|
149
|
+
const value = ExtractAlternateBaseViewFromDisplayState(rawDisplayState);
|
|
150
|
+
if (typeof viewEntity === 'object') {
|
|
151
|
+
_viewEntityPinnedAbvCache.set(viewEntity, { raw: rawDisplayState, value });
|
|
152
|
+
}
|
|
153
|
+
return value;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Extracts `alternateBaseView` (or `AlternateBaseView`) from a raw `DisplayState` JSON string
|
|
157
|
+
* or parsed object. Returns `undefined` when absent or blank.
|
|
158
|
+
*/
|
|
159
|
+
export function ExtractAlternateBaseViewFromDisplayState(rawDisplayState) {
|
|
160
|
+
if (!rawDisplayState) {
|
|
161
|
+
return undefined;
|
|
162
|
+
}
|
|
163
|
+
if (typeof rawDisplayState === 'string') {
|
|
164
|
+
const trimmed = rawDisplayState.trim();
|
|
165
|
+
if (!trimmed.startsWith('{')) {
|
|
166
|
+
return undefined;
|
|
167
|
+
}
|
|
168
|
+
try {
|
|
169
|
+
const parsed = JSON.parse(trimmed);
|
|
170
|
+
return extractFromDisplayStateObject(parsed);
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
return undefined;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
if (typeof rawDisplayState === 'object') {
|
|
177
|
+
return extractFromDisplayStateObject(rawDisplayState);
|
|
178
|
+
}
|
|
179
|
+
return undefined;
|
|
180
|
+
}
|
|
181
|
+
function extractFromDisplayStateObject(record) {
|
|
182
|
+
if (!record || typeof record !== 'object') {
|
|
183
|
+
return undefined;
|
|
184
|
+
}
|
|
185
|
+
const candidate = typeof record.alternateBaseView === 'string'
|
|
186
|
+
? record.alternateBaseView
|
|
187
|
+
: typeof record.AlternateBaseView === 'string'
|
|
188
|
+
? record.AlternateBaseView
|
|
189
|
+
: undefined;
|
|
190
|
+
if (!candidate) {
|
|
191
|
+
return undefined;
|
|
192
|
+
}
|
|
193
|
+
const trimmed = candidate.trim();
|
|
194
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* True when `params.AlternateBaseView` is explicitly set to `""` (or whitespace-only),
|
|
198
|
+
* meaning the caller is explicitly overriding any saved User View `DisplayState.alternateBaseView`
|
|
199
|
+
* pin back to the entity's canonical `BaseView`.
|
|
200
|
+
*/
|
|
201
|
+
export function IsExplicitBaseViewOverride(params) {
|
|
202
|
+
return typeof params?.AlternateBaseView === 'string' && params.AlternateBaseView.trim().length === 0;
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* Returns the effective semantic `AlternateBaseView` name for a `RunViewParams` object:
|
|
206
|
+
* - An explicit non-empty `params.AlternateBaseView` takes precedence over a saved User View's
|
|
207
|
+
* pinned `DisplayState.alternateBaseView` on `params.ViewEntity`.
|
|
208
|
+
* - An explicit empty `params.AlternateBaseView: ""` overrides a saved User View's pin back to
|
|
209
|
+
* `BaseView` (returns `undefined` without falling back to `params.ViewEntity`).
|
|
210
|
+
* - When `params.AlternateBaseView` is `undefined`, falls back to `params.ViewEntity`'s pinned
|
|
211
|
+
* `DisplayState.alternateBaseView`.
|
|
212
|
+
*/
|
|
213
|
+
export function GetEffectiveAlternateBaseViewName(params, viewEntity) {
|
|
214
|
+
if (!params && !viewEntity) {
|
|
215
|
+
return undefined;
|
|
216
|
+
}
|
|
217
|
+
if (typeof params?.AlternateBaseView === 'string') {
|
|
218
|
+
const trimmed = params.AlternateBaseView.trim();
|
|
219
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
220
|
+
}
|
|
221
|
+
return GetPinnedAlternateBaseViewFromViewEntity(viewEntity ?? params?.ViewEntity);
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=alternateBaseViews.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alternateBaseViews.js","sourceRoot":"","sources":["../../src/generic/alternateBaseViews.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,15 @@ export declare class BaseEnginePropertyConfig extends BaseInfo {
|
|
|
31
31
|
* Optional, filters to apply to the data load, applies only when type is 'entity'. Use DatasetItemFilters for dataset filters.
|
|
32
32
|
*/
|
|
33
33
|
Filter?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Optional semantic `Name` of a registered `EntityAlternateBaseView` on the target entity
|
|
36
|
+
* (for example, `'Active'`). Applies only when `Type` is `'entity'`.
|
|
37
|
+
*
|
|
38
|
+
* When set, `BaseEngine` passes `AlternateBaseView` to `RunViewParams` and disables
|
|
39
|
+
* immediate in-memory array mutation on save events (forcing a full database refresh
|
|
40
|
+
* so updated records that fall out of the alternate view's SQL predicate are removed).
|
|
41
|
+
*/
|
|
42
|
+
AlternateBaseView?: string;
|
|
34
43
|
/**
|
|
35
44
|
* Optional, filters to apply to each item in a dataset, only applies when type is 'dataset' and is optional in those cases.
|
|
36
45
|
*/
|
|
@@ -806,6 +815,11 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
|
|
|
806
815
|
* @returns true if AdditionalLoading is overridden, false if using the base implementation
|
|
807
816
|
*/
|
|
808
817
|
protected hasAdditionalLoadingOverride(): boolean;
|
|
818
|
+
/**
|
|
819
|
+
* Whether a save event's entity carries every column, so it can replace an engine row in
|
|
820
|
+
* place. Deletes and non-save events always qualify.
|
|
821
|
+
*/
|
|
822
|
+
protected savedRowIsComplete(event: BaseEntityEvent): boolean;
|
|
809
823
|
/**
|
|
810
824
|
* Applies an immediate array mutation based on the entity event type.
|
|
811
825
|
* This is faster than running a full view refresh for simple add/update/delete operations.
|
|
@@ -859,6 +873,18 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
|
|
|
859
873
|
* directly from the database. Passed through from {@link Load} when `forceRefresh` is true (i.e., `Config(true)`).
|
|
860
874
|
*/
|
|
861
875
|
protected LoadConfigs(configs: Partial<BaseEnginePropertyConfig>[], contextUser: UserInfo, bypassCache?: boolean): Promise<void>;
|
|
876
|
+
/** Engine-class and entity pairs already warned about by {@link WarnAboutFieldSecuredEntities}. */
|
|
877
|
+
private static _fieldSecurityWarned;
|
|
878
|
+
/**
|
|
879
|
+
* On a server, says once per engine class and entity when an entity this engine caches has
|
|
880
|
+
* field-level security (its own, or an IS-A ancestor's). Changes nothing about the load.
|
|
881
|
+
*
|
|
882
|
+
* A server-side engine loads as the system user (see {@link ResolveContextUser}), so its
|
|
883
|
+
* cache holds every column, including ones some users are denied. That is correct for a
|
|
884
|
+
* process-wide cache, and it makes every path that hands engine data to a person responsible
|
|
885
|
+
* for projecting it to that person first.
|
|
886
|
+
*/
|
|
887
|
+
protected WarnAboutFieldSecuredEntities(entityConfigs: BaseEnginePropertyConfig[]): void;
|
|
862
888
|
/**
|
|
863
889
|
* All-or-nothing permission gate: checks `CanRead` on every entity config. If ANY
|
|
864
890
|
* entity is denied, ALL configs are skipped — the engine is marked permission-constrained
|
|
@@ -911,14 +937,8 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
|
|
|
911
937
|
* IgnoreMaxRows, IncludeBinaryFields) are always consistent — preventing cache key mismatches that break
|
|
912
938
|
* cross-server invalidation via Redis pub/sub and local cache upsert/remove operations.
|
|
913
939
|
*
|
|
914
|
-
*
|
|
915
|
-
*
|
|
916
|
-
* provider adds for the reading user. On a server that is correct: engines load as the system
|
|
917
|
-
* user, whose RLS clause is empty, so the provider's fingerprint for the same read matches. An
|
|
918
|
-
* engine loaded by an RLS-scoped user (possible on a client) would compute an unscoped
|
|
919
|
-
* fingerprint for a slot the provider stored under a scoped one, so its cache callbacks and
|
|
920
|
-
* `syncLocalCacheForConfig` would target a different slot. Pass the RLS clause here if such an
|
|
921
|
-
* engine is ever needed.
|
|
940
|
+
* The slot fingerprint for these params also carries the engine user's row-level-security
|
|
941
|
+
* and field-security segments; see {@link configFingerprint}.
|
|
922
942
|
*/
|
|
923
943
|
protected BuildRunViewParamsForConfig(config: BaseEnginePropertyConfig, bypassCache?: boolean): RunViewParams;
|
|
924
944
|
/**
|
|
@@ -967,6 +987,21 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
|
|
|
967
987
|
* @param bypassCache - When true, bypasses server-side cache to get fresh data from the database
|
|
968
988
|
*/
|
|
969
989
|
protected LoadMultipleEntityConfigs(configs: BaseEnginePropertyConfig[], contextUser: UserInfo, bypassCache?: boolean): Promise<void>;
|
|
990
|
+
/**
|
|
991
|
+
* Maps normalized entity names (`entityName.trim().toLowerCase()`) to dataset item properties
|
|
992
|
+
* loaded via `DatasetResultHandling === 'single_property'`, allowing in-place auto-refresh of
|
|
993
|
+
* dataset-backed engines (such as `TemplateEngineBase`) on entity save/delete events.
|
|
994
|
+
*/
|
|
995
|
+
private _datasetItemMappings;
|
|
996
|
+
/**
|
|
997
|
+
* Applies an immediate in-place mutation to dataset item arrays when a constituent entity is saved or deleted,
|
|
998
|
+
* then invokes {@link AdditionalLoading} so derived associations (e.g. Template Content / Params) stay current.
|
|
999
|
+
*/
|
|
1000
|
+
protected applyDatasetItemMutations(mappings: Array<{
|
|
1001
|
+
config: BaseEnginePropertyConfig;
|
|
1002
|
+
itemCode: string;
|
|
1003
|
+
entityName: string;
|
|
1004
|
+
}>, event: BaseEntityEvent): Promise<void>;
|
|
970
1005
|
/**
|
|
971
1006
|
* Handles the process of loading a single config of type 'dataset'.
|
|
972
1007
|
* @param config
|
|
@@ -1123,7 +1158,16 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> implements
|
|
|
1123
1158
|
* old rows.
|
|
1124
1159
|
*/
|
|
1125
1160
|
private storeConfigRows;
|
|
1126
|
-
/**
|
|
1161
|
+
/**
|
|
1162
|
+
* The cache fingerprint of a config's slot: the one {@link RegisterCacheChangeCallbacks} listens
|
|
1163
|
+
* on, {@link syncLocalCacheForConfig} maintains and {@link storeConfigRows} writes.
|
|
1164
|
+
*
|
|
1165
|
+
* Built by the provider for this engine's user, with that user's row-level-security and
|
|
1166
|
+
* field-security segments, so it names the same slot the provider's own RunView read used. An
|
|
1167
|
+
* engine running as a restricted user holds only what that user may see; without the segments
|
|
1168
|
+
* its rows would be written into, and its callbacks registered on, the slot unrestricted
|
|
1169
|
+
* readers share.
|
|
1170
|
+
*/
|
|
1127
1171
|
protected configFingerprint(config: BaseEnginePropertyConfig): string;
|
|
1128
1172
|
/**
|
|
1129
1173
|
* Snapshot of what this engine holds: per property, the row count, newest `__mj_UpdatedAt`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
|