@memberjunction/core 1.7.1 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/generic/applicationInfo.d.ts +2 -2
  2. package/dist/generic/applicationInfo.d.ts.map +1 -1
  3. package/dist/generic/applicationInfo.js +2 -2
  4. package/dist/generic/applicationInfo.js.map +1 -1
  5. package/dist/generic/baseEngine.d.ts +104 -6
  6. package/dist/generic/baseEngine.d.ts.map +1 -1
  7. package/dist/generic/baseEngine.js +173 -13
  8. package/dist/generic/baseEngine.js.map +1 -1
  9. package/dist/generic/baseEntity.d.ts.map +1 -1
  10. package/dist/generic/baseEntity.js +24 -8
  11. package/dist/generic/baseEntity.js.map +1 -1
  12. package/dist/generic/baseInfo.d.ts +0 -3
  13. package/dist/generic/baseInfo.d.ts.map +1 -1
  14. package/dist/generic/baseInfo.js +3 -34
  15. package/dist/generic/baseInfo.js.map +1 -1
  16. package/dist/generic/compositeKey.d.ts +35 -4
  17. package/dist/generic/compositeKey.d.ts.map +1 -1
  18. package/dist/generic/compositeKey.js +62 -12
  19. package/dist/generic/compositeKey.js.map +1 -1
  20. package/dist/generic/entityInfo.d.ts +45 -15
  21. package/dist/generic/entityInfo.d.ts.map +1 -1
  22. package/dist/generic/entityInfo.js +61 -18
  23. package/dist/generic/entityInfo.js.map +1 -1
  24. package/dist/generic/libraryInfo.d.ts +2 -2
  25. package/dist/generic/libraryInfo.d.ts.map +1 -1
  26. package/dist/generic/libraryInfo.js +2 -2
  27. package/dist/generic/libraryInfo.js.map +1 -1
  28. package/dist/generic/logging.d.ts +28 -32
  29. package/dist/generic/logging.d.ts.map +1 -1
  30. package/dist/generic/logging.js +65 -36
  31. package/dist/generic/logging.js.map +1 -1
  32. package/dist/generic/queryInfo.d.ts +6 -6
  33. package/dist/generic/queryInfo.d.ts.map +1 -1
  34. package/dist/generic/queryInfo.js +6 -6
  35. package/dist/generic/queryInfo.js.map +1 -1
  36. package/dist/generic/securityInfo.d.ts +14 -14
  37. package/dist/generic/securityInfo.d.ts.map +1 -1
  38. package/dist/generic/securityInfo.js +14 -14
  39. package/dist/generic/securityInfo.js.map +1 -1
  40. package/dist/generic/util.d.ts +25 -0
  41. package/dist/generic/util.d.ts.map +1 -1
  42. package/dist/generic/util.js +66 -1
  43. package/dist/generic/util.js.map +1 -1
  44. package/dist/views/viewInfo.d.ts +2 -2
  45. package/dist/views/viewInfo.d.ts.map +1 -1
  46. package/dist/views/viewInfo.js +2 -2
  47. package/dist/views/viewInfo.js.map +1 -1
  48. package/package.json +2 -2
@@ -6,8 +6,8 @@ export declare class ApplicationSettingInfo extends BaseInfo {
6
6
  Name: string;
7
7
  Value: string;
8
8
  Comments: string;
9
- CreatedAt: Date;
10
- UpdatedAt: Date;
9
+ __mj_CreatedAt: Date;
10
+ __mj_UpdatedAt: Date;
11
11
  constructor(initData?: any);
12
12
  }
13
13
  export declare class ApplicationEntityInfo extends BaseInfo {
@@ -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;IAC1B,IAAI,EAAE,MAAM,CAAO;IACnB,iBAAiB,EAAE,OAAO,CAAO;IAEjC,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"}
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,cAAc,EAAE,IAAI,CAAO;IAC3B,cAAc,EAAE,IAAI,CAAO;gBAEd,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;IAC1B,IAAI,EAAE,MAAM,CAAO;IACnB,iBAAiB,EAAE,OAAO,CAAO;IAEjC,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"}
@@ -9,8 +9,8 @@ class ApplicationSettingInfo extends baseInfo_1.BaseInfo {
9
9
  this.Name = null;
10
10
  this.Value = null;
11
11
  this.Comments = null;
12
- this.CreatedAt = null;
13
- this.UpdatedAt = null;
12
+ this.__mj_CreatedAt = null;
13
+ this.__mj_UpdatedAt = null;
14
14
  this.copyInitData(initData);
15
15
  }
16
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"applicationInfo.js","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"applicationInfo.js","sourceRoot":"","sources":["../../src/generic/applicationInfo.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,55 @@
1
1
  import { BaseSingleton } from "@memberjunction/global";
2
2
  import { BehaviorSubject } from "rxjs";
3
3
  import { UserInfo } from "./securityInfo";
4
+ import { DatasetItemFilterType } from "./interfaces";
5
+ import { BaseInfo } from "./baseInfo";
4
6
  /**
5
7
  * Property configuration for the BaseEngine class to automatically load/set properties on the class.
6
8
  */
7
- export interface BaseEnginePropertyConfig {
9
+ export declare class BaseEnginePropertyConfig extends BaseInfo {
10
+ /**
11
+ * The type of item to load, either 'entity' or 'dataset', defaults to 'entity'
12
+ */
13
+ Type: 'entity' | 'dataset';
8
14
  /**
9
15
  * The name of the property in the class instance
10
16
  */
11
17
  PropertyName: string;
12
18
  /**
13
- * The entity name to load from the database
19
+ * The entity name to load from the database, required if Type is 'entity'
20
+ */
21
+ EntityName?: string;
22
+ /**
23
+ * The dataset name to load from the database, required if Type is 'dataset'
14
24
  */
15
- EntityName: string;
25
+ DatasetName?: string;
16
26
  /**
17
- * Optional, filters to apply to the data load
27
+ * Optional, filters to apply to the data load, applies only when type is 'entity'. Use DatasetItemFilters for dataset filters.
18
28
  */
19
29
  Filter?: string;
20
30
  /**
21
- * Optional, order by clause to apply to the data load
31
+ * Optional, filters to apply to each item in a dataset, only applies when type is 'dataset' and is optional in those cases.
32
+ */
33
+ DatasetItemFilters?: DatasetItemFilterType[];
34
+ /**
35
+ * Optional, only used if Type is 'dataset', specifies how to handle the results of the dataset load. Defaults to 'single_property' if not specified. When set to 'single_property', the entire dataset is set to the property specified by PropertyName.
36
+ * When set to 'individual_properties', each item in the dataset is set to a property on the object with the name of the item's key plus the item's Code name.
37
+ * For example, if the item's key is 'Demo' and the item's Code name is 'FirstItem', the property set on the object would be 'Demo_FirstItem'.
38
+ */
39
+ DatasetResultHandling?: 'single_property' | 'individual_properties';
40
+ /**
41
+ * Optional, order by clause to apply to the data load, only applies when type is 'entity'
22
42
  */
23
43
  OrderBy?: string;
44
+ /**
45
+ * Optional, expiration time in milliseconds
46
+ */
47
+ Expiration?: number;
48
+ /**
49
+ * Optional, whether to add the result to the object, defaults to true if not specified
50
+ */
51
+ AddToObject?: boolean;
52
+ constructor(init?: Partial<BaseEnginePropertyConfig>);
24
53
  }
25
54
  /**
26
55
  * 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
@@ -31,6 +60,10 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
31
60
  private _loaded;
32
61
  private _loadingSubject;
33
62
  private _contextUser;
63
+ private _metadataConfigs;
64
+ private _dynamicConfigs;
65
+ private _dataMap;
66
+ private _expirationTimers;
34
67
  /**
35
68
  * Configures the engine by loading metadata from the database.
36
69
  */
@@ -42,14 +75,79 @@ export declare abstract class BaseEngine<T> extends BaseSingleton<T> {
42
75
  * @param contextUser
43
76
  * @returns
44
77
  */
45
- protected Load(configs: BaseEnginePropertyConfig[], forceRefresh?: boolean, contextUser?: UserInfo): Promise<void>;
78
+ protected Load(configs: Partial<BaseEnginePropertyConfig>[], forceRefresh?: boolean, contextUser?: UserInfo): Promise<void>;
79
+ /**
80
+ * Utility method to upgrade an object to a BaseEnginePropertyConfig object.
81
+ * @param obj
82
+ * @returns
83
+ */
84
+ protected UpgradeObjectToConfig(obj: any): BaseEnginePropertyConfig;
85
+ /**
86
+ * Loads the specified metadata configurations.
87
+ * @param configs - The metadata configurations to load
88
+ * @param contextUser - The context user information
89
+ */
90
+ protected LoadConfigs(configs: Partial<BaseEnginePropertyConfig>[], contextUser: UserInfo): Promise<void>;
91
+ /**
92
+ * Loads a single metadata configuration.
93
+ * @param config - The metadata configuration to load
94
+ * @param contextUser - The context user information
95
+ */
96
+ protected LoadSingleConfig(config: BaseEnginePropertyConfig, contextUser: UserInfo): Promise<void>;
97
+ /**
98
+ * Handles the process of loading a single config of type 'entity'.
99
+ * @param config
100
+ * @param contextUser
101
+ */
102
+ protected LoadSingleEntityConfig(config: BaseEnginePropertyConfig, contextUser: UserInfo): Promise<void>;
103
+ /**
104
+ * Handles the process of loading a single config of type 'dataset'.
105
+ * @param config
106
+ * @param contextUser
107
+ */
108
+ protected LoadSingleDatasetConfig(config: BaseEnginePropertyConfig, contextUser: UserInfo): Promise<void>;
109
+ /**
110
+ * Sets an expiration timer for a metadata property.
111
+ * @param propertyName - The name of the property
112
+ * @param expiration - The expiration time in milliseconds
113
+ */
114
+ private SetExpirationTimer;
115
+ /**
116
+ * Adds a dynamic metadata configuration at runtime.
117
+ * @param config - The metadata configuration to add
118
+ * @param contextUser - The context user information
119
+ */
120
+ AddDynamicConfig(config: BaseEnginePropertyConfig, contextUser?: UserInfo): Promise<void>;
121
+ /**
122
+ * Removes a dynamic metadata configuration at runtime.
123
+ * @param propertyName - The name of the property to remove
124
+ */
125
+ RemoveDynamicConfig(propertyName: string): void;
126
+ /**
127
+ * Refreshes a specific item.
128
+ * @param propertyName - The name of the property to refresh
129
+ */
130
+ RefreshItem(propertyName: string): Promise<void>;
131
+ /**
132
+ * Refreshes all items
133
+ */
134
+ RefreshAllItems(): Promise<void>;
46
135
  /**
47
136
  * Subclasses can override this method to perform additional loading tasks
48
137
  * @param contextUser
49
138
  */
50
139
  protected AdditionalLoading(contextUser?: UserInfo): Promise<void>;
140
+ /**
141
+ * Returns true if the data has been loaded, false otherwise.
142
+ */
51
143
  get Loaded(): boolean;
144
+ /**
145
+ * Returns the loading subject. You can call await Config() and after Config() comes back as true that means you're loaded. However you can also directly subscribe to this subject to get updates on the loading status.
146
+ */
52
147
  get LoadingSubject(): BehaviorSubject<boolean>;
148
+ /**
149
+ * Returns the context user set for the object, this is set via the Config() method.
150
+ */
53
151
  get ContextUser(): UserInfo;
54
152
  /**
55
153
  * Helper method for sub-classes to have a single line of code that will make sure the data is loaded before proceeding and will throw an error if not loaded.
@@ -1 +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;IAE/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;IAED;;OAEG;IACH,SAAS,CAAC,mBAAmB;CAIhC"}
1
+ {"version":3,"file":"baseEngine.d.ts","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,35 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseEngine = void 0;
3
+ exports.BaseEngine = exports.BaseEnginePropertyConfig = void 0;
4
4
  const global_1 = require("@memberjunction/global");
5
5
  const rxjs_1 = require("rxjs");
6
6
  const runView_1 = require("../views/runView");
7
7
  const logging_1 = require("./logging");
8
+ const metadata_1 = require("./metadata");
9
+ const interfaces_1 = require("./interfaces");
10
+ const baseInfo_1 = require("./baseInfo");
11
+ /**
12
+ * Property configuration for the BaseEngine class to automatically load/set properties on the class.
13
+ */
14
+ class BaseEnginePropertyConfig extends baseInfo_1.BaseInfo {
15
+ constructor(init) {
16
+ super();
17
+ /**
18
+ * The type of item to load, either 'entity' or 'dataset', defaults to 'entity'
19
+ */
20
+ this.Type = 'entity';
21
+ /**
22
+ * Optional, only used if Type is 'dataset', specifies how to handle the results of the dataset load. Defaults to 'single_property' if not specified. When set to 'single_property', the entire dataset is set to the property specified by PropertyName.
23
+ * When set to 'individual_properties', each item in the dataset is set to a property on the object with the name of the item's key plus the item's Code name.
24
+ * For example, if the item's key is 'Demo' and the item's Code name is 'FirstItem', the property set on the object would be 'Demo_FirstItem'.
25
+ */
26
+ this.DatasetResultHandling = 'single_property';
27
+ // now copy the values from init to this object
28
+ if (init)
29
+ Object.assign(this, init);
30
+ }
31
+ }
32
+ exports.BaseEnginePropertyConfig = BaseEnginePropertyConfig;
8
33
  /**
9
34
  * 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
35
  * 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
@@ -15,6 +40,10 @@ class BaseEngine extends global_1.BaseSingleton {
15
40
  super(...arguments);
16
41
  this._loaded = false;
17
42
  this._loadingSubject = new rxjs_1.BehaviorSubject(false);
43
+ this._metadataConfigs = [];
44
+ this._dynamicConfigs = new Map();
45
+ this._dataMap = new Map();
46
+ this._expirationTimers = new Map();
18
47
  }
19
48
  /**
20
49
  * This method should be called by sub-classes to load up their specific metadata requirements. For more complex metadata
@@ -24,6 +53,8 @@ class BaseEngine extends global_1.BaseSingleton {
24
53
  * @returns
25
54
  */
26
55
  async Load(configs, forceRefresh = false, contextUser) {
56
+ if (metadata_1.Metadata.Provider.ProviderType === interfaces_1.ProviderType.Database && !contextUser)
57
+ throw new Error('For server-side use of all engine classes, you must provide the contextUser parameter');
27
58
  if (this._loadingSubject.value) {
28
59
  return new Promise((resolve) => {
29
60
  const subscription = this._loadingSubject.subscribe((loading) => {
@@ -38,18 +69,7 @@ class BaseEngine extends global_1.BaseSingleton {
38
69
  this._loadingSubject.next(true);
39
70
  try {
40
71
  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
- }
72
+ await this.LoadConfigs(configs, contextUser);
53
73
  await this.AdditionalLoading(contextUser); // Call the additional loading method
54
74
  this._loaded = true;
55
75
  }
@@ -61,6 +81,137 @@ class BaseEngine extends global_1.BaseSingleton {
61
81
  }
62
82
  }
63
83
  }
84
+ /**
85
+ * Utility method to upgrade an object to a BaseEnginePropertyConfig object.
86
+ * @param obj
87
+ * @returns
88
+ */
89
+ UpgradeObjectToConfig(obj) {
90
+ // if obj is not already an instance of BaseEnginePropertyConfig, create one
91
+ if (obj instanceof BaseEnginePropertyConfig)
92
+ return obj;
93
+ else
94
+ return new BaseEnginePropertyConfig(obj);
95
+ }
96
+ /**
97
+ * Loads the specified metadata configurations.
98
+ * @param configs - The metadata configurations to load
99
+ * @param contextUser - The context user information
100
+ */
101
+ async LoadConfigs(configs, contextUser) {
102
+ this._metadataConfigs = configs.map(c => this.UpgradeObjectToConfig(c));
103
+ await Promise.all(this._metadataConfigs.map(c => this.LoadSingleConfig(c, contextUser)));
104
+ }
105
+ /**
106
+ * Loads a single metadata configuration.
107
+ * @param config - The metadata configuration to load
108
+ * @param contextUser - The context user information
109
+ */
110
+ async LoadSingleConfig(config, contextUser) {
111
+ if (config.Type === 'dataset')
112
+ return await this.LoadSingleDatasetConfig(config, contextUser);
113
+ else
114
+ return await this.LoadSingleEntityConfig(config, contextUser);
115
+ }
116
+ /**
117
+ * Handles the process of loading a single config of type 'entity'.
118
+ * @param config
119
+ * @param contextUser
120
+ */
121
+ async LoadSingleEntityConfig(config, contextUser) {
122
+ const rv = new runView_1.RunView();
123
+ const result = await rv.RunView({
124
+ EntityName: config.EntityName,
125
+ ResultType: 'entity_object',
126
+ ExtraFilter: config.Filter,
127
+ OrderBy: config.OrderBy
128
+ }, contextUser);
129
+ if (result.Success) {
130
+ if (config.AddToObject !== false) {
131
+ this[config.PropertyName] = result.Results;
132
+ }
133
+ this._dataMap.set(config.PropertyName, { entityName: config.EntityName, data: result.Results });
134
+ if (config.Expiration) {
135
+ this.SetExpirationTimer(config.PropertyName, config.Expiration);
136
+ }
137
+ }
138
+ }
139
+ /**
140
+ * Handles the process of loading a single config of type 'dataset'.
141
+ * @param config
142
+ * @param contextUser
143
+ */
144
+ async LoadSingleDatasetConfig(config, contextUser) {
145
+ const md = new metadata_1.Metadata();
146
+ const result = await md.GetAndCacheDatasetByName(config.DatasetName, config.DatasetItemFilters);
147
+ if (result.Success) {
148
+ if (config.AddToObject !== false) {
149
+ if (config.DatasetResultHandling === 'single_property') {
150
+ this[config.PropertyName] = result.Results;
151
+ }
152
+ else {
153
+ // explode out the items within the DS into individual properties
154
+ for (const item of result.Results) {
155
+ this[`${config.PropertyName}_${item.Code}`] = item.Results;
156
+ }
157
+ }
158
+ }
159
+ this._dataMap.set(config.PropertyName, { datasetName: config.DatasetName, data: result.Results });
160
+ if (config.Expiration) {
161
+ this.SetExpirationTimer(config.PropertyName, config.Expiration);
162
+ }
163
+ }
164
+ }
165
+ /**
166
+ * Sets an expiration timer for a metadata property.
167
+ * @param propertyName - The name of the property
168
+ * @param expiration - The expiration time in milliseconds
169
+ */
170
+ SetExpirationTimer(propertyName, expiration) {
171
+ if (this._expirationTimers.has(propertyName)) {
172
+ clearTimeout(this._expirationTimers.get(propertyName));
173
+ }
174
+ const timer = setTimeout(() => this.RefreshItem(propertyName), expiration);
175
+ this._expirationTimers.set(propertyName, timer);
176
+ }
177
+ /**
178
+ * Adds a dynamic metadata configuration at runtime.
179
+ * @param config - The metadata configuration to add
180
+ * @param contextUser - The context user information
181
+ */
182
+ async AddDynamicConfig(config, contextUser) {
183
+ const c = this.UpgradeObjectToConfig(config);
184
+ this._dynamicConfigs.set(c.PropertyName, c);
185
+ await this.LoadSingleConfig(c, contextUser || this._contextUser);
186
+ }
187
+ /**
188
+ * Removes a dynamic metadata configuration at runtime.
189
+ * @param propertyName - The name of the property to remove
190
+ */
191
+ RemoveDynamicConfig(propertyName) {
192
+ this._dynamicConfigs.delete(propertyName);
193
+ this._dataMap.delete(propertyName);
194
+ if (this._expirationTimers.has(propertyName)) {
195
+ clearTimeout(this._expirationTimers.get(propertyName));
196
+ this._expirationTimers.delete(propertyName);
197
+ }
198
+ }
199
+ /**
200
+ * Refreshes a specific item.
201
+ * @param propertyName - The name of the property to refresh
202
+ */
203
+ async RefreshItem(propertyName) {
204
+ const config = this._metadataConfigs.find(c => c.PropertyName === propertyName) || this._dynamicConfigs.get(propertyName);
205
+ if (config) {
206
+ await this.LoadSingleConfig(config, this._contextUser);
207
+ }
208
+ }
209
+ /**
210
+ * Refreshes all items
211
+ */
212
+ async RefreshAllItems() {
213
+ await this.LoadConfigs([...this._metadataConfigs, ...Array.from(this._dynamicConfigs.values())], this._contextUser);
214
+ }
64
215
  /**
65
216
  * Subclasses can override this method to perform additional loading tasks
66
217
  * @param contextUser
@@ -68,12 +219,21 @@ class BaseEngine extends global_1.BaseSingleton {
68
219
  async AdditionalLoading(contextUser) {
69
220
  // Subclasses can override this method to perform additional loading tasks
70
221
  }
222
+ /**
223
+ * Returns true if the data has been loaded, false otherwise.
224
+ */
71
225
  get Loaded() {
72
226
  return this._loaded;
73
227
  }
228
+ /**
229
+ * Returns the loading subject. You can call await Config() and after Config() comes back as true that means you're loaded. However you can also directly subscribe to this subject to get updates on the loading status.
230
+ */
74
231
  get LoadingSubject() {
75
232
  return this._loadingSubject;
76
233
  }
234
+ /**
235
+ * Returns the context user set for the object, this is set via the Config() method.
236
+ */
77
237
  get ContextUser() {
78
238
  return this._contextUser;
79
239
  }
@@ -1 +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;IAA5D;;QACY,YAAO,GAAY,KAAK,CAAC;QACzB,oBAAe,GAA6B,IAAI,sBAAe,CAAU,KAAK,CAAC,CAAC;IAkF5F,CAAC;IA1EG;;;;;;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;IAED;;OAEG;IACO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACjE,CAAC;CACJ;AApFD,gCAoFC"}
1
+ {"version":3,"file":"baseEngine.js","sourceRoot":"","sources":["../../src/generic/baseEngine.ts"],"names":[],"mappings":";;;AAAA,mDAAuD;AACvD,+BAAuC;AAEvC,8CAA2C;AAC3C,uCAAqC;AACrC,yCAAsC;AACtC,6CAAmE;AACnE,yCAAsC;AAEtC;;GAEG;AACH,MAAa,wBAAyB,SAAQ,mBAAQ;IA4ClD,YAAY,IAAwC;QAChD,KAAK,EAAE,CAAC;QA5CZ;;WAEG;QACH,SAAI,GAAyB,QAAQ,CAAC;QAqBtC;;;;WAIG;QACH,0BAAqB,GAAiD,iBAAiB,CAAC;QAgBpF,+CAA+C;QAC/C,IAAI,IAAI;YACJ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;CACJ;AAlDD,4DAkDC;AAGD;;;;GAIG;AACH,MAAsB,UAAc,SAAQ,sBAAgB;IAA5D;;QACY,YAAO,GAAY,KAAK,CAAC;QACzB,oBAAe,GAA6B,IAAI,sBAAe,CAAU,KAAK,CAAC,CAAC;QAEhF,qBAAgB,GAA+B,EAAE,CAAC;QAClD,oBAAe,GAA0C,IAAI,GAAG,EAAE,CAAC;QACnE,aAAQ,GAA4E,IAAI,GAAG,EAAE,CAAC;QAC9F,sBAAiB,GAAwB,IAAI,GAAG,EAAE,CAAC;IAiO/D,CAAC;IA1NG;;;;;;OAMG;IACO,KAAK,CAAC,IAAI,CAAC,OAA4C,EAAE,eAAwB,KAAK,EAAE,WAAsB;QACpH,IAAI,mBAAQ,CAAC,QAAQ,CAAC,YAAY,KAAK,yBAAY,CAAC,QAAQ,IAAI,CAAC,WAAW;YACxE,MAAM,IAAI,KAAK,CAAC,uFAAuF,CAAC,CAAA;QAC5G,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,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC7C,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;;;;OAIG;IACO,qBAAqB,CAAC,GAAQ;QACpC,4EAA4E;QAC5E,IAAI,GAAG,YAAY,wBAAwB;YACvC,OAAO,GAAG,CAAC;;YAEX,OAAO,IAAI,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,WAAW,CAAC,OAA4C,EAAE,WAAqB;QAC3F,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,gBAAgB,CAAC,MAAgC,EAAE,WAAqB;QACpF,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS;YACzB,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;;YAE/D,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtE,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,sBAAsB,CAAC,MAAgC,EAAE,WAAqB;QAC1F,MAAM,EAAE,GAAG,IAAI,iBAAO,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;YAC5B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,UAAU,EAAE,eAAe;YAC3B,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;SAC1B,EAAE,WAAW,CAAC,CAAC;QAEhB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC9B,IAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;YACxD,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAEhG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,uBAAuB,CAAC,MAAgC,EAAE,WAAqB;QAC3F,MAAM,EAAE,GAAG,IAAI,mBAAQ,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAC/F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,MAAM,CAAC,WAAW,KAAK,KAAK,EAAE,CAAC;gBAC/B,IAAI,MAAM,CAAC,qBAAqB,KAAK,iBAAiB,EAAE,CAAC;oBACpD,IAAY,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;gBACxD,CAAC;qBACI,CAAC;oBACF,iEAAiE;oBACjE,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;wBAC/B,IAAY,CAAC,GAAG,MAAM,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;oBACxE,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YAElG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YACpE,CAAC;QACL,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,kBAAkB,CAAC,YAAoB,EAAE,UAAkB;QAC/D,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;QAC3D,CAAC;QACD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,EAAE,KAA0B,CAAC,CAAC;IACzE,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,gBAAgB,CAAC,MAAgC,EAAE,WAAsB;QAClF,MAAM,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,WAAW,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;IACrE,CAAC;IAED;;;OAGG;IACI,mBAAmB,CAAC,YAAoB;QAC3C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QACnC,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAGD;;;OAGG;IACI,KAAK,CAAC,WAAW,CAAC,YAAoB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,KAAK,YAAY,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1H,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,eAAe;QACxB,MAAM,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACxH,CAAC;IAED;;;OAGG;IACO,KAAK,CAAC,iBAAiB,CAAC,WAAsB;QACpD,0EAA0E;IAC9E,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAW,cAAc;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,IAAW,WAAW;QAClB,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED;;OAEG;IACO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM;YACZ,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IACjE,CAAC;CACJ;AAxOD,gCAwOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseEntity.d.ts","sourceRoot":"","sources":["../../src/generic/baseEntity.ts"],"names":[],"mappings":"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"}
@@ -692,20 +692,36 @@ class BaseEntity {
692
692
  // first check if the AllowCreateAPI/AllowUpdateAPI/AllowDeleteAPI settings are flipped on for the entity in question
693
693
  switch (type) {
694
694
  case entityInfo_1.EntityPermissionType.Create:
695
- if (!this.EntityInfo.AllowCreateAPI)
696
- throw new Error(`Create API is disabled for ${this.EntityInfo.Name}`);
695
+ if (!this.EntityInfo.AllowCreateAPI) {
696
+ if (throwError)
697
+ throw new Error(`Create API is disabled for ${this.EntityInfo.Name}`);
698
+ else
699
+ return false;
700
+ }
697
701
  break;
698
702
  case entityInfo_1.EntityPermissionType.Update:
699
- if (!this.EntityInfo.AllowUpdateAPI)
700
- throw new Error(`Update API is disabled for ${this.EntityInfo.Name}`);
703
+ if (!this.EntityInfo.AllowUpdateAPI) {
704
+ if (throwError)
705
+ throw new Error(`Update API is disabled for ${this.EntityInfo.Name}`);
706
+ else
707
+ return false;
708
+ }
701
709
  break;
702
710
  case entityInfo_1.EntityPermissionType.Delete:
703
- if (!this.EntityInfo.AllowDeleteAPI)
704
- throw new Error(`Delete API is disabled for ${this.EntityInfo.Name}`);
711
+ if (!this.EntityInfo.AllowDeleteAPI) {
712
+ if (throwError)
713
+ throw new Error(`Delete API is disabled for ${this.EntityInfo.Name}`);
714
+ else
715
+ return false;
716
+ }
705
717
  break;
706
718
  case entityInfo_1.EntityPermissionType.Read:
707
- if (!this.EntityInfo.IncludeInAPI)
708
- throw new Error(`API is disabled for ${this.EntityInfo.Name}`);
719
+ if (!this.EntityInfo.IncludeInAPI) {
720
+ if (throwError)
721
+ throw new Error(`API is disabled for ${this.EntityInfo.Name}`);
722
+ else
723
+ return false;
724
+ }
709
725
  break;
710
726
  }
711
727
  const permissions = this.EntityInfo.GetUserPermisions(u);