@memberjunction/core-entities 2.112.0 → 2.113.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/custom/AIAgentExtended.d.ts +1 -1
- package/dist/custom/AIAgentExtended.d.ts.map +1 -1
- package/dist/custom/AIAgentExtended.js +3 -3
- package/dist/custom/AIAgentExtended.js.map +1 -1
- package/dist/custom/AIAgentRunExtended.d.ts +3 -3
- package/dist/custom/AIAgentRunExtended.d.ts.map +1 -1
- package/dist/custom/AIAgentRunExtended.js +10 -10
- package/dist/custom/AIAgentRunExtended.js.map +1 -1
- package/dist/custom/AIAgentRunStepExtended.d.ts +3 -3
- package/dist/custom/AIAgentRunStepExtended.d.ts.map +1 -1
- package/dist/custom/AIAgentRunStepExtended.js +12 -12
- package/dist/custom/AIAgentRunStepExtended.js.map +1 -1
- package/dist/custom/AIModelExtended.d.ts +1 -1
- package/dist/custom/AIModelExtended.d.ts.map +1 -1
- package/dist/custom/AIModelExtended.js +2 -2
- package/dist/custom/AIModelExtended.js.map +1 -1
- package/dist/custom/AIPromptCategoryExtended.d.ts +2 -2
- package/dist/custom/AIPromptCategoryExtended.d.ts.map +1 -1
- package/dist/custom/AIPromptCategoryExtended.js +3 -3
- package/dist/custom/AIPromptCategoryExtended.js.map +1 -1
- package/dist/custom/AIPromptExtended.d.ts +2 -2
- package/dist/custom/AIPromptExtended.d.ts.map +1 -1
- package/dist/custom/AIPromptExtended.js +20 -17
- package/dist/custom/AIPromptExtended.js.map +1 -1
- package/dist/custom/AIPromptRunEntityExtended.d.ts.map +1 -1
- package/dist/custom/AIPromptRunEntityExtended.js +8 -8
- package/dist/custom/AIPromptRunEntityExtended.js.map +1 -1
- package/dist/custom/ComponentEntityExtended.d.ts +6 -5
- package/dist/custom/ComponentEntityExtended.d.ts.map +1 -1
- package/dist/custom/ComponentEntityExtended.js +42 -11
- package/dist/custom/ComponentEntityExtended.js.map +1 -1
- package/dist/custom/DashboardEntityExtended.d.ts +1 -1
- package/dist/custom/DashboardEntityExtended.d.ts.map +1 -1
- package/dist/custom/DashboardEntityExtended.js +8 -8
- package/dist/custom/DashboardEntityExtended.js.map +1 -1
- package/dist/custom/EntityEntityExtended.d.ts.map +1 -1
- package/dist/custom/EntityEntityExtended.js +2 -2
- package/dist/custom/EntityEntityExtended.js.map +1 -1
- package/dist/custom/EntityFieldEntityExtended.d.ts +1 -1
- package/dist/custom/EntityFieldEntityExtended.d.ts.map +1 -1
- package/dist/custom/EntityFieldEntityExtended.js +4 -4
- package/dist/custom/EntityFieldEntityExtended.js.map +1 -1
- package/dist/custom/EnvironmentEntityExtended.d.ts +1 -1
- package/dist/custom/EnvironmentEntityExtended.d.ts.map +1 -1
- package/dist/custom/EnvironmentEntityExtended.js +2 -2
- package/dist/custom/EnvironmentEntityExtended.js.map +1 -1
- package/dist/custom/ListDetailEntityExtended.d.ts +1 -1
- package/dist/custom/ListDetailEntityExtended.d.ts.map +1 -1
- package/dist/custom/ListDetailEntityExtended.js +6 -8
- package/dist/custom/ListDetailEntityExtended.js.map +1 -1
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts +2 -2
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.d.ts.map +1 -1
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js +11 -10
- package/dist/custom/ResourcePermissions/ResourcePermissionEngine.js.map +1 -1
- package/dist/custom/ResourcePermissions/ResourcePermissionSubclass.d.ts +2 -2
- package/dist/custom/ResourcePermissions/ResourcePermissionSubclass.d.ts.map +1 -1
- package/dist/custom/ResourcePermissions/ResourcePermissionSubclass.js +13 -13
- package/dist/custom/ResourcePermissions/ResourcePermissionSubclass.js.map +1 -1
- package/dist/custom/ScheduledActionExtended.d.ts +2 -2
- package/dist/custom/ScheduledActionExtended.d.ts.map +1 -1
- package/dist/custom/ScheduledActionExtended.js +3 -3
- package/dist/custom/ScheduledActionExtended.js.map +1 -1
- package/dist/custom/TemplateEntityExtended.d.ts +2 -2
- package/dist/custom/TemplateEntityExtended.d.ts.map +1 -1
- package/dist/custom/TemplateEntityExtended.js +14 -11
- package/dist/custom/TemplateEntityExtended.js.map +1 -1
- package/dist/custom/TypeTablesCache.d.ts +2 -2
- package/dist/custom/TypeTablesCache.d.ts.map +1 -1
- package/dist/custom/TypeTablesCache.js +4 -4
- package/dist/custom/TypeTablesCache.js.map +1 -1
- package/dist/custom/UserViewEntity.d.ts +42 -42
- package/dist/custom/UserViewEntity.d.ts.map +1 -1
- package/dist/custom/UserViewEntity.js +98 -91
- package/dist/custom/UserViewEntity.js.map +1 -1
- package/dist/engines/artifacts.d.ts +2 -2
- package/dist/engines/artifacts.d.ts.map +1 -1
- package/dist/engines/artifacts.js +5 -5
- package/dist/engines/artifacts.js.map +1 -1
- package/dist/engines/component-metadata.d.ts +3 -3
- package/dist/engines/component-metadata.d.ts.map +1 -1
- package/dist/engines/component-metadata.js +9 -9
- package/dist/engines/component-metadata.js.map +1 -1
- package/dist/generated/entity_subclasses.d.ts +17909 -17482
- package/dist/generated/entity_subclasses.d.ts.map +1 -1
- package/dist/generated/entity_subclasses.js +19149 -18682
- package/dist/generated/entity_subclasses.js.map +1 -1
- package/package.json +4 -3
- package/readme.md +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/ComponentEntityExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ComponentEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/ComponentEntityExtended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,YAAY,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACzG,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,qBACa,uBAAwB,SAAQ,eAAe;IACxD;;;;;;OAMG;IACmB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IA0CzE,OAAO,CAAC,KAAK,CAA4B;IACzC;;;;;OAKG;IACH,IAAW,IAAI,IAAI,aAAa,CAE/B;IAGQ,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAWjD,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAWlC,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,yBAAyB,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAQnG,SAAS,CAAC,SAAS,CAAC,EAAE,oBAAoB,GAAG,OAAO;IAQ9C,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;CAOxF"}
|
|
@@ -7,27 +7,50 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.ComponentEntityExtended = void 0;
|
|
10
|
-
const
|
|
10
|
+
const core_1 = require("@memberjunction/core");
|
|
11
11
|
const entity_subclasses_1 = require("../generated/entity_subclasses");
|
|
12
|
-
const
|
|
12
|
+
const global_1 = require("@memberjunction/global");
|
|
13
13
|
let ComponentEntityExtended = class ComponentEntityExtended extends entity_subclasses_1.ComponentEntity {
|
|
14
14
|
/**
|
|
15
15
|
* Whenever a Component record is saved, if it is a new record or if the Specification field
|
|
16
|
-
* has changed, we will recalculate the values of the hasCustomProps, hasCustomEvents, RequiresData
|
|
16
|
+
* has changed, we will recalculate the values of the hasCustomProps, hasCustomEvents, RequiresData, DependencyCount fields,
|
|
17
|
+
* and sync Description, FunctionalRequirements, and TechnicalDesign from the Specification (source of truth)
|
|
17
18
|
* @param options
|
|
18
19
|
* @returns
|
|
19
20
|
*/
|
|
20
21
|
async Save(options) {
|
|
21
|
-
const specField = this.Fields.find(
|
|
22
|
+
const specField = this.Fields.find(f => f.Name === 'Specification');
|
|
22
23
|
if (!this.IsSaved || specField.Dirty) {
|
|
23
24
|
try {
|
|
24
|
-
|
|
25
|
+
// Handle both string (from database) and object (from mj-sync) formats
|
|
26
|
+
let spec;
|
|
27
|
+
if (typeof this.Specification === 'string') {
|
|
28
|
+
spec = (0, global_1.SafeJSONParse)(this.Specification || '{}');
|
|
29
|
+
}
|
|
30
|
+
else if (typeof this.Specification === 'object' && this.Specification !== null) {
|
|
31
|
+
// Already an object (e.g., from mj-sync)
|
|
32
|
+
spec = this.Specification;
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
spec = {};
|
|
36
|
+
}
|
|
25
37
|
if (spec) {
|
|
38
|
+
// Existing calculated fields
|
|
26
39
|
this.HasCustomProps = spec.properties?.length > 0;
|
|
27
|
-
this.HasRequiredCustomProps = spec.properties?.some(
|
|
40
|
+
this.HasRequiredCustomProps = spec.properties?.some(p => p.required) || false;
|
|
28
41
|
this.HasCustomEvents = spec.events?.length > 0;
|
|
29
42
|
this.RequiresData = spec.dataRequirements?.mode?.length > 0; // check one element of the dataRequirements
|
|
30
43
|
this.DependencyCount = spec.dependencies?.length || 0;
|
|
44
|
+
// Sync description, functionalRequirements, and technicalDesign from spec (source of truth)
|
|
45
|
+
if (spec.description) {
|
|
46
|
+
this.Description = spec.description;
|
|
47
|
+
}
|
|
48
|
+
if (spec.functionalRequirements) {
|
|
49
|
+
this.FunctionalRequirements = spec.functionalRequirements;
|
|
50
|
+
}
|
|
51
|
+
if (spec.technicalDesign) {
|
|
52
|
+
this.TechnicalDesign = spec.technicalDesign;
|
|
53
|
+
}
|
|
31
54
|
}
|
|
32
55
|
}
|
|
33
56
|
catch (ex) {
|
|
@@ -50,14 +73,22 @@ let ComponentEntityExtended = class ComponentEntityExtended extends entity_subcl
|
|
|
50
73
|
const oldValue = this.Get(FieldName);
|
|
51
74
|
super.Set(FieldName, Value);
|
|
52
75
|
if (FieldName?.trim().toLowerCase() === 'specification') {
|
|
53
|
-
if (oldValue !== Value) {
|
|
54
|
-
// no need to do json parse
|
|
76
|
+
if (oldValue !== Value) { // no need to do json parse
|
|
55
77
|
this.SetSpec(Value);
|
|
56
78
|
}
|
|
57
79
|
}
|
|
58
80
|
}
|
|
59
|
-
SetSpec(
|
|
60
|
-
|
|
81
|
+
SetSpec(newSpec) {
|
|
82
|
+
// Handle both string (from database) and object (from mj-sync) formats
|
|
83
|
+
if (typeof newSpec === 'string') {
|
|
84
|
+
this._spec = (0, global_1.SafeJSONParse)(newSpec || '{}');
|
|
85
|
+
}
|
|
86
|
+
else if (typeof newSpec === 'object' && newSpec !== null) {
|
|
87
|
+
this._spec = newSpec;
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
this._spec = {};
|
|
91
|
+
}
|
|
61
92
|
}
|
|
62
93
|
async InnerLoad(CompositeKey, EntityRelationshipsToLoad) {
|
|
63
94
|
const result = await super.InnerLoad(CompositeKey, EntityRelationshipsToLoad);
|
|
@@ -83,6 +114,6 @@ let ComponentEntityExtended = class ComponentEntityExtended extends entity_subcl
|
|
|
83
114
|
};
|
|
84
115
|
exports.ComponentEntityExtended = ComponentEntityExtended;
|
|
85
116
|
exports.ComponentEntityExtended = ComponentEntityExtended = __decorate([
|
|
86
|
-
(0,
|
|
117
|
+
(0, global_1.RegisterClass)(core_1.BaseEntity, 'MJ: Components')
|
|
87
118
|
], ComponentEntityExtended);
|
|
88
119
|
//# sourceMappingURL=ComponentEntityExtended.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComponentEntityExtended.js","sourceRoot":"","sources":["../../src/custom/ComponentEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"ComponentEntityExtended.js","sourceRoot":"","sources":["../../src/custom/ComponentEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAAyG;AACzG,sEAAiE;AACjE,mDAAsE;AAI/D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,mCAAe;IACxD;;;;;;OAMG;IACa,KAAK,CAAC,IAAI,CAAC,OAA2B;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC;gBACD,uEAAuE;gBACvE,IAAI,IAAmB,CAAC;gBACxB,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,EAAE,CAAC;oBACzC,IAAI,GAAG,IAAA,sBAAa,EAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAkB,CAAC;gBACtE,CAAC;qBAAM,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;oBAC/E,yCAAyC;oBACzC,IAAI,GAAG,IAAI,CAAC,aAA8B,CAAC;gBAC/C,CAAC;qBAAM,CAAC;oBACJ,IAAI,GAAG,EAAmB,CAAC;gBAC/B,CAAC;gBAED,IAAI,IAAI,EAAE,CAAC;oBACP,6BAA6B;oBAC7B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,CAAC,CAAC;oBAClD,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;oBAC9E,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;oBAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,4CAA4C;oBACzG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,CAAC;oBAEtD,4FAA4F;oBAC5F,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;wBACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;oBACxC,CAAC;oBACD,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;oBAC9D,CAAC;oBACD,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBACvB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;oBAChD,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,EAAE,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAAC;YAC/D,CAAC;QACL,CAAC;QACD,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAGD;;;;;OAKG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,mKAAmK;IAC1J,GAAG,CAAC,SAAiB,EAAE,KAAU;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAErC,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,SAAS,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,eAAe,EAAE,CAAC;YACtD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC,CAAC,2BAA2B;gBACjD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;IACL,CAAC;IAES,OAAO,CAAC,OAA+B;QAC7C,uEAAuE;QACvE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAA,sBAAa,EAAC,OAAO,IAAI,IAAI,CAAkB,CAAC;QACjE,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACzD,IAAI,CAAC,KAAK,GAAG,OAAwB,CAAC;QAC1C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,KAAK,GAAG,EAAmB,CAAC;QACrC,CAAC;IACL,CAAC;IAEQ,KAAK,CAAC,SAAS,CAAC,YAA0B,EAAE,yBAAoC;QACrF,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,SAAS,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAA;QAC7E,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEQ,SAAS,CAAC,SAAgC;QAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IAEQ,KAAK,CAAC,YAAY,CAAC,IAAS,EAAE,iBAA2B;QAC9D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC;QACjE,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ,CAAA;AA3GY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAa,EAAC,iBAAU,EAAE,gBAAgB,CAAC;GAC/B,uBAAuB,CA2GnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/DashboardEntityExtended.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBACa,uBAAwB,SAAQ,eAAe;
|
|
1
|
+
{"version":3,"file":"DashboardEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/DashboardEntityExtended.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAEjE,qBACa,uBAAwB,SAAQ,eAAe;IACjD,SAAS,IAAI,OAAO;CA2B9B"}
|
|
@@ -7,8 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.DashboardEntityExtended = void 0;
|
|
10
|
+
const core_1 = require("@memberjunction/core");
|
|
10
11
|
const global_1 = require("@memberjunction/global");
|
|
11
|
-
const global_2 = require("@memberjunction/global");
|
|
12
12
|
const entity_subclasses_1 = require("../generated/entity_subclasses");
|
|
13
13
|
let DashboardEntityExtended = class DashboardEntityExtended extends entity_subclasses_1.DashboardEntity {
|
|
14
14
|
NewRecord() {
|
|
@@ -19,25 +19,25 @@ let DashboardEntityExtended = class DashboardEntityExtended extends entity_subcl
|
|
|
19
19
|
rowHeight: 150,
|
|
20
20
|
resizable: true,
|
|
21
21
|
reorderable: true,
|
|
22
|
-
items: []
|
|
22
|
+
items: []
|
|
23
23
|
};
|
|
24
24
|
const configJSON = JSON.stringify(defaultConfigDetails);
|
|
25
|
-
this.Set(
|
|
26
|
-
const md = new
|
|
25
|
+
this.Set("UIConfigDetails", configJSON);
|
|
26
|
+
const md = new core_1.Metadata();
|
|
27
27
|
if (md.CurrentUser) {
|
|
28
|
-
this.Set(
|
|
28
|
+
this.Set("UserID", md.CurrentUser.ID);
|
|
29
29
|
}
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
32
32
|
catch (error) {
|
|
33
|
-
(0,
|
|
34
|
-
(0,
|
|
33
|
+
(0, core_1.LogError)("Error in NewRecord: ");
|
|
34
|
+
(0, core_1.LogError)(error);
|
|
35
35
|
return false;
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
};
|
|
39
39
|
exports.DashboardEntityExtended = DashboardEntityExtended;
|
|
40
40
|
exports.DashboardEntityExtended = DashboardEntityExtended = __decorate([
|
|
41
|
-
(0,
|
|
41
|
+
(0, global_1.RegisterClass)(core_1.BaseEntity, 'Dashboards')
|
|
42
42
|
], DashboardEntityExtended);
|
|
43
43
|
//# sourceMappingURL=DashboardEntityExtended.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DashboardEntityExtended.js","sourceRoot":"","sources":["../../src/custom/DashboardEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"DashboardEntityExtended.js","sourceRoot":"","sources":["../../src/custom/DashboardEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAAsE;AACtE,mDAAuD;AACvD,sEAAiE;AAG1D,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,mCAAe;IACjD,SAAS;QACZ,IAAG,CAAC;YACA,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,oBAAoB,GAAG;gBACvB,OAAO,EAAE,CAAC;gBACV,SAAS,EAAE,GAAG;gBACd,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;gBACjB,KAAK,EAAE,EAAE;aACZ,CAAA;YAED,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;YAExC,MAAM,EAAE,GAAa,IAAI,eAAQ,EAAE,CAAC;YACpC,IAAG,EAAE,CAAC,WAAW,EAAC,CAAC;gBACf,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC1C,CAAC;YAED,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,OAAM,KAAK,EAAE,CAAC;YACV,IAAA,eAAQ,EAAC,sBAAsB,CAAC,CAAC;YACjC,IAAA,eAAQ,EAAC,KAAK,CAAC,CAAC;YAChB,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ,CAAA;AA5BY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAa,EAAC,iBAAU,EAAE,YAAY,CAAC;GAC3B,uBAAuB,CA4BnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/EntityEntityExtended.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D;;;;GAIG;AACH,qBACa,oBAAqB,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"EntityEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/EntityEntityExtended.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAE9D;;;;GAIG;AACH,qBACa,oBAAqB,SAAQ,YAAY;IAClD;;OAEG;IACa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;CAiB3D"}
|
|
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.EntityEntityExtended = void 0;
|
|
10
10
|
const global_1 = require("@memberjunction/global");
|
|
11
|
-
const
|
|
11
|
+
const core_1 = require("@memberjunction/core");
|
|
12
12
|
const entity_subclasses_1 = require("../generated/entity_subclasses");
|
|
13
13
|
/**
|
|
14
14
|
* Extended EntityEntity class that provides automatic handling of Description field updates.
|
|
@@ -37,6 +37,6 @@ let EntityEntityExtended = class EntityEntityExtended extends entity_subclasses_
|
|
|
37
37
|
};
|
|
38
38
|
exports.EntityEntityExtended = EntityEntityExtended;
|
|
39
39
|
exports.EntityEntityExtended = EntityEntityExtended = __decorate([
|
|
40
|
-
(0, global_1.RegisterClass)(
|
|
40
|
+
(0, global_1.RegisterClass)(core_1.BaseEntity, 'Entities')
|
|
41
41
|
], EntityEntityExtended);
|
|
42
42
|
//# sourceMappingURL=EntityEntityExtended.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityEntityExtended.js","sourceRoot":"","sources":["../../src/custom/EntityEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAAuD;AACvD
|
|
1
|
+
{"version":3,"file":"EntityEntityExtended.js","sourceRoot":"","sources":["../../src/custom/EntityEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAAuD;AACvD,+CAAkD;AAClD,sEAA8D;AAE9D;;;;GAIG;AAEI,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,gCAAY;IAClD;;OAEG;IACa,GAAG,CAAC,SAAiB,EAAE,KAAU;QAC7C,mCAAmC;QACnC,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;YACrE,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC;YAElF,2EAA2E;YAC3E,IAAI,KAAK,KAAK,kBAAkB,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,qDAAqD,IAAI,CAAC,IAAI,+GAA+G,CAAC,CAAC;gBAC5L,0CAA0C;gBAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACtC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;CACJ,CAAA;AArBY,oDAAoB;+BAApB,oBAAoB;IADhC,IAAA,sBAAa,EAAC,iBAAU,EAAE,UAAU,CAAC;GACzB,oBAAoB,CAqBhC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ValidationResult } from '@memberjunction/
|
|
1
|
+
import { ValidationResult } from '@memberjunction/core';
|
|
2
2
|
import { EntityFieldEntity } from '../generated/entity_subclasses';
|
|
3
3
|
/**
|
|
4
4
|
* Extended EntityFieldEntity class that provides safeguards against modifying database-reflected properties.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFieldEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/EntityFieldEntityExtended.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,gBAAgB,EAA4C,MAAM,
|
|
1
|
+
{"version":3,"file":"EntityFieldEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/EntityFieldEntityExtended.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,gBAAgB,EAA4C,MAAM,sBAAsB,CAAC;AAC9G,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE;;;GAGG;AACH,qBACa,yBAA0B,SAAQ,iBAAiB;IAC5D;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,6BAA6B,CAcnD;IAEF;;OAEG;IACa,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAkBxD;;;OAGG;IACa,QAAQ,IAAI,gBAAgB;CAuB/C"}
|
|
@@ -9,7 +9,7 @@ var EntityFieldEntityExtended_1;
|
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
10
|
exports.EntityFieldEntityExtended = void 0;
|
|
11
11
|
const global_1 = require("@memberjunction/global");
|
|
12
|
-
const
|
|
12
|
+
const core_1 = require("@memberjunction/core");
|
|
13
13
|
const entity_subclasses_1 = require("../generated/entity_subclasses");
|
|
14
14
|
/**
|
|
15
15
|
* Extended EntityFieldEntity class that provides safeguards against modifying database-reflected properties.
|
|
@@ -48,7 +48,7 @@ let EntityFieldEntityExtended = EntityFieldEntityExtended_1 = class EntityFieldE
|
|
|
48
48
|
const field = this.GetFieldByName(prop);
|
|
49
49
|
if (field && field.Dirty) {
|
|
50
50
|
result.Success = false;
|
|
51
|
-
result.Errors.push(new
|
|
51
|
+
result.Errors.push(new core_1.ValidationErrorInfo(prop, `Cannot modify ${prop} - this property is reflected from the database schema and can only be updated by CodeGen`, field.Value, core_1.ValidationErrorType.Failure));
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
}
|
|
@@ -72,9 +72,9 @@ EntityFieldEntityExtended.DATABASE_REFLECTED_PROPERTIES = [
|
|
|
72
72
|
'DefaultValue', // Default value from database
|
|
73
73
|
'AutoIncrement', // Auto-increment status
|
|
74
74
|
'RelatedEntityID', // Foreign key relationships
|
|
75
|
-
'RelatedEntityFieldName'
|
|
75
|
+
'RelatedEntityFieldName' // Foreign key field reference
|
|
76
76
|
];
|
|
77
77
|
exports.EntityFieldEntityExtended = EntityFieldEntityExtended = EntityFieldEntityExtended_1 = __decorate([
|
|
78
|
-
(0, global_1.RegisterClass)(
|
|
78
|
+
(0, global_1.RegisterClass)(core_1.BaseEntity, 'Entity Fields')
|
|
79
79
|
], EntityFieldEntityExtended);
|
|
80
80
|
//# sourceMappingURL=EntityFieldEntityExtended.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityFieldEntityExtended.js","sourceRoot":"","sources":["../../src/custom/EntityFieldEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,mDAAuD;AACvD
|
|
1
|
+
{"version":3,"file":"EntityFieldEntityExtended.js","sourceRoot":"","sources":["../../src/custom/EntityFieldEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,mDAAuD;AACvD,+CAA8G;AAC9G,sEAAmE;AAEnE;;;GAGG;AAEI,IAAM,yBAAyB,iCAA/B,MAAM,yBAA0B,SAAQ,qCAAiB;IAoB5D;;OAEG;IACa,GAAG,CAAC,SAAiB,EAAE,KAAU;QAC7C,mCAAmC;QACnC,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,aAAa,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/D,MAAM,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC;YACrE,MAAM,qBAAqB,GAAG,IAAI,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,KAAK,CAAC;YAElF,2EAA2E;YAC3E,IAAI,KAAK,KAAK,kBAAkB,IAAI,qBAAqB,KAAK,IAAI,EAAE,CAAC;gBACjE,OAAO,CAAC,IAAI,CAAC,2DAA2D,IAAI,CAAC,IAAI,+GAA+G,CAAC,CAAC;gBAClM,0CAA0C;gBAC1C,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACtC,CAAC;QACL,CAAC;QAED,yBAAyB;QACzB,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;;OAGG;IACa,QAAQ;QACpB,gCAAgC;QAChC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QAEhC,iFAAiF;QACjF,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,yCAAyC;YACzC,KAAK,MAAM,IAAI,IAAI,2BAAyB,CAAC,6BAA6B,EAAE,CAAC;gBACzE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACxC,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBACvB,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;oBACvB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,0BAAmB,CACtC,IAAI,EACJ,iBAAiB,IAAI,2FAA2F,EAChH,KAAK,CAAC,KAAK,EACX,0BAAmB,CAAC,OAAO,CAC9B,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;;AAnEQ,8DAAyB;AAClC;;GAEG;AACqB,uDAA6B,GAAG;IACpD,MAAM,EAAe,0BAA0B;IAC/C,MAAM,EAAe,gBAAgB;IACrC,QAAQ,EAAa,gBAAgB;IACrC,WAAW,EAAU,oBAAoB;IACzC,OAAO,EAAc,gBAAgB;IACrC,cAAc,EAAO,qBAAqB;IAC1C,UAAU,EAAW,2BAA2B;IAChD,YAAY,EAAS,kBAAkB;IACvC,WAAW,EAAU,mCAAmC;IACxD,cAAc,EAAO,8BAA8B;IACnD,eAAe,EAAM,wBAAwB;IAC7C,iBAAiB,EAAI,4BAA4B;IACjD,wBAAwB,CAAC,8BAA8B;CAC1D,AAdoD,CAcnD;oCAlBO,yBAAyB;IADrC,IAAA,sBAAa,EAAC,iBAAU,EAAE,eAAe,CAAC;GAC9B,yBAAyB,CAoErC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EnvironmentEntity } from
|
|
1
|
+
import { EnvironmentEntity } from "../generated/entity_subclasses";
|
|
2
2
|
export declare class EnvironmentEntityExtended extends EnvironmentEntity {
|
|
3
3
|
/**
|
|
4
4
|
* The default environment ID for MemberJunction. This is the standard environment
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/EnvironmentEntityExtended.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,qBACa,yBAA0B,SAAQ,iBAAiB;
|
|
1
|
+
{"version":3,"file":"EnvironmentEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/EnvironmentEntityExtended.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AAEnE,qBACa,yBAA0B,SAAQ,iBAAiB;IAC5D;;;;;;OAMG;IACH,WAAkB,oBAAoB,IAAI,MAAM,CAE/C;CACJ"}
|
|
@@ -7,8 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.EnvironmentEntityExtended = void 0;
|
|
10
|
+
const core_1 = require("@memberjunction/core");
|
|
10
11
|
const global_1 = require("@memberjunction/global");
|
|
11
|
-
const global_2 = require("@memberjunction/global");
|
|
12
12
|
const entity_subclasses_1 = require("../generated/entity_subclasses");
|
|
13
13
|
let EnvironmentEntityExtended = class EnvironmentEntityExtended extends entity_subclasses_1.EnvironmentEntity {
|
|
14
14
|
/**
|
|
@@ -24,6 +24,6 @@ let EnvironmentEntityExtended = class EnvironmentEntityExtended extends entity_s
|
|
|
24
24
|
};
|
|
25
25
|
exports.EnvironmentEntityExtended = EnvironmentEntityExtended;
|
|
26
26
|
exports.EnvironmentEntityExtended = EnvironmentEntityExtended = __decorate([
|
|
27
|
-
(0,
|
|
27
|
+
(0, global_1.RegisterClass)(core_1.BaseEntity, 'MJ: Environments')
|
|
28
28
|
], EnvironmentEntityExtended);
|
|
29
29
|
//# sourceMappingURL=EnvironmentEntityExtended.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvironmentEntityExtended.js","sourceRoot":"","sources":["../../src/custom/EnvironmentEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"EnvironmentEntityExtended.js","sourceRoot":"","sources":["../../src/custom/EnvironmentEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAAkD;AAClD,mDAAuD;AACvD,sEAAmE;AAG5D,IAAM,yBAAyB,GAA/B,MAAM,yBAA0B,SAAQ,qCAAiB;IAC5D;;;;;;OAMG;IACI,MAAM,KAAK,oBAAoB;QAClC,OAAO,sCAAsC,CAAC;IAClD,CAAC;CACJ,CAAA;AAXY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,sBAAa,EAAC,iBAAU,EAAE,kBAAkB,CAAC;GACjC,yBAAyB,CAWrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListDetailEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/ListDetailEntityExtended.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,qBACa,wBAAyB,SAAQ,gBAAgB;
|
|
1
|
+
{"version":3,"file":"ListDetailEntityExtended.d.ts","sourceRoot":"","sources":["../../src/custom/ListDetailEntityExtended.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,qBACa,wBAAyB,SAAQ,gBAAgB;IAC7C,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;CAkDxC"}
|
|
@@ -7,13 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.ListDetailEntityExtended = void 0;
|
|
10
|
+
const core_1 = require("@memberjunction/core");
|
|
10
11
|
const global_1 = require("@memberjunction/global");
|
|
11
|
-
const global_2 = require("@memberjunction/global");
|
|
12
12
|
const entity_subclasses_1 = require("../generated/entity_subclasses");
|
|
13
13
|
let ListDetailEntityExtended = class ListDetailEntityExtended extends entity_subclasses_1.ListDetailEntity {
|
|
14
14
|
async Save() {
|
|
15
15
|
const currentResultCount = this.ResultHistory.length;
|
|
16
|
-
const newResult = new
|
|
16
|
+
const newResult = new core_1.BaseEntityResult();
|
|
17
17
|
newResult.StartedAt = new Date();
|
|
18
18
|
try {
|
|
19
19
|
const rv = this.RunViewProviderToUse;
|
|
@@ -28,7 +28,7 @@ let ListDetailEntityExtended = class ListDetailEntityExtended extends entity_sub
|
|
|
28
28
|
}
|
|
29
29
|
const rvResult = await rv.RunView({
|
|
30
30
|
EntityName: 'List Details',
|
|
31
|
-
ExtraFilter: `ListID = '${this.ListID}' AND RecordID = '${this.RecordID}'
|
|
31
|
+
ExtraFilter: `ListID = '${this.ListID}' AND RecordID = '${this.RecordID}'`
|
|
32
32
|
}, this.ContextCurrentUser);
|
|
33
33
|
if (!rvResult.Success) {
|
|
34
34
|
throw new Error(rvResult.ErrorMessage);
|
|
@@ -42,14 +42,12 @@ let ListDetailEntityExtended = class ListDetailEntityExtended extends entity_sub
|
|
|
42
42
|
catch (e) {
|
|
43
43
|
if (currentResultCount === this.ResultHistory.length) {
|
|
44
44
|
0;
|
|
45
|
-
// this means that NO new results were added to the history anywhere
|
|
45
|
+
// this means that NO new results were added to the history anywhere
|
|
46
46
|
// so we need to add a new result to the history here
|
|
47
47
|
newResult.Success = false;
|
|
48
48
|
newResult.Type = this.IsSaved ? 'update' : 'create';
|
|
49
49
|
newResult.Message = e.message;
|
|
50
|
-
newResult.OriginalValues = this.Fields.map(
|
|
51
|
-
return { FieldName: f.CodeName, Value: f.OldValue };
|
|
52
|
-
});
|
|
50
|
+
newResult.OriginalValues = this.Fields.map(f => { return { FieldName: f.CodeName, Value: f.OldValue }; });
|
|
53
51
|
newResult.EndedAt = new Date();
|
|
54
52
|
this.ResultHistory.push(newResult);
|
|
55
53
|
}
|
|
@@ -59,6 +57,6 @@ let ListDetailEntityExtended = class ListDetailEntityExtended extends entity_sub
|
|
|
59
57
|
};
|
|
60
58
|
exports.ListDetailEntityExtended = ListDetailEntityExtended;
|
|
61
59
|
exports.ListDetailEntityExtended = ListDetailEntityExtended = __decorate([
|
|
62
|
-
(0,
|
|
60
|
+
(0, global_1.RegisterClass)(core_1.BaseEntity, 'List Details')
|
|
63
61
|
], ListDetailEntityExtended);
|
|
64
62
|
//# sourceMappingURL=ListDetailEntityExtended.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListDetailEntityExtended.js","sourceRoot":"","sources":["../../src/custom/ListDetailEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"ListDetailEntityExtended.js","sourceRoot":"","sources":["../../src/custom/ListDetailEntityExtended.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+CAA6E;AAC7E,mDAAuD;AACvD,sEAAkE;AAG3D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,oCAAgB;IACnD,KAAK,CAAC,IAAI;QACb,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;QACrD,MAAM,SAAS,GAAG,IAAI,uBAAgB,EAAE,CAAC;QACzC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QAEjC,IAAG,CAAC;YACA,MAAM,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAErC,IAAG,CAAC,IAAI,CAAC,MAAM,EAAC,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;YAC7C,CAAC;YAED,IAAG,CAAC,IAAI,CAAC,QAAQ,EAAC,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;YAC/C,CAAC;YAED,IAAG,CAAC,IAAI,CAAC,kBAAkB,EAAC,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC;gBAC9B,UAAU,EAAE,cAAc;gBAC1B,WAAW,EAAE,aAAa,IAAI,CAAC,MAAM,qBAAqB,IAAI,CAAC,QAAQ,GAAG;aAC7E,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE5B,IAAG,CAAC,QAAQ,CAAC,OAAO,EAAC,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;YAED,IAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;gBAC5B,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,QAAQ,2BAA2B,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,UAAU,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,kBAAkB,KAAK,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAAA,CAAC,CAAA;gBACpD,qEAAqE;gBACrE,qDAAqD;gBACrD,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC1B,SAAS,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;gBACpD,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;gBAC9B,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAC,CAAA,CAAC,CAAC,CAAC,CAAC;gBACvG,SAAS,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACvC,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;CACJ,CAAA;AAnDY,4DAAwB;mCAAxB,wBAAwB;IADpC,IAAA,sBAAa,EAAC,iBAAU,EAAE,cAAc,CAAC;GAC7B,wBAAwB,CAmDpC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BaseEngine, IMetadataProvider, UserInfo } from
|
|
2
|
-
import { ResourcePermissionEntity, ResourceTypeEntity } from
|
|
1
|
+
import { BaseEngine, IMetadataProvider, UserInfo } from "@memberjunction/core";
|
|
2
|
+
import { ResourcePermissionEntity, ResourceTypeEntity } from "../../generated/entity_subclasses";
|
|
3
3
|
/**
|
|
4
4
|
* Resource Permission Engine is used for accessing metadata about permissions for resources and also determining if a user has access to a resource and at what level.
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourcePermissionEngine.d.ts","sourceRoot":"","sources":["../../../src/custom/ResourcePermissions/ResourcePermissionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,EAAY,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"ResourcePermissionEngine.d.ts","sourceRoot":"","sources":["../../../src/custom/ResourcePermissions/ResourcePermissionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4B,iBAAiB,EAAY,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACnH,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAEjG;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,UAAU,CAAC,wBAAwB,CAAC;IAC9E;;OAEG;IACH,WAAkB,QAAQ,IAAI,wBAAwB,CAErD;IAED,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAEpB;IACW,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB;IAiBhG,IAAW,aAAa,IAAI,kBAAkB,EAAE,CAE/C;IAED,IAAW,WAAW,IAAI,wBAAwB,EAAE,CAEnD;IAGD;;;;;;OAMG;IACI,sBAAsB,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAI3G;;;;;;;;;;;;;;;;;;OAkBG;IACI,8BAA8B,CACjC,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,MAAM,EACxB,IAAI,EAAE,QAAQ,GACf,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAiCnC;;;;;;OAMG;IACI,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAuCrG;;;;OAIG;IACI,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAC;CAoB3I"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ResourcePermissionEngine = void 0;
|
|
4
|
-
const
|
|
4
|
+
const core_1 = require("@memberjunction/core");
|
|
5
5
|
/**
|
|
6
6
|
* Resource Permission Engine is used for accessing metadata about permissions for resources and also determining if a user has access to a resource and at what level.
|
|
7
7
|
*/
|
|
8
|
-
class ResourcePermissionEngine extends
|
|
8
|
+
class ResourcePermissionEngine extends core_1.BaseEngine {
|
|
9
9
|
/**
|
|
10
10
|
* Returns the global instance of the class. This is a singleton class, so there is only one instance of it in the application. Do not directly create new instances of it, always use this method to get the instance.
|
|
11
11
|
*/
|
|
@@ -17,14 +17,14 @@ class ResourcePermissionEngine extends global_1.BaseEngine {
|
|
|
17
17
|
{
|
|
18
18
|
Type: 'entity',
|
|
19
19
|
EntityName: 'Resource Permissions',
|
|
20
|
-
PropertyName:
|
|
20
|
+
PropertyName: "_Permissions"
|
|
21
21
|
},
|
|
22
22
|
{
|
|
23
23
|
Type: 'dataset',
|
|
24
24
|
DatasetName: 'ResourceTypes',
|
|
25
|
-
PropertyName:
|
|
26
|
-
DatasetResultHandling:
|
|
27
|
-
}
|
|
25
|
+
PropertyName: "_ResourceTypes",
|
|
26
|
+
DatasetResultHandling: "single_property"
|
|
27
|
+
}
|
|
28
28
|
];
|
|
29
29
|
await this.Load(c, provider, forceRefresh, contextUser);
|
|
30
30
|
}
|
|
@@ -69,7 +69,8 @@ class ResourcePermissionEngine extends global_1.BaseEngine {
|
|
|
69
69
|
// Filter permissions specifically granted to the user
|
|
70
70
|
const userPermissions = allPermissions.filter((p) => p.Type === 'User' && p.UserID === user.ID);
|
|
71
71
|
// Filter permissions granted through roles the user belongs to
|
|
72
|
-
const rolePermissions = allPermissions.filter((p) => p.Type === 'Role' &&
|
|
72
|
+
const rolePermissions = allPermissions.filter((p) => p.Type === 'Role' &&
|
|
73
|
+
user.UserRoles.find(ur => ur.RoleID === p.RoleID) !== undefined);
|
|
73
74
|
// Combine user-specific permissions and role-based permissions
|
|
74
75
|
const allPermissionsForUser = userPermissions.concat(rolePermissions);
|
|
75
76
|
const approvedPermissionsForUser = allPermissionsForUser.filter((p) => p.Status === 'Approved');
|
|
@@ -100,7 +101,7 @@ class ResourcePermissionEngine extends global_1.BaseEngine {
|
|
|
100
101
|
* @returns
|
|
101
102
|
*/
|
|
102
103
|
GetUserAvailableResources(user, ResourceTypeID) {
|
|
103
|
-
let rolePermissions = this.Permissions.filter((r) => r.Type === 'Role' && user.UserRoles.find(
|
|
104
|
+
let rolePermissions = this.Permissions.filter((r) => r.Type === 'Role' && user.UserRoles.find(ur => ur.RoleID === r.RoleID) !== undefined);
|
|
104
105
|
let permissions = this.Permissions.filter((r) => r.Type === 'User' && r.UserID === user.ID);
|
|
105
106
|
if (ResourceTypeID) {
|
|
106
107
|
permissions = permissions.filter((r) => r.ResourceTypeID === ResourceTypeID);
|
|
@@ -141,7 +142,7 @@ class ResourcePermissionEngine extends global_1.BaseEngine {
|
|
|
141
142
|
* foreign key to the Users entity from the resource type's entity and looks for the field that is consider the "Name Field" for the entity and returns those values.
|
|
142
143
|
*/
|
|
143
144
|
GetResourceTypeInfoFields(ResourceTypeID) {
|
|
144
|
-
const md = new
|
|
145
|
+
const md = new core_1.Metadata();
|
|
145
146
|
const rt = this.ResourceTypes.find((rt) => rt.ID === ResourceTypeID);
|
|
146
147
|
if (!rt)
|
|
147
148
|
throw new Error(`Resource Type ${ResourceTypeID} not found`);
|
|
@@ -156,7 +157,7 @@ class ResourcePermissionEngine extends global_1.BaseEngine {
|
|
|
156
157
|
return {
|
|
157
158
|
OwnerIDFieldName: ownerIDField?.Name,
|
|
158
159
|
NameFieldName: nameField?.Name,
|
|
159
|
-
PrimaryKeyFieldName: entity.FirstPrimaryKey.Name
|
|
160
|
+
PrimaryKeyFieldName: entity.FirstPrimaryKey.Name
|
|
160
161
|
};
|
|
161
162
|
}
|
|
162
163
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourcePermissionEngine.js","sourceRoot":"","sources":["../../../src/custom/ResourcePermissions/ResourcePermissionEngine.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"ResourcePermissionEngine.js","sourceRoot":"","sources":["../../../src/custom/ResourcePermissions/ResourcePermissionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { EntitySaveOptions } from
|
|
2
|
-
import { ResourcePermissionEntity } from
|
|
1
|
+
import { EntitySaveOptions } from "@memberjunction/core";
|
|
2
|
+
import { ResourcePermissionEntity } from "../../generated/entity_subclasses";
|
|
3
3
|
/**
|
|
4
4
|
* Subclass for the Resource Permissiosn entity that implements some workflow logic
|
|
5
5
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResourcePermissionSubclass.d.ts","sourceRoot":"","sources":["../../../src/custom/ResourcePermissions/ResourcePermissionSubclass.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,iBAAiB,EAAyC,MAAM,
|
|
1
|
+
{"version":3,"file":"ResourcePermissionSubclass.d.ts","sourceRoot":"","sources":["../../../src/custom/ResourcePermissions/ResourcePermissionSubclass.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,iBAAiB,EAAyC,MAAM,sBAAsB,CAAC;AAE1H,OAAO,EAAE,wBAAwB,EAAsC,MAAM,mCAAmC,CAAC;AAGjH;;GAEG;AACH,qBACa,gCAAiC,SAAQ,wBAAwB;IAC1E;;;;;;OAMG;IACY,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;CAmFrE"}
|
|
@@ -7,8 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.ResourcePermissionEntityExtended = void 0;
|
|
10
|
+
const core_1 = require("@memberjunction/core");
|
|
10
11
|
const global_1 = require("@memberjunction/global");
|
|
11
|
-
const global_2 = require("@memberjunction/global");
|
|
12
12
|
const entity_subclasses_1 = require("../../generated/entity_subclasses");
|
|
13
13
|
const ResourcePermissionEngine_1 = require("./ResourcePermissionEngine");
|
|
14
14
|
/**
|
|
@@ -28,27 +28,27 @@ let ResourcePermissionEntityExtended = class ResourcePermissionEntityExtended ex
|
|
|
28
28
|
// operating on the server side so we can do the notification logic
|
|
29
29
|
// first check to see if we're a new record and the status is "Requested"
|
|
30
30
|
const newRequest = !this.IsSaved && this.Status === 'Requested';
|
|
31
|
-
const statusField = this.Fields.find(
|
|
31
|
+
const statusField = this.Fields.find(f => f.Name.trim().toLowerCase() === 'status');
|
|
32
32
|
const statusChangedfromRequested = this.IsSaved && statusField.Dirty && statusField.OldValue.trim().toLowerCase() === 'requested';
|
|
33
|
-
// just in case, config the engine but it probably already has been configured in which case nothing will happen
|
|
34
|
-
const engine =
|
|
33
|
+
// just in case, config the engine but it probably already has been configured in which case nothing will happen
|
|
34
|
+
const engine = ResourcePermissionEngine_1.ResourcePermissionEngine.GetProviderInstance(p, ResourcePermissionEngine_1.ResourcePermissionEngine);
|
|
35
35
|
await engine.Config(false, this.ContextCurrentUser);
|
|
36
36
|
const rt = engine.ResourceTypes.find((rt) => rt.ID === this.ResourceTypeID);
|
|
37
|
-
const rtEntityRecord = engine.ResourceTypes.find((rt) => rt.Name.trim().toLowerCase() ===
|
|
37
|
+
const rtEntityRecord = engine.ResourceTypes.find((rt) => rt.Name.trim().toLowerCase() === "records");
|
|
38
38
|
// now get the field names for the given resource type based on its entity metadata with this helper method in the engine
|
|
39
39
|
const resourceTypeFields = engine.GetResourceTypeInfoFields(this.ResourceTypeID);
|
|
40
40
|
if (resourceTypeFields && resourceTypeFields.NameFieldName && resourceTypeFields.OwnerIDFieldName) {
|
|
41
41
|
// grab the data from the resource record itself so we have it for the notification so it is easy for the user to read
|
|
42
42
|
const resourceRecord = await p.GetEntityObject(rt.Entity, this.ContextCurrentUser);
|
|
43
|
-
const ck = new
|
|
43
|
+
const ck = new core_1.CompositeKey([
|
|
44
44
|
{
|
|
45
45
|
FieldName: resourceTypeFields.PrimaryKeyFieldName,
|
|
46
|
-
Value: this.ResourceRecordID
|
|
47
|
-
}
|
|
46
|
+
Value: this.ResourceRecordID
|
|
47
|
+
}
|
|
48
48
|
]);
|
|
49
49
|
await resourceRecord.InnerLoad(ck);
|
|
50
50
|
// we have the resource record (e.g. the User View, Dashboard, Report, etc)
|
|
51
|
-
// now grab the record name and owner from it
|
|
51
|
+
// now grab the record name and owner from it
|
|
52
52
|
const recordName = resourceRecord.Get(resourceTypeFields.NameFieldName);
|
|
53
53
|
const recordOwnerID = resourceRecord.Get(resourceTypeFields.OwnerIDFieldName);
|
|
54
54
|
// we now have our cached state values of newRequest and statusChanged and can proceed with the logic below
|
|
@@ -65,9 +65,9 @@ let ResourcePermissionEntityExtended = class ResourcePermissionEntityExtended ex
|
|
|
65
65
|
notification.ResourceTypeID = rtEntityRecord.ID; // the resource type here is Entity Record which means that the user who gets this notification can easily click on THIS record to approve/reject/etc
|
|
66
66
|
notification.ResourceRecordID = this.ID;
|
|
67
67
|
notification.ResourceConfiguration = JSON.stringify({
|
|
68
|
-
Entity:
|
|
68
|
+
Entity: "Resource Permissions",
|
|
69
69
|
ResourceRecordID: this.ResourceRecordID, // saving the resource record here to make it easy to find the request from the notification
|
|
70
|
-
ResourcePermissionID: this.ID
|
|
70
|
+
ResourcePermissionID: this.ID // saving the resource permission here to make it easy to find the request from the notification
|
|
71
71
|
});
|
|
72
72
|
notification.UserID = recordOwnerID;
|
|
73
73
|
return await notification.Save();
|
|
@@ -80,7 +80,7 @@ let ResourcePermissionEntityExtended = class ResourcePermissionEntityExtended ex
|
|
|
80
80
|
notification.ResourceTypeID = this.ResourceTypeID;
|
|
81
81
|
notification.ResourceRecordID = this.ResourceRecordID;
|
|
82
82
|
notification.ResourceConfiguration = JSON.stringify({
|
|
83
|
-
ResourcePermissionID: this.ID
|
|
83
|
+
ResourcePermissionID: this.ID // saving the resource permission here to make it easy to find the request from the notification
|
|
84
84
|
});
|
|
85
85
|
return await notification.Save();
|
|
86
86
|
}
|
|
@@ -104,6 +104,6 @@ let ResourcePermissionEntityExtended = class ResourcePermissionEntityExtended ex
|
|
|
104
104
|
};
|
|
105
105
|
exports.ResourcePermissionEntityExtended = ResourcePermissionEntityExtended;
|
|
106
106
|
exports.ResourcePermissionEntityExtended = ResourcePermissionEntityExtended = __decorate([
|
|
107
|
-
(0,
|
|
107
|
+
(0, global_1.RegisterClass)(core_1.BaseEntity, 'Resource Permissions')
|
|
108
108
|
], ResourcePermissionEntityExtended);
|
|
109
109
|
//# sourceMappingURL=ResourcePermissionSubclass.js.map
|