@memberjunction/core 1.4.0 → 1.5.0
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/applicationInfo.d.ts +1 -1
- package/dist/generic/applicationInfo.d.ts.map +1 -1
- package/dist/generic/applicationInfo.js +1 -1
- package/dist/generic/applicationInfo.js.map +1 -1
- package/dist/generic/baseEngine.d.ts +56 -0
- package/dist/generic/baseEngine.d.ts.map +1 -0
- package/dist/generic/baseEngine.js +82 -0
- package/dist/generic/baseEngine.js.map +1 -0
- package/dist/generic/baseEntity.d.ts +99 -9
- package/dist/generic/baseEntity.d.ts.map +1 -1
- package/dist/generic/baseEntity.js +178 -79
- package/dist/generic/baseEntity.js.map +1 -1
- package/dist/generic/baseInfo.d.ts +2 -0
- package/dist/generic/baseInfo.d.ts.map +1 -1
- package/dist/generic/baseInfo.js +27 -3
- package/dist/generic/baseInfo.js.map +1 -1
- package/dist/generic/compositeKey.d.ts +133 -0
- package/dist/generic/compositeKey.d.ts.map +1 -0
- package/dist/generic/compositeKey.js +283 -0
- package/dist/generic/compositeKey.js.map +1 -0
- package/dist/generic/entityInfo.d.ts +12 -38
- package/dist/generic/entityInfo.d.ts.map +1 -1
- package/dist/generic/entityInfo.js +29 -65
- package/dist/generic/entityInfo.js.map +1 -1
- package/dist/generic/interfaces.d.ts +35 -81
- package/dist/generic/interfaces.d.ts.map +1 -1
- package/dist/generic/interfaces.js +32 -182
- package/dist/generic/interfaces.js.map +1 -1
- package/dist/generic/libraryInfo.d.ts +39 -0
- package/dist/generic/libraryInfo.d.ts.map +1 -0
- package/dist/generic/libraryInfo.js +55 -0
- package/dist/generic/libraryInfo.js.map +1 -0
- package/dist/generic/logging.d.ts +43 -0
- package/dist/generic/logging.d.ts.map +1 -1
- package/dist/generic/logging.js +73 -1
- package/dist/generic/logging.js.map +1 -1
- package/dist/generic/metadata.d.ts +28 -9
- package/dist/generic/metadata.d.ts.map +1 -1
- package/dist/generic/metadata.js +52 -16
- package/dist/generic/metadata.js.map +1 -1
- package/dist/generic/providerBase.d.ts +32 -33
- package/dist/generic/providerBase.d.ts.map +1 -1
- package/dist/generic/providerBase.js +118 -207
- package/dist/generic/providerBase.js.map +1 -1
- package/dist/generic/transactionGroup.d.ts +38 -1
- package/dist/generic/transactionGroup.d.ts.map +1 -1
- package/dist/generic/transactionGroup.js +38 -14
- package/dist/generic/transactionGroup.js.map +1 -1
- package/dist/generic/util.d.ts +4 -0
- package/dist/generic/util.d.ts.map +1 -1
- package/dist/generic/util.js +15 -1
- package/dist/generic/util.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/views/runView.d.ts +7 -1
- package/dist/views/runView.d.ts.map +1 -1
- package/dist/views/runView.js +31 -1
- package/dist/views/runView.js.map +1 -1
- package/package.json +3 -2
|
@@ -36,6 +36,6 @@ export declare class ApplicationInfo extends BaseInfo {
|
|
|
36
36
|
get ApplicationEntities(): ApplicationEntityInfo[];
|
|
37
37
|
private _ApplicationSettings;
|
|
38
38
|
get ApplicationSettings(): ApplicationSettingInfo[];
|
|
39
|
-
constructor(
|
|
39
|
+
constructor(initData: any, md: IMetadataProvider);
|
|
40
40
|
}
|
|
41
41
|
//# sourceMappingURL=applicationInfo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applicationInfo.d.ts","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,sBAAuB,SAAQ,QAAQ;IAChD,eAAe,EAAE,MAAM,CAAO;IAC9B,IAAI,EAAE,MAAM,CAAO;IACnB,KAAK,EAAE,MAAM,CAAO;IACpB,QAAQ,EAAE,MAAM,CAAO;IACvB,SAAS,EAAE,IAAI,CAAO;IACtB,SAAS,EAAE,IAAI,CAAO;gBAET,QAAQ,GAAE,GAAU;CAIpC;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;IAC/C,eAAe,EAAE,MAAM,CAAO;IAC9B,QAAQ,EAAE,MAAM,CAAO;IACvB,QAAQ,EAAE,MAAM,CAAO;IACvB,iBAAiB,EAAE,OAAO,CAAO;IACjC,WAAW,EAAE,MAAM,CAAO;IAC1B,MAAM,EAAE,MAAM,CAAO;IACrB,eAAe,EAAE,MAAM,CAAO;IAC9B,cAAc,EAAE,MAAM,CAAO;IAC7B,eAAe,EAAE,MAAM,CAAO;IAC9B,uBAAuB,EAAE,MAAM,CAAO;IAEtC,OAAO,CAAC,WAAW,CAAmB;IACtC,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,UAAU,CAAC,MAAM,EAAE,UAAU;gBAIhB,QAAQ,GAAE,GAAU;CAIpC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IACzC,IAAI,EAAE,MAAM,CAAO;IACnB,WAAW,EAAE,MAAM,CAAO;IAE1B,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,IAAW,mBAAmB,IAAI,qBAAqB,EAAE,CAExD;IAED,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,IAAW,mBAAmB,IAAI,sBAAsB,EAAE,CAEzD;gBAEY,
|
|
1
|
+
{"version":3,"file":"applicationInfo.d.ts","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,qBAAa,sBAAuB,SAAQ,QAAQ;IAChD,eAAe,EAAE,MAAM,CAAO;IAC9B,IAAI,EAAE,MAAM,CAAO;IACnB,KAAK,EAAE,MAAM,CAAO;IACpB,QAAQ,EAAE,MAAM,CAAO;IACvB,SAAS,EAAE,IAAI,CAAO;IACtB,SAAS,EAAE,IAAI,CAAO;gBAET,QAAQ,GAAE,GAAU;CAIpC;AAED,qBAAa,qBAAsB,SAAQ,QAAQ;IAC/C,eAAe,EAAE,MAAM,CAAO;IAC9B,QAAQ,EAAE,MAAM,CAAO;IACvB,QAAQ,EAAE,MAAM,CAAO;IACvB,iBAAiB,EAAE,OAAO,CAAO;IACjC,WAAW,EAAE,MAAM,CAAO;IAC1B,MAAM,EAAE,MAAM,CAAO;IACrB,eAAe,EAAE,MAAM,CAAO;IAC9B,cAAc,EAAE,MAAM,CAAO;IAC7B,eAAe,EAAE,MAAM,CAAO;IAC9B,uBAAuB,EAAE,MAAM,CAAO;IAEtC,OAAO,CAAC,WAAW,CAAmB;IACtC,IAAW,UAAU,IAAI,UAAU,CAElC;IAED,UAAU,CAAC,MAAM,EAAE,UAAU;gBAIhB,QAAQ,GAAE,GAAU;CAIpC;AAED;;GAEG;AACH,qBAAa,eAAgB,SAAQ,QAAQ;IACzC,IAAI,EAAE,MAAM,CAAO;IACnB,WAAW,EAAE,MAAM,CAAO;IAE1B,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,IAAW,mBAAmB,IAAI,qBAAqB,EAAE,CAExD;IAED,OAAO,CAAC,oBAAoB,CAA+B;IAC3D,IAAW,mBAAmB,IAAI,sBAAsB,EAAE,CAEzD;gBAEY,QAAQ,EAAE,GAAU,EAAE,EAAE,EAAE,iBAAiB;CAyB3D"}
|
|
@@ -49,7 +49,7 @@ class ApplicationInfo extends baseInfo_1.BaseInfo {
|
|
|
49
49
|
get ApplicationSettings() {
|
|
50
50
|
return this._ApplicationSettings;
|
|
51
51
|
}
|
|
52
|
-
constructor(
|
|
52
|
+
constructor(initData = null, md) {
|
|
53
53
|
super();
|
|
54
54
|
this.Name = null;
|
|
55
55
|
this.Description = null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"applicationInfo.js","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAIrC,MAAa,sBAAuB,SAAQ,mBAAQ;IAQhD,YAAa,WAAgB,IAAI;QAC7B,KAAK,EAAE,CAAA;QARX,oBAAe,GAAW,IAAI,CAAA;QAC9B,SAAI,GAAW,IAAI,CAAA;QACnB,UAAK,GAAW,IAAI,CAAA;QACpB,aAAQ,GAAW,IAAI,CAAA;QACvB,cAAS,GAAS,IAAI,CAAA;QACtB,cAAS,GAAS,IAAI,CAAA;QAIlB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;CACJ;AAZD,wDAYC;AAED,MAAa,qBAAsB,SAAQ,mBAAQ;IAa/C,IAAW,UAAU;QACjB,OAAO,IAAI,CAAC,WAAW,CAAA;IAC3B,CAAC;IAED,UAAU,CAAC,MAAkB;QACzB,IAAI,CAAC,WAAW,GAAG,MAAM,CAAA;IAC7B,CAAC;IAED,YAAa,WAAgB,IAAI;QAC7B,KAAK,EAAE,CAAA;QArBX,oBAAe,GAAW,IAAI,CAAA;QAC9B,aAAQ,GAAW,IAAI,CAAA;QACvB,aAAQ,GAAW,IAAI,CAAA;QACvB,sBAAiB,GAAY,IAAI,CAAA;QACjC,gBAAW,GAAW,IAAI,CAAA;QAC1B,WAAM,GAAW,IAAI,CAAA;QACrB,oBAAe,GAAW,IAAI,CAAA;QAC9B,mBAAc,GAAW,IAAI,CAAA;QAC7B,oBAAe,GAAW,IAAI,CAAA;QAC9B,4BAAuB,GAAW,IAAI,CAAA;QAE9B,gBAAW,GAAe,IAAI,CAAA;QAWlC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;IAC/B,CAAC;CACJ;AAzBD,sDAyBC;AAED;;GAEG;AACH,MAAa,eAAgB,SAAQ,mBAAQ;IAKzC,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAGD,IAAW,mBAAmB;QAC1B,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACrC,CAAC;IAED,YAAa,
|
|
1
|
+
{"version":3,"file":"applicationInfo.js","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { BaseSingleton } from "@memberjunction/global";
|
|
2
|
+
import { BehaviorSubject } from "rxjs";
|
|
3
|
+
import { UserInfo } from "./securityInfo";
|
|
4
|
+
/**
|
|
5
|
+
* Property configuration for the BaseEngine class to automatically load/set properties on the class.
|
|
6
|
+
*/
|
|
7
|
+
export interface BaseEnginePropertyConfig {
|
|
8
|
+
/**
|
|
9
|
+
* The name of the property in the class instance
|
|
10
|
+
*/
|
|
11
|
+
PropertyName: string;
|
|
12
|
+
/**
|
|
13
|
+
* The entity name to load from the database
|
|
14
|
+
*/
|
|
15
|
+
EntityName: string;
|
|
16
|
+
/**
|
|
17
|
+
* Optional, filters to apply to the data load
|
|
18
|
+
*/
|
|
19
|
+
Filter?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Optional, order by clause to apply to the data load
|
|
22
|
+
*/
|
|
23
|
+
OrderBy?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Abstract base class for any engine-style class which executes work on behalf of a caller typically using a provider-style architecture with plug-ins. This base class
|
|
27
|
+
* provides a mechanism for loading metadata from the database and caching it for use by the engine. Subclasses must implement the Config abstract method and within that
|
|
28
|
+
* generally it is recommended to call the Load method to load the metadata. Subclasses can also override the AdditionalLoading method to perform additional loading tasks.
|
|
29
|
+
*/
|
|
30
|
+
export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
|
|
31
|
+
private _loaded;
|
|
32
|
+
private _loadingSubject;
|
|
33
|
+
private _contextUser;
|
|
34
|
+
constructor(instanceKey: string);
|
|
35
|
+
/**
|
|
36
|
+
* Configures the engine by loading metadata from the database.
|
|
37
|
+
*/
|
|
38
|
+
abstract Config(forceRefresh?: boolean, contextUser?: UserInfo): any;
|
|
39
|
+
/**
|
|
40
|
+
* This method should be called by sub-classes to load up their specific metadata requirements. For more complex metadata
|
|
41
|
+
* loading or for post-processing of metadata loading done here, overide the AdditionalLoading method to add your logic.
|
|
42
|
+
* @param configs
|
|
43
|
+
* @param contextUser
|
|
44
|
+
* @returns
|
|
45
|
+
*/
|
|
46
|
+
protected Load(configs: BaseEnginePropertyConfig[], forceRefresh?: boolean, contextUser?: UserInfo): Promise<void>;
|
|
47
|
+
/**
|
|
48
|
+
* Subclasses can override this method to perform additional loading tasks
|
|
49
|
+
* @param contextUser
|
|
50
|
+
*/
|
|
51
|
+
protected AdditionalLoading(contextUser?: UserInfo): Promise<void>;
|
|
52
|
+
get Loaded(): boolean;
|
|
53
|
+
get LoadingSubject(): BehaviorSubject<boolean>;
|
|
54
|
+
get ContextUser(): UserInfo;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=baseEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI1C;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACrC;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,8BAAsB,UAAU,CAAC,CAAC,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAC;IACxD,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,eAAe,CAAiE;IACxF,OAAO,CAAC,YAAY,CAAW;gBAEnB,WAAW,EAAE,MAAM;IAI/B;;OAEG;aACa,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ;IAErE;;;;;;OAMG;cACa,IAAI,CAAC,OAAO,EAAE,wBAAwB,EAAE,EAAE,YAAY,GAAE,OAAe,EAAE,WAAW,CAAC,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAwC/H;;;OAGG;cACa,iBAAiB,CAAC,WAAW,CAAC,EAAE,QAAQ;IAIxD,IAAW,MAAM,IAAI,OAAO,CAE3B;IAED,IAAW,cAAc,IAAI,eAAe,CAAC,OAAO,CAAC,CAEpD;IAED,IAAW,WAAW,IAAI,QAAQ,CAEjC;CACJ"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BaseEngine = void 0;
|
|
4
|
+
const global_1 = require("@memberjunction/global");
|
|
5
|
+
const rxjs_1 = require("rxjs");
|
|
6
|
+
const runView_1 = require("../views/runView");
|
|
7
|
+
const logging_1 = require("./logging");
|
|
8
|
+
/**
|
|
9
|
+
* Abstract base class for any engine-style class which executes work on behalf of a caller typically using a provider-style architecture with plug-ins. This base class
|
|
10
|
+
* provides a mechanism for loading metadata from the database and caching it for use by the engine. Subclasses must implement the Config abstract method and within that
|
|
11
|
+
* generally it is recommended to call the Load method to load the metadata. Subclasses can also override the AdditionalLoading method to perform additional loading tasks.
|
|
12
|
+
*/
|
|
13
|
+
class BaseEngine extends global_1.BaseSingleton {
|
|
14
|
+
constructor(instanceKey) {
|
|
15
|
+
super(instanceKey);
|
|
16
|
+
this._loaded = false;
|
|
17
|
+
this._loadingSubject = new rxjs_1.BehaviorSubject(false);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* This method should be called by sub-classes to load up their specific metadata requirements. For more complex metadata
|
|
21
|
+
* loading or for post-processing of metadata loading done here, overide the AdditionalLoading method to add your logic.
|
|
22
|
+
* @param configs
|
|
23
|
+
* @param contextUser
|
|
24
|
+
* @returns
|
|
25
|
+
*/
|
|
26
|
+
async Load(configs, forceRefresh = false, contextUser) {
|
|
27
|
+
if (this._loadingSubject.value) {
|
|
28
|
+
return new Promise((resolve) => {
|
|
29
|
+
const subscription = this._loadingSubject.subscribe((loading) => {
|
|
30
|
+
if (!loading) {
|
|
31
|
+
subscription.unsubscribe();
|
|
32
|
+
resolve();
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
if (!this._loaded || forceRefresh) {
|
|
38
|
+
this._loadingSubject.next(true);
|
|
39
|
+
try {
|
|
40
|
+
this._contextUser = contextUser;
|
|
41
|
+
const rv = new runView_1.RunView();
|
|
42
|
+
for (const config of configs) {
|
|
43
|
+
const result = await rv.RunView({
|
|
44
|
+
EntityName: config.EntityName,
|
|
45
|
+
ResultType: 'entity_object',
|
|
46
|
+
ExtraFilter: config.Filter,
|
|
47
|
+
OrderBy: config.OrderBy
|
|
48
|
+
}, contextUser);
|
|
49
|
+
if (result.Success) {
|
|
50
|
+
this[config.PropertyName] = result.Results;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
await this.AdditionalLoading(contextUser); // Call the additional loading method
|
|
54
|
+
this._loaded = true;
|
|
55
|
+
}
|
|
56
|
+
catch (e) {
|
|
57
|
+
(0, logging_1.LogError)(e);
|
|
58
|
+
}
|
|
59
|
+
finally {
|
|
60
|
+
this._loadingSubject.next(false);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Subclasses can override this method to perform additional loading tasks
|
|
66
|
+
* @param contextUser
|
|
67
|
+
*/
|
|
68
|
+
async AdditionalLoading(contextUser) {
|
|
69
|
+
// Subclasses can override this method to perform additional loading tasks
|
|
70
|
+
}
|
|
71
|
+
get Loaded() {
|
|
72
|
+
return this._loaded;
|
|
73
|
+
}
|
|
74
|
+
get LoadingSubject() {
|
|
75
|
+
return this._loadingSubject;
|
|
76
|
+
}
|
|
77
|
+
get ContextUser() {
|
|
78
|
+
return this._contextUser;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.BaseEngine = BaseEngine;
|
|
82
|
+
//# sourceMappingURL=baseEngine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"baseEngine.js","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":";;;AAAA,mDAAuD;AACvD,+BAAuC;AAEvC,8CAA2C;AAC3C,uCAAqC;AAwBrC;;;;GAIG;AACH,MAAsB,UAAc,SAAQ,sBAAgB;IAKxD,YAAY,WAAmB;QAC3B,KAAK,CAAC,WAAW,CAAC,CAAC;QALf,YAAO,GAAY,KAAK,CAAC;QACzB,oBAAe,GAA6B,IAAI,sBAAe,CAAU,KAAK,CAAC,CAAC;IAKxF,CAAC;IAOD;;;;;;OAMG;IACO,KAAK,CAAC,IAAI,CAAC,OAAmC,EAAE,eAAwB,KAAK,EAAE,WAAsB;QAC3G,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACjC,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;wBACX,YAAY,CAAC,WAAW,EAAE,CAAC;wBAC3B,OAAO,EAAE,CAAC;oBACd,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC;gBACD,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;gBAEhC,MAAM,EAAE,GAAG,IAAI,iBAAO,EAAE,CAAC;gBACzB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC3B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;wBAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;wBAC7B,UAAU,EAAE,eAAe;wBAC3B,WAAW,EAAE,MAAM,CAAC,MAAM;wBAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;qBAC1B,EAAE,WAAW,CAAC,CAAC;oBAEhB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBAChB,IAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;oBACxD,CAAC;gBACL,CAAC;gBACD,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,qCAAqC;gBAChF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACxB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAA,kBAAQ,EAAC,CAAC,CAAC,CAAC;YAChB,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,iBAAiB,CAAC,WAAsB;QACpD,0EAA0E;IAC9E,CAAC;IAED,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACJ;AAhFD,gCAgFC"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { EntityFieldInfo, EntityInfo, EntityFieldTSType, EntityPermissionType, RecordChange, ValidationResult, EntityRelationshipInfo } from './entityInfo';
|
|
2
|
-
import {
|
|
2
|
+
import { EntityDeleteOptions, EntitySaveOptions, IEntityDataProvider } from './interfaces';
|
|
3
3
|
import { UserInfo } from './securityInfo';
|
|
4
4
|
import { TransactionGroupBase } from './transactionGroup';
|
|
5
|
+
import { CompositeKey, FieldValueCollection } from './compositeKey';
|
|
6
|
+
import { Subscription } from 'rxjs';
|
|
5
7
|
/**
|
|
6
|
-
* Represents a field in an
|
|
8
|
+
* Represents a field in an instance of the BaseEntity class. This class is used to store the value of the field, dirty state, as well as other run-time information about the field. The class encapsulates the underlying field metadata and exposes some of the more commonly
|
|
7
9
|
* used properties from the entity field metadata.
|
|
8
10
|
*/
|
|
9
11
|
export declare class EntityField {
|
|
@@ -79,6 +81,57 @@ export declare class BaseEntityAIActionParams {
|
|
|
79
81
|
userMessage: string;
|
|
80
82
|
result: any;
|
|
81
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Used for storing the result of a Save or Delete or other transactional operation within a BaseEntity
|
|
86
|
+
*/
|
|
87
|
+
export declare class BaseEntityResult {
|
|
88
|
+
/**
|
|
89
|
+
* True if successful, false otherwise
|
|
90
|
+
*/
|
|
91
|
+
Success: boolean;
|
|
92
|
+
/**
|
|
93
|
+
* The type of operation that was performed
|
|
94
|
+
*/
|
|
95
|
+
Type: 'create' | 'update' | 'delete';
|
|
96
|
+
/**
|
|
97
|
+
* A message for an end user
|
|
98
|
+
*/
|
|
99
|
+
Message: string;
|
|
100
|
+
/**
|
|
101
|
+
* Optional, a structured error object with additional information
|
|
102
|
+
*/
|
|
103
|
+
Error?: any;
|
|
104
|
+
/**
|
|
105
|
+
* A copy of the values of the entity object BEFORE the operation was performed
|
|
106
|
+
*/
|
|
107
|
+
OriginalValues: {
|
|
108
|
+
FieldName: string;
|
|
109
|
+
Value: any;
|
|
110
|
+
}[];
|
|
111
|
+
/**
|
|
112
|
+
* A copy of the values of the entity object AFTER the operation was performed
|
|
113
|
+
*/
|
|
114
|
+
NewValues: {
|
|
115
|
+
FieldName: string;
|
|
116
|
+
Value: any;
|
|
117
|
+
}[];
|
|
118
|
+
/**
|
|
119
|
+
* Timestamp when the operation started
|
|
120
|
+
*/
|
|
121
|
+
StartedAt: Date;
|
|
122
|
+
/**
|
|
123
|
+
* Timestamp when the operation ended
|
|
124
|
+
*/
|
|
125
|
+
EndedAt: Date;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Event type that is used to raise events and provided structured callbacks for any caller that is interested in registering for events.
|
|
129
|
+
*/
|
|
130
|
+
export declare class BaseEntityEvent {
|
|
131
|
+
type: 'new_record' | 'save' | 'delete' | 'other';
|
|
132
|
+
payload: any;
|
|
133
|
+
baseEntity: BaseEntity;
|
|
134
|
+
}
|
|
82
135
|
/**
|
|
83
136
|
* Base class used for all entity objects. This class is abstract and is sub-classes for each particular entity using the CodeGen tool. This class provides the basic functionality for loading, saving, and validating entity objects.
|
|
84
137
|
*/
|
|
@@ -88,7 +141,27 @@ export declare abstract class BaseEntity {
|
|
|
88
141
|
private _recordLoaded;
|
|
89
142
|
private _contextCurrentUser;
|
|
90
143
|
private _transactionGroup;
|
|
144
|
+
private _eventSubject;
|
|
145
|
+
private _resultHistory;
|
|
91
146
|
constructor(Entity: EntityInfo);
|
|
147
|
+
/**
|
|
148
|
+
* This method can be used to register a callback for events that will be raised by the instance of the BaseEntity object. The callback will be called with a
|
|
149
|
+
* BaseEntityEvent object that contains the type of event and any payload that is associated with the event. Subclasses of the BaseEntity can define their
|
|
150
|
+
* own event types and payloads as needed.
|
|
151
|
+
* @param callback
|
|
152
|
+
* @returns
|
|
153
|
+
*/
|
|
154
|
+
RegisterEventHandler(callback: (event: BaseEntityEvent) => void): Subscription;
|
|
155
|
+
/**
|
|
156
|
+
* Used for raising events within the BaseEntity and can be used by sub-classes to raise events that are specific to the entity.
|
|
157
|
+
*/
|
|
158
|
+
protected RaiseEvent(type: 'new_record' | 'save' | 'delete' | 'other', payload: any): void;
|
|
159
|
+
/**
|
|
160
|
+
* This method MUST be called right after the class is instantiated to provide an async/await pair for any asynchronous operations a given entity needs to do when it is first
|
|
161
|
+
* created/configured. When you call Metadata/Provider GetEntityObject() this is done automatically for you. In nearly all cases you should go through GetEntityObject() anyway
|
|
162
|
+
* and not ever directly instantiate a BaseEntity derived class.
|
|
163
|
+
*/
|
|
164
|
+
Config(contextUser: UserInfo): Promise<void>;
|
|
92
165
|
/**
|
|
93
166
|
* Returns true if the record has been saved to the database, false otherwise. This is a useful property to check to determine if the record is a "New Record" or an existing one.
|
|
94
167
|
*/
|
|
@@ -99,6 +172,14 @@ export declare abstract class BaseEntity {
|
|
|
99
172
|
*/
|
|
100
173
|
get TransactionGroup(): TransactionGroupBase;
|
|
101
174
|
set TransactionGroup(group: TransactionGroupBase);
|
|
175
|
+
/**
|
|
176
|
+
* The result history shows the history of the attempted transactions (Save and Delete) for this particular entity object. This is useful for tracking the results of operations on the entity object.
|
|
177
|
+
*/
|
|
178
|
+
get ResultHistory(): BaseEntityResult[];
|
|
179
|
+
/**
|
|
180
|
+
* Returns the most recent result from the result history. If there are no results in the history, this method will return null.
|
|
181
|
+
*/
|
|
182
|
+
get LatestResult(): BaseEntityResult;
|
|
102
183
|
/**
|
|
103
184
|
* Access to the underlying metadata for the entity object.
|
|
104
185
|
*/
|
|
@@ -110,17 +191,25 @@ export declare abstract class BaseEntity {
|
|
|
110
191
|
* @returns
|
|
111
192
|
*/
|
|
112
193
|
GetFieldByName(fieldName: string): EntityField;
|
|
113
|
-
get Dirty(): boolean;
|
|
114
194
|
/**
|
|
115
|
-
* Returns the
|
|
195
|
+
* Returns true if the object is Dirty, meaning something has changed since it was last saved to the database, and false otherwise. For new records, this will always return true.
|
|
116
196
|
*/
|
|
117
|
-
get
|
|
197
|
+
get Dirty(): boolean;
|
|
118
198
|
/**
|
|
119
199
|
* Returns an array of all primary key fields for the entity. If the entity has a composite primary key, this method will return an array of all primary key fields.
|
|
120
200
|
* If the entity has a single primary key, this method will return an array with a single field in it.
|
|
121
201
|
*/
|
|
122
202
|
get PrimaryKeys(): EntityField[];
|
|
123
|
-
|
|
203
|
+
private _compositeKey;
|
|
204
|
+
/**
|
|
205
|
+
* Returns the primary key for the record. The CompositeKey class is a multi-valued key that can have any number of key/value pairs within it. Always traverse the full
|
|
206
|
+
* set of key/value pairs to get the full primary key for the record.
|
|
207
|
+
*/
|
|
208
|
+
get PrimaryKey(): CompositeKey;
|
|
209
|
+
/**
|
|
210
|
+
* Helper method to return just the first Primary Key
|
|
211
|
+
*/
|
|
212
|
+
get FirstPrimaryKey(): EntityField;
|
|
124
213
|
/**
|
|
125
214
|
* Returns true if the record has been loaded from the database, false otherwise. This is useful to check to see if the record is in a "New Record" state or not.
|
|
126
215
|
*/
|
|
@@ -187,9 +276,11 @@ export declare abstract class BaseEntity {
|
|
|
187
276
|
get ContextCurrentUser(): UserInfo;
|
|
188
277
|
/**
|
|
189
278
|
* This method will create a new state for the object that is equivalent to a new record including default values.
|
|
279
|
+
* @param newValues - optional parameter to set the values of the fields to something other than the default values. The expected parameter is an object that has properties that map to field names in this entity.
|
|
280
|
+
* This is the same as creating a NewRecord and then using SetMany(), but it is a convenience/helper approach.
|
|
190
281
|
* @returns
|
|
191
282
|
*/
|
|
192
|
-
NewRecord(): boolean;
|
|
283
|
+
NewRecord(newValues?: FieldValueCollection): boolean;
|
|
193
284
|
/**
|
|
194
285
|
* Saves the current state of the object to the database. Uses the active provider to handle the actual saving of the record. If the record is new, it will be created, if it already exists, it will be updated.
|
|
195
286
|
* @param options
|
|
@@ -223,7 +314,6 @@ export declare abstract class BaseEntity {
|
|
|
223
314
|
* @returns true if success, false otherwise
|
|
224
315
|
*/
|
|
225
316
|
InnerLoad(CompositeKey: CompositeKey, EntityRelationshipsToLoad?: string[]): Promise<boolean>;
|
|
226
|
-
protected ValidateCompositeKey(compositeKey: CompositeKey): void;
|
|
227
317
|
/**
|
|
228
318
|
* This method is meant to be used only in situations where you are sure that the data you are loading is current in the database. MAKE SURE YOU ARE PASSING IN ALL FIELDS.
|
|
229
319
|
* The Dirty flags and other internal state will assume what is loading from the data parameter you pass in is equivalent to what is in the database. Generally speaking, you should use Load() instead of this method. The main use case(s) where this makes sense are:
|
|
@@ -244,7 +334,7 @@ export declare abstract class BaseEntity {
|
|
|
244
334
|
* This method deletes a record from the database. You must call Load() first in order to load the context of the record you are deleting.
|
|
245
335
|
* @returns
|
|
246
336
|
*/
|
|
247
|
-
Delete(): Promise<boolean>;
|
|
337
|
+
Delete(options?: EntityDeleteOptions): Promise<boolean>;
|
|
248
338
|
/**
|
|
249
339
|
* Called before an Action is executed by the AI Engine
|
|
250
340
|
* This is intended to be overriden by subclass as needed, these methods called at the right time by the execution context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,EAAuB,gBAAgB,EAAE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
|