@memberjunction/actions 2.112.0 → 2.113.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.
- package/dist/entity-actions/EntityActionInvocationTypes.d.ts +4 -4
- package/dist/entity-actions/EntityActionInvocationTypes.d.ts.map +1 -1
- package/dist/entity-actions/EntityActionInvocationTypes.js +18 -18
- package/dist/entity-actions/EntityActionInvocationTypes.js.map +1 -1
- package/dist/generic/ActionEngine.d.ts +2 -2
- package/dist/generic/ActionEngine.d.ts.map +1 -1
- package/dist/generic/ActionEngine.js +20 -19
- package/dist/generic/ActionEngine.js.map +1 -1
- package/dist/generic/BaseOAuthAction.d.ts.map +1 -1
- package/dist/generic/BaseOAuthAction.js +22 -14
- package/dist/generic/BaseOAuthAction.js.map +1 -1
- package/dist/generic/test.js +8 -8
- package/package.json +10 -9
- package/readme.md +2 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ActionParamEntity, EntityActionParamEntity } from
|
|
2
|
-
import { BaseEntity } from
|
|
3
|
-
import { ActionParam, ActionResult, EntityActionInvocationParams, EntityActionResult } from
|
|
1
|
+
import { ActionParamEntity, EntityActionParamEntity } from "@memberjunction/core-entities";
|
|
2
|
+
import { BaseEntity } from "@memberjunction/core";
|
|
3
|
+
import { ActionParam, ActionResult, EntityActionInvocationParams, EntityActionResult } from "@memberjunction/actions-base";
|
|
4
4
|
/**
|
|
5
5
|
* Base class for invocation of any entity action invocation type
|
|
6
6
|
*/
|
|
@@ -11,7 +11,7 @@ export declare abstract class EntityActionInvocationBase {
|
|
|
11
11
|
* @param allParams
|
|
12
12
|
* @param valueType
|
|
13
13
|
*/
|
|
14
|
-
FindActionParam(allParams: ActionParamEntity[], valueType:
|
|
14
|
+
FindActionParam(allParams: ActionParamEntity[], valueType: "Scalar" | "Simple Object" | "BaseEntity Sub-Class" | "Other"): ActionParamEntity;
|
|
15
15
|
MapActionResultToEntityActionResult(result: ActionResult): EntityActionResult;
|
|
16
16
|
/**
|
|
17
17
|
* This method will map the Entity Action Params to the Action Params and where needed evaluate scripts to get the run-time values that need
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityActionInvocationTypes.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"EntityActionInvocationTypes.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,4BAA4B,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAG3H;;GAEG;AACH,8BAAsB,0BAA0B;aAC5B,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAE/F;;;;OAIG;IACI,eAAe,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,eAAe,GAAG,sBAAsB,GAAG,OAAO,GAAG,iBAAiB;IAI5I,mCAAmC,CAAC,MAAM,EAAE,YAAY,GAAG,kBAAkB;IASpF;;;;;;;OAOG;IACU,SAAS,CAAC,MAAM,EAAE,iBAAiB,EAAE,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAuCpJ,OAAO,CAAC,YAAY,CAAsD;IAE1E;;;;;;OAMG;IACU,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;CA0BlH;AAED;;GAEG;AACH,qBAQa,kCAAmC,SAAQ,0BAA0B;IACjE,cAAc,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtE,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA2B/F;AAED;;;;;GAKG;AACH,qBAEa,qCAAsC,SAAQ,0BAA0B;IACpE,cAAc,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,OAAO,CAAC;IAgBtE,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;cAqC5E,aAAa,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;CAGzD;AAED;;GAEG;AACH,qBACa,8BAA+B,SAAQ,kCAAkC;IAC5D,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwBxG"}
|
|
@@ -22,14 +22,14 @@ class EntityActionInvocationBase {
|
|
|
22
22
|
* @param valueType
|
|
23
23
|
*/
|
|
24
24
|
FindActionParam(allParams, valueType) {
|
|
25
|
-
return allParams.find(
|
|
25
|
+
return allParams.find(p => p.ValueType.trim().toLowerCase() === valueType.trim().toLowerCase());
|
|
26
26
|
}
|
|
27
27
|
MapActionResultToEntityActionResult(result) {
|
|
28
28
|
return {
|
|
29
29
|
Success: result.Success,
|
|
30
30
|
Message: result.Message,
|
|
31
31
|
RunParams: result.RunParams,
|
|
32
|
-
LogEntry: result.LogEntry
|
|
32
|
+
LogEntry: result.LogEntry
|
|
33
33
|
};
|
|
34
34
|
}
|
|
35
35
|
/**
|
|
@@ -43,7 +43,7 @@ class EntityActionInvocationBase {
|
|
|
43
43
|
async MapParams(params, entityActionParams, entityObject) {
|
|
44
44
|
const returnValues = [];
|
|
45
45
|
for (const eap of entityActionParams) {
|
|
46
|
-
const param = params.find(
|
|
46
|
+
const param = params.find(p => p.ID === eap.ActionParamID);
|
|
47
47
|
let value = null;
|
|
48
48
|
switch (eap.ValueType) {
|
|
49
49
|
case 'Static':
|
|
@@ -68,7 +68,7 @@ class EntityActionInvocationBase {
|
|
|
68
68
|
returnValues.push({
|
|
69
69
|
Name: param.Name,
|
|
70
70
|
Value: value,
|
|
71
|
-
Type: param.Type
|
|
71
|
+
Type: param.Type
|
|
72
72
|
});
|
|
73
73
|
}
|
|
74
74
|
return returnValues;
|
|
@@ -83,7 +83,7 @@ class EntityActionInvocationBase {
|
|
|
83
83
|
async SafeEvalScript(EntityActionID, scriptText, entityObject) {
|
|
84
84
|
const entityActionContext = {
|
|
85
85
|
entityObject,
|
|
86
|
-
result: null
|
|
86
|
+
result: null
|
|
87
87
|
};
|
|
88
88
|
try {
|
|
89
89
|
let scriptFunction;
|
|
@@ -124,17 +124,17 @@ let EntityActionInvocationSingleRecord = class EntityActionInvocationSingleRecor
|
|
|
124
124
|
// get the class that is derived from BaseAction for the Action Name
|
|
125
125
|
await ActionEngine_1.ActionEngineServer.Instance.Config(false, params.ContextUser);
|
|
126
126
|
// prepare the variables for the action
|
|
127
|
-
const action = ActionEngine_1.ActionEngineServer.Instance.Actions.find(
|
|
127
|
+
const action = ActionEngine_1.ActionEngineServer.Instance.Actions.find(a => a.ID === params.EntityAction.ActionID);
|
|
128
128
|
const internalParams = await this.MapParams(action.Params, params.EntityAction.Params, params.EntityObject);
|
|
129
|
-
const filters = params.EntityAction.Filters.map(
|
|
130
|
-
const filter = ActionEngine_1.ActionEngineServer.Instance.ActionFilters.find(
|
|
129
|
+
const filters = params.EntityAction.Filters.map(f => {
|
|
130
|
+
const filter = ActionEngine_1.ActionEngineServer.Instance.ActionFilters.find(fi => fi.ID === f.ActionFilterID);
|
|
131
131
|
return filter;
|
|
132
132
|
});
|
|
133
133
|
const result = await ActionEngine_1.ActionEngineServer.Instance.RunAction({
|
|
134
134
|
Action: action,
|
|
135
135
|
ContextUser: params.ContextUser,
|
|
136
136
|
Filters: filters,
|
|
137
|
-
Params: internalParams
|
|
137
|
+
Params: internalParams
|
|
138
138
|
});
|
|
139
139
|
return result;
|
|
140
140
|
}
|
|
@@ -176,13 +176,13 @@ let EntityActionInvocationMultipleRecords = class EntityActionInvocationMultiple
|
|
|
176
176
|
return true;
|
|
177
177
|
}
|
|
178
178
|
async InvokeAction(params) {
|
|
179
|
-
// for this type of invocation we need to validate that we have either a list or a view
|
|
179
|
+
// for this type of invocation we need to validate that we have either a list or a view
|
|
180
180
|
if (this.ValidateParams(params)) {
|
|
181
181
|
// now do the work
|
|
182
182
|
// get the class that is derived from BaseAction for the Action Name
|
|
183
183
|
await ActionEngine_1.ActionEngineServer.Instance.Config(false, params.ContextUser);
|
|
184
184
|
// prepare the variables for the action
|
|
185
|
-
const action = ActionEngine_1.ActionEngineServer.Instance.Actions.find(
|
|
185
|
+
const action = ActionEngine_1.ActionEngineServer.Instance.Actions.find(a => a.ID === params.EntityAction.ActionID);
|
|
186
186
|
// get the priority sub-class for the SingleRecord invocation type that we need now
|
|
187
187
|
const invocationInstance = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(EntityActionInvocationBase, 'SingleRecord'); // get the single record class
|
|
188
188
|
if (!invocationInstance)
|
|
@@ -197,10 +197,10 @@ let EntityActionInvocationMultipleRecords = class EntityActionInvocationMultiple
|
|
|
197
197
|
results.push(result);
|
|
198
198
|
}
|
|
199
199
|
const consolidatedResult = {
|
|
200
|
-
Success: results.every(
|
|
201
|
-
Message: results.map(
|
|
200
|
+
Success: results.every(r => r.Success),
|
|
201
|
+
Message: results.map(r => r.Message).join('\n'),
|
|
202
202
|
RunParams: null,
|
|
203
|
-
LogEntry: null
|
|
203
|
+
LogEntry: null
|
|
204
204
|
};
|
|
205
205
|
return consolidatedResult;
|
|
206
206
|
}
|
|
@@ -225,16 +225,16 @@ let EntityActionInvocationValidate = class EntityActionInvocationValidate extend
|
|
|
225
225
|
if (this.ValidateParams(params)) {
|
|
226
226
|
// make sure the action engine is good to go, the below won't do anything if it was already configured
|
|
227
227
|
await ActionEngine_1.ActionEngineServer.Instance.Config(false, params.ContextUser);
|
|
228
|
-
const action = ActionEngine_1.ActionEngineServer.Instance.Actions.find(
|
|
228
|
+
const action = ActionEngine_1.ActionEngineServer.Instance.Actions.find(a => a.ID === params.EntityAction.ActionID);
|
|
229
229
|
const internalParams = await this.MapParams(action.Params, params.EntityAction.Params, params.EntityObject);
|
|
230
230
|
const result = await ActionEngine_1.ActionEngineServer.Instance.RunAction({
|
|
231
231
|
Action: action,
|
|
232
232
|
ContextUser: params.ContextUser,
|
|
233
|
-
Filters: params.EntityAction.Filters.map(
|
|
234
|
-
const filter = ActionEngine_1.ActionEngineServer.Instance.ActionFilters.find(
|
|
233
|
+
Filters: params.EntityAction.Filters.map(f => {
|
|
234
|
+
const filter = ActionEngine_1.ActionEngineServer.Instance.ActionFilters.find(fi => fi.ID === f.ActionFilterID);
|
|
235
235
|
return filter;
|
|
236
236
|
}),
|
|
237
|
-
Params: internalParams
|
|
237
|
+
Params: internalParams
|
|
238
238
|
});
|
|
239
239
|
return result;
|
|
240
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityActionInvocationTypes.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":";;;;;;;;;AAAA,mDAAgF;AAIhF,0DAA6D;AAE7D;;GAEG;AACH,MAAsB,0BAA0B;IAAhD;
|
|
1
|
+
{"version":3,"file":"EntityActionInvocationTypes.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ActionExecutionLogEntity, ActionFilterEntity } from
|
|
2
|
-
import { ActionEngineBase, ActionEntityExtended, ActionParam, ActionResult, RunActionParams } from
|
|
1
|
+
import { ActionExecutionLogEntity, ActionFilterEntity } from "@memberjunction/core-entities";
|
|
2
|
+
import { ActionEngineBase, ActionEntityExtended, ActionParam, ActionResult, RunActionParams } from "@memberjunction/actions-base";
|
|
3
3
|
/**
|
|
4
4
|
* Base class for executing actions. This class can be sub-classed if desired if you would like to modify the logic across ALL actions. To do so, sub-class this class and use the
|
|
5
5
|
* @RegisterClass decorator from the @memberjunction/global package to register your sub-class with the ClassFactory. This will cause your sub-class to be used instead of this base class when the Metadata object insantiates the ActionEngine.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAA6C,MAAM,+BAA+B,CAAC;AAGxI,OAAO,
|
|
1
|
+
{"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAA6C,MAAM,+BAA+B,CAAC;AAGxI,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY,EAAsB,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAItJ;;;GAGG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB;IAGrD,WAAkB,QAAQ,IAAI,kBAAkB,CAE/C;IAEY,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;IAuCtE,SAAS,CAAC,wBAAwB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW,EAAE;IAqC/E;;OAEG;cACa,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAIzE;;OAEG;cACa,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrE;;;;OAIG;cACa,eAAe,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC;cAKtF,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;cAuDjE,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,wBAAwB,CAAC;cAqBtG,YAAY,CAAC,SAAS,EAAE,wBAAwB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY;cAc/F,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAMxH"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ActionEngineServer = void 0;
|
|
4
|
+
const core_1 = require("@memberjunction/core");
|
|
4
5
|
const global_1 = require("@memberjunction/global");
|
|
5
|
-
const global_2 = require("@memberjunction/global");
|
|
6
6
|
const BaseAction_1 = require("./BaseAction");
|
|
7
7
|
const actions_base_1 = require("@memberjunction/actions-base");
|
|
8
8
|
/**
|
|
@@ -11,17 +11,17 @@ const actions_base_1 = require("@memberjunction/actions-base");
|
|
|
11
11
|
*/
|
|
12
12
|
class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
13
13
|
static get Instance() {
|
|
14
|
-
return super.getInstance(
|
|
14
|
+
return super.getInstance();
|
|
15
15
|
}
|
|
16
16
|
async RunAction(params) {
|
|
17
17
|
const validInputs = await this.ValidateInputs(params);
|
|
18
18
|
if (!validInputs) {
|
|
19
19
|
const result = {
|
|
20
20
|
Success: false,
|
|
21
|
-
Message:
|
|
21
|
+
Message: "Input validation failed. This is a failure condition.",
|
|
22
22
|
LogEntry: null,
|
|
23
23
|
Params: params.Params,
|
|
24
|
-
RunParams: params
|
|
24
|
+
RunParams: params
|
|
25
25
|
};
|
|
26
26
|
if (!params.SkipActionLog) {
|
|
27
27
|
result.LogEntry = await this.StartAndEndActionLog(params, result);
|
|
@@ -33,10 +33,10 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
33
33
|
// filters indicated we should NOT run this action
|
|
34
34
|
const result = {
|
|
35
35
|
Success: true,
|
|
36
|
-
Message:
|
|
36
|
+
Message: "Filters were run and the result indicated this action should not be executed. This is a Success condition as filters returning false is not considered an error.",
|
|
37
37
|
LogEntry: null, // initially null
|
|
38
38
|
Params: params.Params,
|
|
39
|
-
RunParams: params
|
|
39
|
+
RunParams: params
|
|
40
40
|
};
|
|
41
41
|
if (!params.SkipActionLog) {
|
|
42
42
|
result.LogEntry = await this.StartAndEndActionLog(params, result);
|
|
@@ -53,7 +53,7 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
53
53
|
value = param.DefaultValue;
|
|
54
54
|
break;
|
|
55
55
|
case 'Simple Object':
|
|
56
|
-
const jsonValue = (0,
|
|
56
|
+
const jsonValue = (0, global_1.SafeJSONParse)(param.DefaultValue);
|
|
57
57
|
if (jsonValue) {
|
|
58
58
|
value = jsonValue;
|
|
59
59
|
}
|
|
@@ -66,14 +66,14 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
66
66
|
value = param.DefaultValue;
|
|
67
67
|
break;
|
|
68
68
|
default:
|
|
69
|
-
(0,
|
|
69
|
+
(0, core_1.LogError)(`Unknown ValueType ${param.ValueType} for param ${param.Name} in action ${action.Name}`);
|
|
70
70
|
value = param.DefaultValue;
|
|
71
71
|
break;
|
|
72
72
|
}
|
|
73
73
|
return {
|
|
74
74
|
Name: param.Name,
|
|
75
75
|
Value: value,
|
|
76
|
-
Type: param.Type
|
|
76
|
+
Type: param.Type
|
|
77
77
|
};
|
|
78
78
|
});
|
|
79
79
|
return params;
|
|
@@ -90,7 +90,7 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
90
90
|
async RunFilters(params) {
|
|
91
91
|
if (params.Filters) {
|
|
92
92
|
for (let filter of params.Filters) {
|
|
93
|
-
if (!
|
|
93
|
+
if (!await this.RunSingleFilter(params, filter)) {
|
|
94
94
|
return false;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
@@ -104,7 +104,7 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
104
104
|
*/
|
|
105
105
|
async RunSingleFilter(params, filter) {
|
|
106
106
|
return true;
|
|
107
|
-
// temp stub above, replace with code that will run the filter
|
|
107
|
+
// temp stub above, replace with code that will run the filter
|
|
108
108
|
}
|
|
109
109
|
async InternalRunAction(params) {
|
|
110
110
|
// this is where the actual action code will be implemented
|
|
@@ -115,20 +115,21 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
115
115
|
logEntry = await this.StartActionLog(params);
|
|
116
116
|
}
|
|
117
117
|
try {
|
|
118
|
-
const action =
|
|
118
|
+
const action = global_1.MJGlobal.Instance.ClassFactory.CreateInstance(BaseAction_1.BaseAction, params.Action.DriverClass || params.Action.Name, params.ContextUser);
|
|
119
119
|
if (!action || action.constructor === BaseAction_1.BaseAction) {
|
|
120
120
|
throw new Error(`Could not find a class for action ${params.Action.Name}.`);
|
|
121
121
|
}
|
|
122
122
|
// we now have the action class for this particular action, so run it
|
|
123
123
|
const simpleResult = await action.Run(params);
|
|
124
|
-
const resultCodeEntity = this.ActionResultCodes.find(
|
|
124
|
+
const resultCodeEntity = this.ActionResultCodes.find(r => r.ActionID === params.Action.ID &&
|
|
125
|
+
r.ResultCode.trim().toLowerCase() === simpleResult.ResultCode.trim().toLowerCase());
|
|
125
126
|
const result = {
|
|
126
127
|
RunParams: params,
|
|
127
128
|
Success: simpleResult.Success,
|
|
128
129
|
Message: simpleResult.Message,
|
|
129
130
|
LogEntry: logEntry,
|
|
130
131
|
Params: simpleResult.Params || params.Params, // use the params from the simple result if provided, otherwise use the original params
|
|
131
|
-
Result: resultCodeEntity
|
|
132
|
+
Result: resultCodeEntity
|
|
132
133
|
};
|
|
133
134
|
if (logEntry) {
|
|
134
135
|
await this.EndActionLog(logEntry, params, result);
|
|
@@ -137,14 +138,14 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
137
138
|
}
|
|
138
139
|
catch (e) {
|
|
139
140
|
// if we get here, something went wrong in the action code
|
|
140
|
-
(0,
|
|
141
|
+
(0, core_1.LogError)(`Error running action ${params.Action.Name}:`, e);
|
|
141
142
|
const result = {
|
|
142
143
|
RunParams: params,
|
|
143
144
|
Success: false,
|
|
144
145
|
Message: `Error running action ${params.Action.Name}: ${e.message}`,
|
|
145
146
|
LogEntry: logEntry,
|
|
146
147
|
Params: params.Params,
|
|
147
|
-
Result: undefined
|
|
148
|
+
Result: undefined
|
|
148
149
|
};
|
|
149
150
|
if (logEntry) {
|
|
150
151
|
await this.EndActionLog(logEntry, params, result);
|
|
@@ -154,7 +155,7 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
154
155
|
}
|
|
155
156
|
async StartActionLog(params, saveRecord = true) {
|
|
156
157
|
// this is where the log entry for the action run will be created
|
|
157
|
-
const md = new
|
|
158
|
+
const md = new core_1.Metadata();
|
|
158
159
|
const logEntity = await md.GetEntityObject('Action Execution Logs', this.ContextUser);
|
|
159
160
|
logEntity.NewRecord();
|
|
160
161
|
logEntity.ActionID = params.Action.ID;
|
|
@@ -166,7 +167,7 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
166
167
|
// initial save so we persist that the action has started, unless the saveRecord parameter tells us not to save
|
|
167
168
|
const saveResult = await logEntity.Save();
|
|
168
169
|
if (!saveResult) {
|
|
169
|
-
(0,
|
|
170
|
+
(0, core_1.LogError)(`Failed to record start of action ${params.Action.Name}:`, undefined, logEntity.LatestResult);
|
|
170
171
|
}
|
|
171
172
|
}
|
|
172
173
|
return logEntity;
|
|
@@ -180,7 +181,7 @@ class ActionEngineServer extends actions_base_1.ActionEngineBase {
|
|
|
180
181
|
// save a second time to record the action ending
|
|
181
182
|
const saveResult = await logEntity.Save();
|
|
182
183
|
if (!saveResult) {
|
|
183
|
-
(0,
|
|
184
|
+
(0, core_1.LogError)(`Failed to record end of action ${params.Action.Name}:`, undefined, logEntity.LatestResult);
|
|
184
185
|
}
|
|
185
186
|
}
|
|
186
187
|
async StartAndEndActionLog(params, result) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseOAuthAction.d.ts","sourceRoot":"","sources":["../../src/generic/BaseOAuthAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAgC,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAE1H,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;GAIG;AACH,8BAAsB,eAAgB,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"BaseOAuthAction.d.ts","sourceRoot":"","sources":["../../src/generic/BaseOAuthAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,wBAAwB,EAAgC,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAE1H,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;GAIG;AACH,8BAAsB,eAAgB,SAAQ,UAAU;IACpD,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,mBAAmB,EAAE,wBAAwB,GAAG,IAAI,CAAQ;IACtE,SAAS,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI,CAAQ;IAExD;;OAEG;IACH,SAAS,KAAK,WAAW,IAAI,WAAW,EAAE,CAQzC;IAED;;OAEG;cACa,eAAe,CAAC,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkC/E;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,MAAM,GAAG,IAAI;IAIzC;;OAEG;IACH,SAAS,CAAC,eAAe,IAAI,MAAM,GAAG,IAAI;IAI1C;;OAEG;IACH,SAAS,CAAC,cAAc,IAAI,OAAO;IAanC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtD;;OAEG;cACa,wBAAwB,CAAC,CAAC,EACtC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,EACxC,kBAAkB,GAAE,OAAc,GACnC,OAAO,CAAC,CAAC,CAAC;IA0Bb;;;OAGG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO;IAuB1C;;OAEG;cACa,kBAAkB,CAC9B,WAAW,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,MAAM,EACrB,SAAS,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC;IAoBhB;;OAEG;IACH,SAAS,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI;IAO/E;;OAEG;cACa,kBAAkB,CAC9B,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAClC,KAAK,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAUhB;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,GAAG,GAAG,kBAAkB;CAgB7D"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BaseOAuthAction = void 0;
|
|
4
4
|
const BaseAction_1 = require("./BaseAction");
|
|
5
|
-
const
|
|
5
|
+
const core_1 = require("@memberjunction/core");
|
|
6
6
|
/**
|
|
7
7
|
* Base class for actions that require OAuth authentication.
|
|
8
8
|
* Provides common OAuth token management functionality including retrieval,
|
|
@@ -11,7 +11,7 @@ const global_1 = require("@memberjunction/global");
|
|
|
11
11
|
class BaseOAuthAction extends BaseAction_1.BaseAction {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
14
|
-
this._metadata = new
|
|
14
|
+
this._metadata = new core_1.Metadata();
|
|
15
15
|
this._companyIntegration = null;
|
|
16
16
|
this._integration = null;
|
|
17
17
|
}
|
|
@@ -23,8 +23,8 @@ class BaseOAuthAction extends BaseAction_1.BaseAction {
|
|
|
23
23
|
{
|
|
24
24
|
Name: 'CompanyIntegrationID',
|
|
25
25
|
Type: 'Input',
|
|
26
|
-
Value: null
|
|
27
|
-
}
|
|
26
|
+
Value: null
|
|
27
|
+
}
|
|
28
28
|
];
|
|
29
29
|
}
|
|
30
30
|
/**
|
|
@@ -37,13 +37,13 @@ class BaseOAuthAction extends BaseAction_1.BaseAction {
|
|
|
37
37
|
if (!ci) {
|
|
38
38
|
throw new Error('Failed to create CompanyIntegration entity object');
|
|
39
39
|
}
|
|
40
|
-
if (!
|
|
40
|
+
if (!await ci.Load(companyIntegrationId)) {
|
|
41
41
|
throw new Error(`Company integration not found: ${companyIntegrationId}`);
|
|
42
42
|
}
|
|
43
43
|
this._companyIntegration = ci;
|
|
44
44
|
// Load integration details
|
|
45
45
|
const integration = await this._metadata.GetEntityObject('Integrations');
|
|
46
|
-
if (!integration || !
|
|
46
|
+
if (!integration || !await integration.Load(ci.IntegrationID)) {
|
|
47
47
|
throw new Error(`Integration not found: ${ci.IntegrationID}`);
|
|
48
48
|
}
|
|
49
49
|
this._integration = integration;
|
|
@@ -54,7 +54,7 @@ class BaseOAuthAction extends BaseAction_1.BaseAction {
|
|
|
54
54
|
return true;
|
|
55
55
|
}
|
|
56
56
|
catch (error) {
|
|
57
|
-
(0,
|
|
57
|
+
(0, core_1.LogError)(`Failed to initialize OAuth: ${error.message}`);
|
|
58
58
|
return false;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -81,7 +81,7 @@ class BaseOAuthAction extends BaseAction_1.BaseAction {
|
|
|
81
81
|
const expiration = new Date(this._companyIntegration.TokenExpirationDate);
|
|
82
82
|
// Consider token expired if it expires in the next 5 minutes
|
|
83
83
|
const bufferTime = 5 * 60 * 1000; // 5 minutes in milliseconds
|
|
84
|
-
return expiration.getTime() - bufferTime <= now.getTime();
|
|
84
|
+
return (expiration.getTime() - bufferTime) <= now.getTime();
|
|
85
85
|
}
|
|
86
86
|
/**
|
|
87
87
|
* Make an authenticated API request with automatic retry on auth failure
|
|
@@ -97,7 +97,7 @@ class BaseOAuthAction extends BaseAction_1.BaseAction {
|
|
|
97
97
|
catch (error) {
|
|
98
98
|
// Check if error is due to invalid/expired token
|
|
99
99
|
if (retryOnAuthFailure && this.isAuthError(error)) {
|
|
100
|
-
(0,
|
|
100
|
+
(0, core_1.LogStatus)('Token appears invalid, attempting refresh...');
|
|
101
101
|
await this.refreshAccessToken();
|
|
102
102
|
const newToken = this.getAccessToken();
|
|
103
103
|
if (!newToken) {
|
|
@@ -115,13 +115,21 @@ class BaseOAuthAction extends BaseAction_1.BaseAction {
|
|
|
115
115
|
*/
|
|
116
116
|
isAuthError(error) {
|
|
117
117
|
// Common OAuth error indicators
|
|
118
|
-
const authErrorPatterns = [
|
|
118
|
+
const authErrorPatterns = [
|
|
119
|
+
'unauthorized',
|
|
120
|
+
'invalid_token',
|
|
121
|
+
'expired_token',
|
|
122
|
+
'invalid_grant',
|
|
123
|
+
'401',
|
|
124
|
+
'forbidden',
|
|
125
|
+
'authentication'
|
|
126
|
+
];
|
|
119
127
|
const errorMessage = error?.message?.toLowerCase() || '';
|
|
120
128
|
const errorCode = error?.code?.toLowerCase() || '';
|
|
121
129
|
const statusCode = error?.response?.status || error?.statusCode;
|
|
122
|
-
return
|
|
130
|
+
return statusCode === 401 ||
|
|
123
131
|
statusCode === 403 ||
|
|
124
|
-
authErrorPatterns.some(
|
|
132
|
+
authErrorPatterns.some(pattern => errorMessage.includes(pattern) || errorCode.includes(pattern));
|
|
125
133
|
}
|
|
126
134
|
/**
|
|
127
135
|
* Update stored tokens after refresh
|
|
@@ -169,14 +177,14 @@ class BaseOAuthAction extends BaseAction_1.BaseAction {
|
|
|
169
177
|
return {
|
|
170
178
|
Success: false,
|
|
171
179
|
Message: 'Authentication failed. Token may be expired or revoked.',
|
|
172
|
-
ResultCode: 'INVALID_TOKEN'
|
|
180
|
+
ResultCode: 'INVALID_TOKEN'
|
|
173
181
|
};
|
|
174
182
|
}
|
|
175
183
|
// Let base class handle other errors
|
|
176
184
|
return {
|
|
177
185
|
Success: false,
|
|
178
186
|
Message: error instanceof Error ? error.message : 'Unknown error occurred',
|
|
179
|
-
ResultCode: 'ERROR'
|
|
187
|
+
ResultCode: 'ERROR'
|
|
180
188
|
};
|
|
181
189
|
}
|
|
182
190
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseOAuthAction.js","sourceRoot":"","sources":["../../src/generic/BaseOAuthAction.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAG1C
|
|
1
|
+
{"version":3,"file":"BaseOAuthAction.js","sourceRoot":"","sources":["../../src/generic/BaseOAuthAction.ts"],"names":[],"mappings":"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"}
|
package/dist/generic/test.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
/*
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
import { Metadata, RunView, BaseEntity } from "@memberjunction/
|
|
4
|
+
import { Metadata, RunView, BaseEntity } from "@memberjunction/core";
|
|
5
5
|
import { ActionResult } from "@memberjunction/actions-base";
|
|
6
6
|
|
|
7
7
|
async function test(params: any) {
|
|
8
8
|
// Create an instance of Metadata to interact with entities.
|
|
9
9
|
const md = new Metadata();
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
// Create an instance of RunView to retrieve multiple records from the 'Pending Accounts' entity.
|
|
12
12
|
const rv = new RunView();
|
|
13
|
-
|
|
13
|
+
|
|
14
14
|
// Fetch all the records from the 'Pending Accounts' entity as BaseEntity objects.
|
|
15
15
|
const pendingAccounts = await rv.RunView({
|
|
16
16
|
EntityName: 'PendingAccounts',
|
|
17
17
|
ResultType: 'entity_object'
|
|
18
18
|
}, params.userInfo);
|
|
19
|
-
|
|
19
|
+
|
|
20
20
|
// Iterate over each record.
|
|
21
21
|
for (const account of pendingAccounts.Results) {
|
|
22
22
|
// If the Status is 'Pending'
|
|
@@ -27,15 +27,15 @@ import { ActionResult } from "@memberjunction/actions-base";
|
|
|
27
27
|
// Change the Status to 'Completed'.
|
|
28
28
|
account.Status = 'Completed';
|
|
29
29
|
}
|
|
30
|
-
|
|
30
|
+
|
|
31
31
|
// Add a fun comment to the Comments field in each record.
|
|
32
32
|
account.Comments = 'Keep up the good work!';
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
// Save the updated record back to the database.
|
|
35
35
|
await account.Save();
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
|
|
39
39
|
|
|
40
40
|
|
|
41
41
|
async function test2(params: any) {
|
|
@@ -69,5 +69,5 @@ import { ActionResult } from "@memberjunction/actions-base";
|
|
|
69
69
|
};
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
|
-
*/
|
|
72
|
+
*/
|
|
73
73
|
//# sourceMappingURL=test.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/actions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.113.1",
|
|
4
4
|
"description": "Main library for MemberJunction Actions. This library is only intended to be imported on the server side.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -19,14 +19,15 @@
|
|
|
19
19
|
"typescript": "^5.4.5"
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@memberjunction/global": "2.
|
|
23
|
-
"@memberjunction/
|
|
24
|
-
"@memberjunction/
|
|
25
|
-
"@memberjunction/
|
|
26
|
-
"@memberjunction/ai
|
|
27
|
-
"@memberjunction/
|
|
28
|
-
"@memberjunction/
|
|
29
|
-
"@memberjunction/
|
|
22
|
+
"@memberjunction/global": "2.113.1",
|
|
23
|
+
"@memberjunction/core": "2.113.1",
|
|
24
|
+
"@memberjunction/actions-base": "2.113.1",
|
|
25
|
+
"@memberjunction/core-entities": "2.113.1",
|
|
26
|
+
"@memberjunction/ai": "2.113.1",
|
|
27
|
+
"@memberjunction/ai-core-plus": "2.113.1",
|
|
28
|
+
"@memberjunction/aiengine": "2.113.1",
|
|
29
|
+
"@memberjunction/ai-prompts": "2.113.1",
|
|
30
|
+
"@memberjunction/doc-utils": "2.113.1"
|
|
30
31
|
},
|
|
31
32
|
"repository": {
|
|
32
33
|
"type": "git",
|
package/readme.md
CHANGED
|
@@ -412,7 +412,7 @@ Example workflow:
|
|
|
412
412
|
|
|
413
413
|
4. **Logging**: The framework automatically logs action executions, but include additional logging for debugging:
|
|
414
414
|
```typescript
|
|
415
|
-
import { LogError, LogStatus } from '@memberjunction/
|
|
415
|
+
import { LogError, LogStatus } from '@memberjunction/core';
|
|
416
416
|
|
|
417
417
|
LogStatus('Starting custom action processing...');
|
|
418
418
|
```
|
|
@@ -482,4 +482,4 @@ Entity actions support dynamic script evaluation for parameter mapping:
|
|
|
482
482
|
|
|
483
483
|
## License
|
|
484
484
|
|
|
485
|
-
This package is part of the MemberJunction ecosystem. See the main repository for license information.
|
|
485
|
+
This package is part of the MemberJunction ecosystem. See the main repository for license information.
|