@memberjunction/core-entities 6.2.0-edge.3 → 6.2.0-edge.5
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/.tsbuildinfo +1 -1
- package/dist/custom/ConversationForkAccess.d.ts +15 -0
- package/dist/custom/ConversationForkAccess.d.ts.map +1 -0
- package/dist/custom/ConversationForkAccess.js +28 -0
- package/dist/custom/ConversationForkAccess.js.map +1 -0
- package/dist/custom/ConversationWriteAccess.d.ts +21 -0
- package/dist/custom/ConversationWriteAccess.d.ts.map +1 -0
- package/dist/custom/ConversationWriteAccess.js +34 -0
- package/dist/custom/ConversationWriteAccess.js.map +1 -0
- package/dist/custom/MJConversationBranchEntityExtended.d.ts +30 -0
- package/dist/custom/MJConversationBranchEntityExtended.d.ts.map +1 -0
- package/dist/custom/MJConversationBranchEntityExtended.js +120 -0
- package/dist/custom/MJConversationBranchEntityExtended.js.map +1 -0
- package/dist/custom/MJConversationDetailEntityExtended.d.ts +46 -4
- package/dist/custom/MJConversationDetailEntityExtended.d.ts.map +1 -1
- package/dist/custom/MJConversationDetailEntityExtended.js +194 -47
- package/dist/custom/MJConversationDetailEntityExtended.js.map +1 -1
- package/dist/custom/MJDashboardEntityExtended.d.ts.map +1 -1
- package/dist/custom/MJDashboardEntityExtended.js +3 -0
- package/dist/custom/MJDashboardEntityExtended.js.map +1 -1
- package/dist/custom/MJThemeEntityExtended.d.ts +13 -0
- package/dist/custom/MJThemeEntityExtended.d.ts.map +1 -0
- package/dist/custom/MJThemeEntityExtended.js +37 -0
- package/dist/custom/MJThemeEntityExtended.js.map +1 -0
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts.map +1 -1
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js +14 -13
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js.map +1 -1
- package/dist/engines/FileStorageEngine.d.ts +40 -0
- package/dist/engines/FileStorageEngine.d.ts.map +1 -1
- package/dist/engines/FileStorageEngine.js +49 -0
- package/dist/engines/FileStorageEngine.js.map +1 -1
- package/dist/engines/InstanceConfigEngine.d.ts.map +1 -1
- package/dist/engines/InstanceConfigEngine.js +13 -3
- package/dist/engines/InstanceConfigEngine.js.map +1 -1
- package/dist/engines/PermissionEngine.d.ts +5 -4
- package/dist/engines/PermissionEngine.d.ts.map +1 -1
- package/dist/engines/PermissionEngine.js +7 -5
- package/dist/engines/PermissionEngine.js.map +1 -1
- package/dist/engines/QueryEngine.d.ts +81 -6
- package/dist/engines/QueryEngine.d.ts.map +1 -1
- package/dist/engines/QueryEngine.js +283 -4
- package/dist/engines/QueryEngine.js.map +1 -1
- package/dist/engines/UserInfoEngine.d.ts +64 -12
- package/dist/engines/UserInfoEngine.d.ts.map +1 -1
- package/dist/engines/UserInfoEngine.js +100 -33
- package/dist/engines/UserInfoEngine.js.map +1 -1
- package/dist/engines/artifacts.d.ts.map +1 -1
- package/dist/engines/artifacts.js +1 -0
- package/dist/engines/artifacts.js.map +1 -1
- package/dist/engines/conversations.d.ts +378 -35
- package/dist/engines/conversations.d.ts.map +1 -1
- package/dist/engines/conversations.js +736 -79
- package/dist/engines/conversations.js.map +1 -1
- package/dist/generated/entities/__mj.d.ts +3488 -230
- package/dist/generated/entities/__mj.d.ts.map +1 -1
- package/dist/generated/entities/__mj.js +2927 -18
- package/dist/generated/entities/__mj.js.map +1 -1
- package/dist/generated/remote_operations.d.ts +17 -5
- package/dist/generated/remote_operations.d.ts.map +1 -1
- package/dist/generated/remote_operations.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/package.json +6 -5
- package/readme.md +1 -1
|
@@ -83,6 +83,55 @@ export class FileStorageEngineBase extends BaseEngine {
|
|
|
83
83
|
})
|
|
84
84
|
.filter((item) => item !== null);
|
|
85
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Gets storage accounts whose provider is active — the accounts files can actually be written to.
|
|
88
|
+
*/
|
|
89
|
+
get ActiveAccounts() {
|
|
90
|
+
return this.AccountsWithProviders.filter(a => a.provider.IsActive);
|
|
91
|
+
}
|
|
92
|
+
// ========================================
|
|
93
|
+
// Default account resolution
|
|
94
|
+
// ========================================
|
|
95
|
+
/**
|
|
96
|
+
* Picks the storage account to use when no caller-specific default is configured. This is the
|
|
97
|
+
* single golden path for "which account, if nobody said?" — agents, actions and UI should all use it
|
|
98
|
+
* so they agree.
|
|
99
|
+
*
|
|
100
|
+
* - No candidates → `Chosen` is `null`.
|
|
101
|
+
* - One candidate → that account.
|
|
102
|
+
* - Two or more → the account with the most recent `__mj_UpdatedAt`, exact ties broken by ID
|
|
103
|
+
* (case-insensitive) so the choice is stable across processes; `Ambiguous` is `true`.
|
|
104
|
+
*
|
|
105
|
+
* Works only on cached metadata (no database calls) and does not log — callers decide how to
|
|
106
|
+
* surface an ambiguous choice.
|
|
107
|
+
*
|
|
108
|
+
* @param candidates - Accounts to choose among; defaults to {@link ActiveAccounts}.
|
|
109
|
+
*/
|
|
110
|
+
ResolveDefaultAccount(candidates = this.ActiveAccounts) {
|
|
111
|
+
const sorted = [...candidates].sort(FileStorageEngineBase.compareNewestFirst);
|
|
112
|
+
return {
|
|
113
|
+
Chosen: sorted[0] ?? null,
|
|
114
|
+
Candidates: sorted,
|
|
115
|
+
Ambiguous: sorted.length > 1,
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Convenience form of {@link ResolveDefaultAccount} that returns just the chosen account's ID.
|
|
120
|
+
* @param candidates - Accounts to choose among; defaults to {@link ActiveAccounts}.
|
|
121
|
+
* @returns The chosen account ID, or `null` when there are no candidates.
|
|
122
|
+
*/
|
|
123
|
+
ResolveDefaultAccountID(candidates) {
|
|
124
|
+
return this.ResolveDefaultAccount(candidates).Chosen?.account.ID ?? null;
|
|
125
|
+
}
|
|
126
|
+
/** Orders newest `__mj_UpdatedAt` first, breaking exact ties by ID (case-insensitive). */
|
|
127
|
+
static compareNewestFirst(a, b) {
|
|
128
|
+
const byUpdated = new Date(b.account.__mj_UpdatedAt).getTime() - new Date(a.account.__mj_UpdatedAt).getTime();
|
|
129
|
+
if (byUpdated !== 0)
|
|
130
|
+
return byUpdated;
|
|
131
|
+
const aId = a.account.ID.toUpperCase();
|
|
132
|
+
const bId = b.account.ID.toUpperCase();
|
|
133
|
+
return aId < bId ? -1 : aId > bId ? 1 : 0;
|
|
134
|
+
}
|
|
86
135
|
// ========================================
|
|
87
136
|
// Lookup Methods
|
|
88
137
|
// ========================================
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileStorageEngine.js","sourceRoot":"","sources":["../../src/engines/FileStorageEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAyD,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"FileStorageEngine.js","sourceRoot":"","sources":["../../src/engines/FileStorageEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceConfigEngine.d.ts","sourceRoot":"","sources":["../../src/engines/InstanceConfigEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"InstanceConfigEngine.d.ts","sourceRoot":"","sources":["../../src/engines/InstanceConfigEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,EAAsB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7H,OAAO,EAAE,6BAA6B,EAAE,MAAM,gCAAgC,CAAC;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,oBAAqB,SAAQ,UAAU,CAAC,oBAAoB,CAAC;IACtE;;;;OAIG;IACH,WAAkB,QAAQ,IAAI,oBAAoB,CAEjD;IAED,OAAO,CAAC,QAAQ,CAAuC;IAEvD;;;;;OAKG;IACU,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBhH,yCAAyC;IACzC,IAAW,eAAe,IAAI,6BAA6B,EAAE,CAE5D;IAMD;;;;OAIG;IACI,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,6BAA6B,GAAG,SAAS;IAKpF;;;;OAIG;IACI,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,6BAA6B,EAAE;IAU9E;;;;;OAKG;IACI,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMlD;;;;;OAKG;IACI,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,OAAc,GAAG,OAAO;IAM5E;;;;;OAKG;IACI,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,GAAE,MAAU,GAAG,MAAM;IAOtE;;;;;OAKG;IACI,OAAO,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IActE;;;;;;;;;;;OAWG;IACU,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IA0B7F;;;OAGG;IACH,OAAO,CAAC,YAAY;CAOvB"}
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { BaseEngine, RegisterForStartup } from "@memberjunction/core";
|
|
2
8
|
/**
|
|
3
9
|
* InstanceConfigEngine provides centralized, cached access to instance-level feature configuration.
|
|
4
10
|
* It loads all MJ: Instance Configurations records into memory and provides typed getters
|
|
@@ -25,7 +31,7 @@ import { BaseEngine } from "@memberjunction/core";
|
|
|
25
31
|
* await engine.Set('Shell.SearchBar.Enabled', 'true', contextUser);
|
|
26
32
|
* ```
|
|
27
33
|
*/
|
|
28
|
-
|
|
34
|
+
let InstanceConfigEngine = class InstanceConfigEngine extends BaseEngine {
|
|
29
35
|
constructor() {
|
|
30
36
|
super(...arguments);
|
|
31
37
|
this._configs = [];
|
|
@@ -194,5 +200,9 @@ export class InstanceConfigEngine extends BaseEngine {
|
|
|
194
200
|
}
|
|
195
201
|
return config.DefaultValue;
|
|
196
202
|
}
|
|
197
|
-
}
|
|
203
|
+
};
|
|
204
|
+
InstanceConfigEngine = __decorate([
|
|
205
|
+
RegisterForStartup()
|
|
206
|
+
], InstanceConfigEngine);
|
|
207
|
+
export { InstanceConfigEngine };
|
|
198
208
|
//# sourceMappingURL=InstanceConfigEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InstanceConfigEngine.js","sourceRoot":"","sources":["../../src/engines/InstanceConfigEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"InstanceConfigEngine.js","sourceRoot":"","sources":["../../src/engines/InstanceConfigEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,16 +31,17 @@ export declare const PERMISSION_DOMAIN_ICON_FALLBACK = "fa-solid fa-lock";
|
|
|
31
31
|
* );
|
|
32
32
|
* ```
|
|
33
33
|
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
34
|
+
* Runs at the default startup priority (100) alongside `UserInfoEngine`, `ApplicationManager`,
|
|
35
|
+
* and `DashboardEngine` so its `MJ: Permission Domains` `RunView` coalesces into the main
|
|
36
|
+
* synchronous startup batch rather than forcing a solo round-trip. Providers lazy-resolve
|
|
37
|
+
* their backing engines on first use, so configure order within the priority group does not matter.
|
|
38
38
|
*/
|
|
39
39
|
export declare class PermissionEngine extends BaseEngine<PermissionEngine> {
|
|
40
40
|
static get Instance(): PermissionEngine;
|
|
41
41
|
private _domains;
|
|
42
42
|
private _providers;
|
|
43
43
|
Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
|
|
44
|
+
protected AdditionalLoading(): Promise<void>;
|
|
44
45
|
/**
|
|
45
46
|
* Walks the loaded domain catalog and instantiates each active provider via ClassFactory.
|
|
46
47
|
* Called on every `Config()` so a `forceRefresh` re-wires the provider map.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/PermissionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,UAAU,EAEV,iBAAiB,EAGjB,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EAErB,sBAAsB,EAGtB,QAAQ,EACX,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,wBAAwB,EAAE,MAAM,gCAAgC,CAAC;AAoB1E;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAW1D,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBACa,gBAAiB,SAAQ,UAAU,CAAC,gBAAgB,CAAC;IAC9D,WAAkB,QAAQ,IAAI,gBAAgB,CAE7C;IAED,OAAO,CAAC,QAAQ,CAAkC;IAClD,OAAO,CAAC,UAAU,CAAkD;IAEvD,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"PermissionEngine.d.ts","sourceRoot":"","sources":["../../src/engines/PermissionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -65,10 +65,10 @@ export const PERMISSION_DOMAIN_ICON_FALLBACK = 'fa-solid fa-lock';
|
|
|
65
65
|
* );
|
|
66
66
|
* ```
|
|
67
67
|
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
68
|
+
* Runs at the default startup priority (100) alongside `UserInfoEngine`, `ApplicationManager`,
|
|
69
|
+
* and `DashboardEngine` so its `MJ: Permission Domains` `RunView` coalesces into the main
|
|
70
|
+
* synchronous startup batch rather than forcing a solo round-trip. Providers lazy-resolve
|
|
71
|
+
* their backing engines on first use, so configure order within the priority group does not matter.
|
|
72
72
|
*/
|
|
73
73
|
let PermissionEngine = class PermissionEngine extends BaseEngine {
|
|
74
74
|
constructor() {
|
|
@@ -89,6 +89,8 @@ let PermissionEngine = class PermissionEngine extends BaseEngine {
|
|
|
89
89
|
},
|
|
90
90
|
];
|
|
91
91
|
await super.Load(configs, provider, forceRefresh, contextUser);
|
|
92
|
+
}
|
|
93
|
+
async AdditionalLoading() {
|
|
92
94
|
this.instantiateProviders();
|
|
93
95
|
}
|
|
94
96
|
/**
|
|
@@ -345,7 +347,7 @@ let PermissionEngine = class PermissionEngine extends BaseEngine {
|
|
|
345
347
|
}
|
|
346
348
|
};
|
|
347
349
|
PermissionEngine = __decorate([
|
|
348
|
-
RegisterForStartup({
|
|
350
|
+
RegisterForStartup({ severity: 'warn', description: 'PermissionEngine — unified permission provider registry' })
|
|
349
351
|
], PermissionEngine);
|
|
350
352
|
export { PermissionEngine };
|
|
351
353
|
//# sourceMappingURL=PermissionEngine.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PermissionEngine.js","sourceRoot":"","sources":["../../src/engines/PermissionEngine.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EACH,UAAU,EAGV,QAAQ,EACR,WAAW,EAMX,qBAAqB,EACrB,sBAAsB,EACtB,kBAAkB,EAClB,OAAO,GAEV,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD;;;;GAIG;AACH,MAAM,wBAAwB,GAA6B;IACvD,oBAAoB,EAAE,CAAC,wBAAwB,CAAC;IAChD,mBAAmB,EAAE,CAAC,uBAAuB,CAAC;IAC9C,uBAAuB,EAAE,CAAC,2BAA2B,EAAE,oCAAoC,CAAC;IAC5F,sBAAsB,EAAE,CAAC,0BAA0B,CAAC;IACpD,sBAAsB,EAAE,CAAC,0BAA0B,CAAC;IACpD,wBAAwB,EAAE,CAAC,4BAA4B,CAAC;IACxD,sBAAsB,EAAE,CAAC,0BAA0B,CAAC;IACpD,sBAAsB,EAAE,CAAC,0BAA0B,CAAC;IACpD,mBAAmB,EAAE,CAAC,uBAAuB,CAAC;IAC9C,sBAAsB,EAAE,CAAC,0BAA0B,CAAC;CACvD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC3D,oBAAoB,EAAE,sBAAsB;IAC5C,mBAAmB,EAAE,2BAA2B;IAChD,uBAAuB,EAAE,wBAAwB;IACjD,sBAAsB,EAAE,yBAAyB;IACjD,sBAAsB,EAAE,wBAAwB;IAChD,wBAAwB,EAAE,yBAAyB;IACnD,sBAAsB,EAAE,mBAAmB;IAC3C,sBAAsB,EAAE,iCAAiC;IACzD,mBAAmB,EAAE,8BAA8B;IACnD,sBAAsB,EAAE,kBAAkB;CAC7C,CAAC;AAEF,wFAAwF;AACxF,MAAM,CAAC,MAAM,+BAA+B,GAAG,kBAAkB,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEI,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,UAA4B;IAA3D;;QAKK,aAAQ,GAA+B,EAAE,CAAC;QAC1C,eAAU,GAAwC,IAAI,GAAG,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"PermissionEngine.js","sourceRoot":"","sources":["../../src/engines/PermissionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import { BaseEngine, IMetadataProvider, UserInfo } from "@memberjunction/core";
|
|
1
|
+
import { BaseEngine, BaseEnginePropertyConfig, BaseEntity, BaseEntityEvent, DatabasePlatform, EngineDataChangeEvent, IMetadataProvider, QueryDefinitionSignature, UserInfo } from "@memberjunction/core";
|
|
2
2
|
import { MJQueryCategoryEntity, MJQueryFieldEntity, MJQueryParameterEntity, MJQueryEntityEntity, MJQueryPermissionEntity, MJQueryDependencyEntity, MJQuerySQLEntity, MJSQLDialectEntity } from "../generated/entity_subclasses.js";
|
|
3
3
|
import { MJQueryEntityExtended } from "../custom/MJQueryEntityExtended.js";
|
|
4
|
-
/**
|
|
5
|
-
* Caching of metadata for queries and related data, with auto-refresh on entity changes.
|
|
6
|
-
* Returns `MJQueryEntityExtended` instances which include child-relationship getters
|
|
7
|
-
* (QueryFields, QueryParameters, etc.) and business logic (UserCanRun, CategoryPath, etc.).
|
|
8
|
-
*/
|
|
9
4
|
export declare class QueryEngine extends BaseEngine<QueryEngine> {
|
|
10
5
|
/**
|
|
11
6
|
* Returns the global instance of the class. This is a singleton class, so there is only one instance of it in the application.
|
|
@@ -66,5 +61,85 @@ export declare class QueryEngine extends BaseEngine<QueryEngine> {
|
|
|
66
61
|
GetQueriesByCategory(categoryId: string): MJQueryEntityExtended[];
|
|
67
62
|
/** Find a category by name (case-insensitive) */
|
|
68
63
|
FindCategory(name: string): MJQueryCategoryEntity | undefined;
|
|
64
|
+
/** Definition signatures by `queryID|platform`, cleared whenever a definition property changes. */
|
|
65
|
+
private _definitionMemo;
|
|
66
|
+
/** Lookup indexes for computing signatures, built on first use after the memo was cleared. */
|
|
67
|
+
private _definitionIndexes;
|
|
68
|
+
/** Saves seen starting with a result-affecting column dirty; see {@link trackDefinitionEdit}. */
|
|
69
|
+
private _resultAffectingSaves;
|
|
70
|
+
/** Pending slot invalidations by lowercased query ID; see {@link scheduleSlotInvalidation}. */
|
|
71
|
+
private _pendingSlotInvalidations;
|
|
72
|
+
/**
|
|
73
|
+
* How long, in milliseconds, a query must go without a result-affecting save on this process
|
|
74
|
+
* before its cached results are deleted. One edit saves the query, then its parameters, fields,
|
|
75
|
+
* entities and dependencies, then the query again, over several seconds; waiting for the burst
|
|
76
|
+
* to settle deletes the slots once instead of once per save.
|
|
77
|
+
*/
|
|
78
|
+
protected get DefinitionEditSettleMs(): number;
|
|
79
|
+
/**
|
|
80
|
+
* The signature of what a query's results are computed from on `platform`: a hash of the SQL
|
|
81
|
+
* that runs there (`GetPlatformSQL`), the columns that change how it runs (`UsesTemplate`,
|
|
82
|
+
* `ExternalDataSourceID`, `IsMaterialized`, `SQLDialectID`), its `CacheValidationSQL`, its
|
|
83
|
+
* parameters' names, types, required flags and validation filters, and, recursively, the signatures of the queries it composes (a cycle
|
|
84
|
+
* is hashed as a marker rather than followed). Descriptive columns, parameter default values
|
|
85
|
+
* (informational only), field rows, permissions and cache settings are not part of it.
|
|
86
|
+
*
|
|
87
|
+
* The stamp is the newest `__mj_UpdatedAt` across the same rows. Computed once per query and
|
|
88
|
+
* platform, and again only after this engine's query data changes.
|
|
89
|
+
*
|
|
90
|
+
* @returns The signature, or undefined when the engine does not hold the query
|
|
91
|
+
*/
|
|
92
|
+
GetDefinitionSignature(queryID: string, platform: DatabasePlatform): QueryDefinitionSignature | undefined;
|
|
93
|
+
/**
|
|
94
|
+
* The memoized signature, computing it (and any composed query's) on a miss. A signature whose
|
|
95
|
+
* computation met a cycle is not memoized: its value depends on where the walk entered the
|
|
96
|
+
* cycle, and two processes must agree on every query's hash.
|
|
97
|
+
*/
|
|
98
|
+
private definitionSignature;
|
|
99
|
+
/** The hashed text of one query's own definition, without its composed queries. */
|
|
100
|
+
private definitionParts;
|
|
101
|
+
/** Dependency rows in a stable order, so the hash does not depend on load order. */
|
|
102
|
+
private static sortedDependencies;
|
|
103
|
+
/** Builds (once per memo generation) the lookups signature computation reads. */
|
|
104
|
+
private definitionIndexes;
|
|
105
|
+
/** Forgets every computed signature, so the next request recomputes from current data. */
|
|
106
|
+
private clearDefinitionMemo;
|
|
107
|
+
protected NotifyDataChange(config: BaseEnginePropertyConfig, data: unknown[], changeType?: EngineDataChangeEvent['changeType'], affectedEntity?: BaseEntity): void;
|
|
108
|
+
protected emitPropertyChange(propertyName: string): void;
|
|
109
|
+
/** Milliseconds since the epoch for a row timestamp, or 0 when absent or unreadable. */
|
|
110
|
+
private static timestampMs;
|
|
111
|
+
/**
|
|
112
|
+
* A 53-bit hash of `text` as hex (cyrb53). Plain JavaScript, so a browser and a server hash the
|
|
113
|
+
* same text to the same value.
|
|
114
|
+
*/
|
|
115
|
+
private static hashText;
|
|
116
|
+
/**
|
|
117
|
+
* Notes result-affecting edits made in this process before the base class applies the event.
|
|
118
|
+
* Only local saves and deletes count: every server's engine also hears about the edit, through
|
|
119
|
+
* the shared cache, but only the server that made it deletes the slots, so a fleet does not
|
|
120
|
+
* delete the same slots once per server while the others refill them.
|
|
121
|
+
*/
|
|
122
|
+
protected HandleIndividualBaseEntityEvent(event: BaseEntityEvent): Promise<boolean>;
|
|
123
|
+
/**
|
|
124
|
+
* Follows one save or delete of a query definition row. A save is judged when it starts, while
|
|
125
|
+
* the record still knows which columns are dirty, and acted on when it succeeds. A delete
|
|
126
|
+
* always counts. The slots of the affected query and of every query that composes it are then
|
|
127
|
+
* deleted once the edit settles (see {@link DefinitionEditSettleMs}). Deleting them is
|
|
128
|
+
* housekeeping: a read under the new definition already misses them (see
|
|
129
|
+
* {@link GetDefinitionSignature}).
|
|
130
|
+
*/
|
|
131
|
+
private trackDefinitionEdit;
|
|
132
|
+
/** True for a create, or an update with any of `columns` dirty. */
|
|
133
|
+
private static isResultAffectingSave;
|
|
134
|
+
/** The query a definition row belongs to: the row itself for a query, else its QueryID. */
|
|
135
|
+
private static editedQueryID;
|
|
136
|
+
/** Schedules slot deletion for `queryID` and every query that composes it, directly or not. */
|
|
137
|
+
private invalidateAfterEdit;
|
|
138
|
+
/** `queryID` plus every query that reaches it through composition. Cycles end the walk. */
|
|
139
|
+
private queryAndDependents;
|
|
140
|
+
/** (Re)starts the settle timer for one query's slot deletion. */
|
|
141
|
+
private scheduleSlotInvalidation;
|
|
142
|
+
/** Deletes one query's cached results. Never throws. */
|
|
143
|
+
private invalidateQuerySlots;
|
|
69
144
|
}
|
|
70
145
|
//# sourceMappingURL=QueryEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"QueryEngine.d.ts","sourceRoot":"","sources":["../../src/engines/QueryEngine.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"QueryEngine.d.ts","sourceRoot":"","sources":["../../src/engines/QueryEngine.ts"],"names":[],"mappings":"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"}
|