@memberjunction/actions 4.3.1 → 5.0.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/entity-actions/EntityActionInvocationTypes.d.ts +3 -3
- package/dist/entity-actions/EntityActionInvocationTypes.d.ts.map +1 -1
- package/dist/entity-actions/EntityActionInvocationTypes.js.map +1 -1
- package/dist/generic/ActionEngine.d.ts +5 -5
- package/dist/generic/ActionEngine.d.ts.map +1 -1
- package/dist/generic/ActionEngine.js +1 -1
- package/dist/generic/ActionEngine.js.map +1 -1
- package/dist/generic/BaseActionFilter.d.ts +3 -3
- package/dist/generic/BaseActionFilter.d.ts.map +1 -1
- package/dist/generic/BaseActionFilter.js.map +1 -1
- package/dist/generic/BaseOAuthAction.d.ts +3 -3
- package/dist/generic/BaseOAuthAction.d.ts.map +1 -1
- package/dist/generic/BaseOAuthAction.js +2 -2
- package/dist/generic/BaseOAuthAction.js.map +1 -1
- package/package.json +10 -10
- package/README.md +0 -416
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MJActionParamEntity, MJEntityActionParamEntity } from "@memberjunction/core-entities";
|
|
2
2
|
import { BaseEntity } from "@memberjunction/core";
|
|
3
3
|
import { ActionParam, ActionResult, EntityActionInvocationParams, EntityActionResult } from "@memberjunction/actions-base";
|
|
4
4
|
/**
|
|
@@ -11,7 +11,7 @@ export declare abstract class EntityActionInvocationBase {
|
|
|
11
11
|
* @param allParams
|
|
12
12
|
* @param valueType
|
|
13
13
|
*/
|
|
14
|
-
FindActionParam(allParams:
|
|
14
|
+
FindActionParam(allParams: MJActionParamEntity[], valueType: "Scalar" | "Simple Object" | "BaseEntity Sub-Class" | "Other"): MJActionParamEntity;
|
|
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
|
|
@@ -21,7 +21,7 @@ export declare abstract class EntityActionInvocationBase {
|
|
|
21
21
|
* @param entityObject
|
|
22
22
|
* @returns
|
|
23
23
|
*/
|
|
24
|
-
MapParams(params:
|
|
24
|
+
MapParams(params: MJActionParamEntity[], entityActionParams: MJEntityActionParamEntity[], entityObject: BaseEntity): Promise<ActionParam[]>;
|
|
25
25
|
private _scriptCache;
|
|
26
26
|
/**
|
|
27
27
|
* Attempt to execute a script and wraps in try/catch to handle any errors so that no exceptions are thrown
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityActionInvocationTypes.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"EntityActionInvocationTypes.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/F,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,mBAAmB,EAAE,EAAE,SAAS,EAAE,QAAQ,GAAG,eAAe,GAAG,sBAAsB,GAAG,OAAO,GAAG,mBAAmB;IAIhJ,mCAAmC,CAAC,MAAM,EAAE,YAAY,GAAG,kBAAkB;IASpF;;;;;;;OAOG;IACU,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAuCxJ,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;CA4BlH;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityActionInvocationTypes.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAIhF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;GAEG;AACH,MAAM,OAAgB,0BAA0B;IAAhD;QAoEY,iBAAY,GAA0B,IAAI,GAAG,EAAoB,CAAC;IAqC9E,CAAC;IAtGG;;;;OAIG;IACI,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"EntityActionInvocationTypes.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MJActionExecutionLogEntity, MJActionFilterEntity } from "@memberjunction/core-entities";
|
|
2
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
|
|
@@ -21,10 +21,10 @@ export declare class ActionEngineServer extends ActionEngineBase {
|
|
|
21
21
|
*
|
|
22
22
|
* @param filter
|
|
23
23
|
*/
|
|
24
|
-
protected RunSingleFilter(params: RunActionParams, filter:
|
|
24
|
+
protected RunSingleFilter(params: RunActionParams, filter: MJActionFilterEntity): Promise<boolean>;
|
|
25
25
|
protected InternalRunAction(params: RunActionParams): Promise<ActionResult>;
|
|
26
|
-
protected StartActionLog(params: RunActionParams, saveRecord?: boolean): Promise<
|
|
27
|
-
protected EndActionLog(logEntity:
|
|
28
|
-
protected StartAndEndActionLog(params: RunActionParams, result: ActionResult): Promise<
|
|
26
|
+
protected StartActionLog(params: RunActionParams, saveRecord?: boolean): Promise<MJActionExecutionLogEntity>;
|
|
27
|
+
protected EndActionLog(logEntity: MJActionExecutionLogEntity, params: RunActionParams, result: ActionResult): Promise<void>;
|
|
28
|
+
protected StartAndEndActionLog(params: RunActionParams, result: ActionResult): Promise<MJActionExecutionLogEntity>;
|
|
29
29
|
}
|
|
30
30
|
//# sourceMappingURL=ActionEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAiD,MAAM,+BAA+B,CAAC;AAGhJ,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,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;cAKxF,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,YAAY,CAAC;cAuDjE,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,UAAU,GAAE,OAAc,GAAG,OAAO,CAAC,0BAA0B,CAAC;cAqBxG,YAAY,CAAC,SAAS,EAAE,0BAA0B,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY;cAcjG,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,0BAA0B,CAAC;CAM1H"}
|
|
@@ -153,7 +153,7 @@ export class ActionEngineServer extends ActionEngineBase {
|
|
|
153
153
|
async StartActionLog(params, saveRecord = true) {
|
|
154
154
|
// this is where the log entry for the action run will be created
|
|
155
155
|
const md = new Metadata();
|
|
156
|
-
const logEntity = await md.GetEntityObject('Action Execution Logs', this.ContextUser);
|
|
156
|
+
const logEntity = await md.GetEntityObject('MJ: Action Execution Logs', this.ContextUser);
|
|
157
157
|
logEntity.NewRecord();
|
|
158
158
|
logEntity.ActionID = params.Action.ID;
|
|
159
159
|
logEntity.StartedAt = new Date();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAwF,MAAM,8BAA8B,CAAC;AAItJ;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAG9C,MAAM,KAAK,QAAQ;QACvB,OAAO,KAAK,CAAC,WAAW,EAAsB,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAuB;QAC3C,MAAM,WAAW,GAAY,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAG,CAAC,WAAW,EAAC,CAAC;YACd,MAAM,MAAM,GAAiB;gBAC1B,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uDAAuD;gBAChE,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM;aACnB,CAAC;YAEF,IAAG,CAAC,MAAM,CAAC,aAAa,EAAC,CAAC;gBACvB,MAAM,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,MAAM,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAY,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAG,CAAC,aAAa,EAAC,CAAC;YAChB,kDAAkD;YAClD,MAAM,MAAM,GAAiB;gBAC1B,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,kKAAkK;gBAC3K,QAAQ,EAAE,IAAI,EAAE,iBAAiB;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM;aACnB,CAAC;YAEF,IAAG,CAAC,MAAM,CAAC,aAAa,EAAC,CAAC;gBACvB,MAAM,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrE,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,eAAe,CAAC;IAC1B,CAAC;IAGS,wBAAwB,CAAC,MAA4B;QAC5D,MAAM,MAAM,GAAkB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAwF,MAAM,8BAA8B,CAAC;AAItJ;;;GAGG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAG9C,MAAM,KAAK,QAAQ;QACvB,OAAO,KAAK,CAAC,WAAW,EAAsB,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAuB;QAC3C,MAAM,WAAW,GAAY,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAG,CAAC,WAAW,EAAC,CAAC;YACd,MAAM,MAAM,GAAiB;gBAC1B,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,uDAAuD;gBAChE,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM;aACnB,CAAC;YAEF,IAAG,CAAC,MAAM,CAAC,aAAa,EAAC,CAAC;gBACvB,MAAM,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,MAAM,CAAC;QACjB,CAAC;QAED,MAAM,aAAa,GAAY,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC7D,IAAG,CAAC,aAAa,EAAC,CAAC;YAChB,kDAAkD;YAClD,MAAM,MAAM,GAAiB;gBAC1B,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,kKAAkK;gBAC3K,QAAQ,EAAE,IAAI,EAAE,iBAAiB;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM;aACnB,CAAC;YAEF,IAAG,CAAC,MAAM,CAAC,aAAa,EAAC,CAAC;gBACvB,MAAM,CAAC,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;YACrE,CAAC;QACJ,CAAC;QAED,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC7D,OAAO,eAAe,CAAC;IAC1B,CAAC;IAGS,wBAAwB,CAAC,MAA4B;QAC5D,MAAM,MAAM,GAAkB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAA0B,EAAE,EAAE;YAC5E,IAAI,KAAK,GAAQ,IAAI,CAAC;YACtB,QAAQ,KAAK,CAAC,SAAS,EAAE,CAAC;gBACvB,KAAK,QAAQ;oBACV,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC3B,MAAM;gBACT,KAAK,eAAe;oBACjB,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACpD,IAAI,SAAS,EAAC,CAAC;wBACZ,KAAK,GAAG,SAAS,CAAC;oBACrB,CAAC;yBACG,CAAC;wBACF,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC9B,CAAC;oBACD,MAAM;gBACT,KAAK,sBAAsB,CAAC;gBAC5B,KAAK,OAAO;oBACT,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC3B,MAAM;gBACT;oBACG,QAAQ,CAAC,qBAAqB,KAAK,CAAC,SAAS,cAAc,KAAK,CAAC,IAAI,cAAc,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;oBAClG,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC;oBAC3B,MAAM;YAEZ,CAAC;YAED,OAAO;gBACJ,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;aAClB,CAAA;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IACjB,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,cAAc,CAAC,MAAuB;QACnD,OAAO,IAAI,CAAC;IACf,CAAC;IAED;;OAEG;IACO,KAAK,CAAC,UAAU,CAAC,MAAuB;QAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,KAAK,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;oBAC/C,OAAO,KAAK,CAAC;gBAChB,CAAC;YACJ,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,CAAC,6DAA6D;IAC7E,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,eAAe,CAAC,MAAuB,EAAE,MAA4B;QAClF,OAAO,IAAI,CAAC;QACZ,oEAAoE;IACvE,CAAC;IAES,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACtD,2DAA2D;QAC3D,qFAAqF;QACrF,qBAAqB;QACrB,IAAI,QAAgD,CAAC;QACrD,IAAG,CAAC,MAAM,CAAC,aAAa,EAAC,CAAC;YACvB,QAAQ,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC;YACF,MAAM,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAAa,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;YAC1J,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;gBAChD,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;YAC/E,CAAC;YAED,qEAAqE;YACrE,MAAM,YAAY,GAAuB,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAElE,MAAM,gBAAgB,GAAyC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE;gBACzE,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1I,MAAM,MAAM,GAAiB;gBAC1B,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,OAAO,EAAE,YAAY,CAAC,OAAO;gBAC7B,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,YAAY,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,uFAAuF;gBACrI,MAAM,EAAE,gBAAgB;aAC1B,CAAC;YAEF,IAAG,QAAQ,EAAC,CAAC;gBACV,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,MAAM,CAAC;QACjB,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACR,0DAA0D;YAC1D,QAAQ,CAAC,wBAAwB,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAiB;gBAC1B,SAAS,EAAE,MAAM;gBACjB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,wBAAwB,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE;gBACnE,QAAQ,EAAE,QAAQ;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,SAAS;aACnB,CAAC;YAEF,IAAG,QAAQ,EAAC,CAAC;gBACV,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YACrD,CAAC;YAED,OAAO,MAAM,CAAC;QACjB,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,cAAc,CAAC,MAAuB,EAAE,aAAsB,IAAI;QAC/E,iEAAiE;QACjE,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC1B,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,eAAe,CAA6B,2BAA2B,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QACtH,SAAS,CAAC,SAAS,EAAE,CAAC;QACtB,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QACtC,SAAS,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;QACjC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,qHAAqH;QACrH,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEjD,IAAI,UAAU,EAAC,CAAC;YACb,+GAA+G;YAC/G,MAAM,UAAU,GAAY,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;YACnD,IAAG,CAAC,UAAU,EAAC,CAAC;gBACb,QAAQ,CAAC,oCAAoC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;YAC1G,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACpB,CAAC;IACS,KAAK,CAAC,YAAY,CAAC,SAAqC,EAAE,MAAuB,EAAE,MAAoB;QAC9G,iEAAiE;QACjE,SAAS,CAAC,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC;QAC/B,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjD,SAAS,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;QACjD,SAAS,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAEnC,iDAAiD;QACjD,MAAM,UAAU,GAAY,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACnD,IAAG,CAAC,UAAU,EAAC,CAAC;YACb,QAAQ,CAAC,kCAAkC,MAAM,CAAC,MAAM,CAAC,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC;QACxG,CAAC;IACJ,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,MAAuB,EAAE,MAAoB;QAC/E,4BAA4B;QAC5B,MAAM,SAAS,GAA+B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvF,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACnD,OAAO,SAAS,CAAC;IACpB,CAAC;CACH"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MJActionFilterEntity } from "@memberjunction/core-entities";
|
|
2
2
|
import { RunActionParams } from "@memberjunction/actions-base";
|
|
3
3
|
/**
|
|
4
4
|
* This is the base class for executing filters to determine if an action should be run. The CodeGen tool generates sub-classes of this class for each Action Filter in the system. The code injected into the
|
|
@@ -10,11 +10,11 @@ export declare abstract class BaseActionFilter {
|
|
|
10
10
|
/**
|
|
11
11
|
* Runs the filter logic for the given filter and params and returns true if the filter condition is met, false otherwise.
|
|
12
12
|
*/
|
|
13
|
-
Run(params: RunActionParams, filter:
|
|
13
|
+
Run(params: RunActionParams, filter: MJActionFilterEntity): Promise<boolean>;
|
|
14
14
|
/**
|
|
15
15
|
* This method is implemented by the auto-generated sub-class for this filter. In the auto-generated sub-classes for each Action Filter,
|
|
16
16
|
* the CodeGen tool will implement this method and insert into it the logic for the filter.
|
|
17
17
|
*/
|
|
18
|
-
protected abstract InternalRun(params: RunActionParams, filter:
|
|
18
|
+
protected abstract InternalRun(params: RunActionParams, filter: MJActionFilterEntity): Promise<boolean>;
|
|
19
19
|
}
|
|
20
20
|
//# sourceMappingURL=BaseActionFilter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseActionFilter.d.ts","sourceRoot":"","sources":["../../src/generic/BaseActionFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BaseActionFilter.d.ts","sourceRoot":"","sources":["../../src/generic/BaseActionFilter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D;;;;;GAKG;AACH,8BAAsB,gBAAgB;IAClC;;OAEG;IACU,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;IAMzF;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;CAC1G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseActionFilter.js","sourceRoot":"","sources":["../../src/generic/BaseActionFilter.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,OAAgB,gBAAgB;IAClC;;OAEG;IACI,KAAK,CAAC,GAAG,CAAC,MAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"BaseActionFilter.js","sourceRoot":"","sources":["../../src/generic/BaseActionFilter.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,OAAgB,gBAAgB;IAClC;;OAEG;IACI,KAAK,CAAC,GAAG,CAAC,MAAuB,EAAE,MAA4B;QAClE,wHAAwH;QACxH,8HAA8H;QAC9H,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;CAOJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BaseAction } from './BaseAction.js';
|
|
2
2
|
import { ActionParam } from '@memberjunction/actions-base';
|
|
3
|
-
import {
|
|
3
|
+
import { MJCompanyIntegrationEntity, MJIntegrationEntity } from '@memberjunction/core-entities';
|
|
4
4
|
import { ActionResultSimple } from '@memberjunction/actions-base';
|
|
5
5
|
/**
|
|
6
6
|
* Base class for actions that require OAuth authentication.
|
|
@@ -9,8 +9,8 @@ import { ActionResultSimple } from '@memberjunction/actions-base';
|
|
|
9
9
|
*/
|
|
10
10
|
export declare abstract class BaseOAuthAction extends BaseAction {
|
|
11
11
|
private _metadata;
|
|
12
|
-
protected _companyIntegration:
|
|
13
|
-
protected _integration:
|
|
12
|
+
protected _companyIntegration: MJCompanyIntegrationEntity | null;
|
|
13
|
+
protected _integration: MJIntegrationEntity | null;
|
|
14
14
|
/**
|
|
15
15
|
* OAuth-specific parameters that all OAuth actions should include
|
|
16
16
|
*/
|
|
@@ -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,
|
|
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,0BAA0B,EAAkC,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEhI,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;GAIG;AACH,8BAAsB,eAAgB,SAAQ,UAAU;IACpD,OAAO,CAAC,SAAS,CAA4B;IAC7C,SAAS,CAAC,mBAAmB,EAAE,0BAA0B,GAAG,IAAI,CAAQ;IACxE,SAAS,CAAC,YAAY,EAAE,mBAAmB,GAAG,IAAI,CAAQ;IAE1D;;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"}
|
|
@@ -30,7 +30,7 @@ export class BaseOAuthAction extends BaseAction {
|
|
|
30
30
|
async initializeOAuth(companyIntegrationId) {
|
|
31
31
|
try {
|
|
32
32
|
// Load company integration
|
|
33
|
-
const ci = await this._metadata.GetEntityObject('Company Integrations');
|
|
33
|
+
const ci = await this._metadata.GetEntityObject('MJ: Company Integrations');
|
|
34
34
|
if (!ci) {
|
|
35
35
|
throw new Error('Failed to create CompanyIntegration entity object');
|
|
36
36
|
}
|
|
@@ -39,7 +39,7 @@ export class BaseOAuthAction extends BaseAction {
|
|
|
39
39
|
}
|
|
40
40
|
this._companyIntegration = ci;
|
|
41
41
|
// Load integration details
|
|
42
|
-
const integration = await this._metadata.GetEntityObject('Integrations');
|
|
42
|
+
const integration = await this._metadata.GetEntityObject('MJ: Integrations');
|
|
43
43
|
if (!integration || !await integration.Load(ci.IntegrationID)) {
|
|
44
44
|
throw new Error(`Integration not found: ${ci.IntegrationID}`);
|
|
45
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseOAuthAction.js","sourceRoot":"","sources":["../../src/generic/BaseOAuthAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAG1C,OAAO,EAAE,QAAQ,EAAW,QAAQ,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG9E;;;;GAIG;AACH,MAAM,OAAgB,eAAgB,SAAQ,UAAU;IAAxD;;QACY,cAAS,GAAa,IAAI,QAAQ,EAAE,CAAC;QACnC,wBAAmB,
|
|
1
|
+
{"version":3,"file":"BaseOAuthAction.js","sourceRoot":"","sources":["../../src/generic/BaseOAuthAction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/actions",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "5.0.0",
|
|
5
5
|
"description": "Main library for MemberJunction Actions. This library is only intended to be imported on the server side.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -20,15 +20,15 @@
|
|
|
20
20
|
"typescript": "^5.9.3"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@memberjunction/global": "
|
|
24
|
-
"@memberjunction/core": "
|
|
25
|
-
"@memberjunction/actions-base": "
|
|
26
|
-
"@memberjunction/core-entities": "
|
|
27
|
-
"@memberjunction/ai": "
|
|
28
|
-
"@memberjunction/ai-core-plus": "
|
|
29
|
-
"@memberjunction/aiengine": "
|
|
30
|
-
"@memberjunction/ai-prompts": "
|
|
31
|
-
"@memberjunction/doc-utils": "
|
|
23
|
+
"@memberjunction/global": "5.0.0",
|
|
24
|
+
"@memberjunction/core": "5.0.0",
|
|
25
|
+
"@memberjunction/actions-base": "5.0.0",
|
|
26
|
+
"@memberjunction/core-entities": "5.0.0",
|
|
27
|
+
"@memberjunction/ai": "5.0.0",
|
|
28
|
+
"@memberjunction/ai-core-plus": "5.0.0",
|
|
29
|
+
"@memberjunction/aiengine": "5.0.0",
|
|
30
|
+
"@memberjunction/ai-prompts": "5.0.0",
|
|
31
|
+
"@memberjunction/doc-utils": "5.0.0"
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|
package/README.md
DELETED
|
@@ -1,416 +0,0 @@
|
|
|
1
|
-
# @memberjunction/actions
|
|
2
|
-
|
|
3
|
-
Server-side action execution engine for MemberJunction. This package provides the runtime infrastructure for executing actions — including input validation, filter evaluation, ClassFactory-based action dispatch, execution logging, OAuth token management, and entity-bound action invocation. It is intended for server-side use only.
|
|
4
|
-
|
|
5
|
-
## Installation
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
npm install @memberjunction/actions
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Overview
|
|
12
|
-
|
|
13
|
-
The Actions Engine sits between external consumers (AI agents, workflows, APIs) and the actual action implementations registered via `@RegisterClass`. It handles the full execution lifecycle: validating inputs, running pre-execution filters, dispatching to the correct `BaseAction` subclass via ClassFactory, and logging results.
|
|
14
|
-
|
|
15
|
-
The package contains two subsystems:
|
|
16
|
-
|
|
17
|
-
- **Generic Action Engine** — Executes standalone actions with validation, filtering, and logging
|
|
18
|
-
- **Entity Action Engine** — Executes actions bound to entity records, supporting CRUD lifecycle hooks, list/view batch operations, and record validation
|
|
19
|
-
|
|
20
|
-
```mermaid
|
|
21
|
-
flowchart TD
|
|
22
|
-
subgraph Consumers["External Consumers"]
|
|
23
|
-
Agent["AI Agents"]
|
|
24
|
-
WF["Workflows"]
|
|
25
|
-
API["GraphQL API"]
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
subgraph Engine["@memberjunction/actions"]
|
|
29
|
-
AES["ActionEngineServer"]
|
|
30
|
-
EAES["EntityActionEngineServer"]
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
subgraph Pipeline["Execution Pipeline"]
|
|
34
|
-
Validate["Validate Inputs"]
|
|
35
|
-
Filter["Run Filters"]
|
|
36
|
-
Dispatch["ClassFactory Dispatch"]
|
|
37
|
-
Log["Execution Logging"]
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
subgraph Actions["Registered Actions"]
|
|
41
|
-
BA["BaseAction Subclasses"]
|
|
42
|
-
OAuth["BaseOAuthAction Subclasses"]
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
Consumers --> Engine
|
|
46
|
-
AES --> Validate --> Filter --> Dispatch --> Log
|
|
47
|
-
Dispatch --> BA
|
|
48
|
-
Dispatch --> OAuth
|
|
49
|
-
EAES --> AES
|
|
50
|
-
|
|
51
|
-
style Consumers fill:#2d6a9f,stroke:#1a4971,color:#fff
|
|
52
|
-
style Engine fill:#7c5295,stroke:#563a6b,color:#fff
|
|
53
|
-
style Pipeline fill:#2d8659,stroke:#1a5c3a,color:#fff
|
|
54
|
-
style Actions fill:#b8762f,stroke:#8a5722,color:#fff
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
## Key Features
|
|
58
|
-
|
|
59
|
-
- **Action Execution Pipeline** — Validates inputs, evaluates filters, dispatches via ClassFactory, and logs all executions
|
|
60
|
-
- **ClassFactory Dispatch** — Looks up `BaseAction` subclasses by `DriverClass` or action name at runtime
|
|
61
|
-
- **Pre-Execution Filters** — `BaseActionFilter` subclasses can gate whether an action should run
|
|
62
|
-
- **Execution Logging** — Automatic start/end logging to `Action Execution Logs` entity with params and result codes
|
|
63
|
-
- **OAuth Token Management** — `BaseOAuthAction` provides token lifecycle (refresh, retry on auth failure, persistence)
|
|
64
|
-
- **OAuth2Manager** — Standalone OAuth2 client supporting authorization code, client credentials, and refresh token flows
|
|
65
|
-
- **Entity Action Invocation** — Bind actions to entity CRUD lifecycle events (BeforeCreate, AfterUpdate, etc.)
|
|
66
|
-
- **Batch Entity Actions** — Run actions against Lists or Views of records with consolidated results
|
|
67
|
-
- **Script Evaluation** — Entity action params support runtime script evaluation with entity context
|
|
68
|
-
|
|
69
|
-
## Usage
|
|
70
|
-
|
|
71
|
-
### Running a Standalone Action
|
|
72
|
-
|
|
73
|
-
```typescript
|
|
74
|
-
import { ActionEngineServer } from '@memberjunction/actions';
|
|
75
|
-
|
|
76
|
-
// Configure the engine (typically done once at startup)
|
|
77
|
-
await ActionEngineServer.Instance.Config(false, contextUser);
|
|
78
|
-
|
|
79
|
-
// Find the action by name
|
|
80
|
-
const action = ActionEngineServer.Instance.Actions.find(a => a.Name === 'Send Email');
|
|
81
|
-
|
|
82
|
-
// Execute it
|
|
83
|
-
const result = await ActionEngineServer.Instance.RunAction({
|
|
84
|
-
Action: action,
|
|
85
|
-
ContextUser: contextUser,
|
|
86
|
-
Params: [
|
|
87
|
-
{ Name: 'to', Value: 'user@example.com', Type: 'Input' },
|
|
88
|
-
{ Name: 'subject', Value: 'Hello', Type: 'Input' },
|
|
89
|
-
{ Name: 'body', Value: 'Message content', Type: 'Input' }
|
|
90
|
-
],
|
|
91
|
-
Filters: []
|
|
92
|
-
});
|
|
93
|
-
|
|
94
|
-
if (result.Success) {
|
|
95
|
-
console.log('Action completed:', result.Message);
|
|
96
|
-
} else {
|
|
97
|
-
console.error('Action failed:', result.Message);
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### Creating a Custom Action
|
|
102
|
-
|
|
103
|
-
All actions extend `BaseAction` and implement `InternalRunAction`. Register them with `@RegisterClass` so the engine can discover them via ClassFactory:
|
|
104
|
-
|
|
105
|
-
```typescript
|
|
106
|
-
import { RegisterClass } from '@memberjunction/global';
|
|
107
|
-
import { BaseAction } from '@memberjunction/actions';
|
|
108
|
-
import { RunActionParams, ActionResultSimple } from '@memberjunction/actions-base';
|
|
109
|
-
|
|
110
|
-
@RegisterClass(BaseAction, 'My Custom Action')
|
|
111
|
-
export class MyCustomAction extends BaseAction {
|
|
112
|
-
protected async InternalRunAction(params: RunActionParams): Promise<ActionResultSimple> {
|
|
113
|
-
const inputValue = params.Params.find(p => p.Name === 'input')?.Value;
|
|
114
|
-
|
|
115
|
-
// Your action logic here
|
|
116
|
-
const result = await this.doWork(inputValue);
|
|
117
|
-
|
|
118
|
-
return {
|
|
119
|
-
Success: true,
|
|
120
|
-
ResultCode: 'SUCCESS',
|
|
121
|
-
Message: `Processed: ${result}`
|
|
122
|
-
};
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
private async doWork(input: string): Promise<string> {
|
|
126
|
-
// Delegate to service classes for real logic
|
|
127
|
-
return `Done with ${input}`;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
```
|
|
131
|
-
|
|
132
|
-
### Creating an OAuth-Authenticated Action
|
|
133
|
-
|
|
134
|
-
For actions that need to call external APIs with OAuth2 credentials:
|
|
135
|
-
|
|
136
|
-
```typescript
|
|
137
|
-
import { RegisterClass } from '@memberjunction/global';
|
|
138
|
-
import { BaseOAuthAction } from '@memberjunction/actions';
|
|
139
|
-
import { RunActionParams, ActionResultSimple } from '@memberjunction/actions-base';
|
|
140
|
-
|
|
141
|
-
@RegisterClass(BaseAction, 'Fetch External Data')
|
|
142
|
-
export class FetchExternalDataAction extends BaseOAuthAction {
|
|
143
|
-
protected async refreshAccessToken(): Promise<void> {
|
|
144
|
-
// Platform-specific token refresh logic
|
|
145
|
-
const response = await fetch('https://api.example.com/oauth/token', {
|
|
146
|
-
method: 'POST',
|
|
147
|
-
body: new URLSearchParams({
|
|
148
|
-
grant_type: 'refresh_token',
|
|
149
|
-
refresh_token: this.getRefreshToken(),
|
|
150
|
-
})
|
|
151
|
-
});
|
|
152
|
-
const data = await response.json();
|
|
153
|
-
await this.updateStoredTokens(data.access_token, data.refresh_token, data.expires_in);
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
protected async InternalRunAction(params: RunActionParams): Promise<ActionResultSimple> {
|
|
157
|
-
const companyIntegrationId = params.Params.find(
|
|
158
|
-
p => p.Name === 'CompanyIntegrationID'
|
|
159
|
-
)?.Value as string;
|
|
160
|
-
|
|
161
|
-
// Initialize OAuth (loads tokens, refreshes if expired)
|
|
162
|
-
if (!await this.initializeOAuth(companyIntegrationId)) {
|
|
163
|
-
return this.handleOAuthError(new Error('OAuth initialization failed'));
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
// Make authenticated request with automatic retry on 401
|
|
167
|
-
const data = await this.makeAuthenticatedRequest(async (token) => {
|
|
168
|
-
const res = await fetch('https://api.example.com/data', {
|
|
169
|
-
headers: { Authorization: `Bearer ${token}` }
|
|
170
|
-
});
|
|
171
|
-
return res.json();
|
|
172
|
-
});
|
|
173
|
-
|
|
174
|
-
return { Success: true, ResultCode: 'SUCCESS', Message: JSON.stringify(data) };
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
### Using OAuth2Manager Directly
|
|
180
|
-
|
|
181
|
-
For standalone OAuth2 token management outside the action framework:
|
|
182
|
-
|
|
183
|
-
```typescript
|
|
184
|
-
import { OAuth2Manager } from '@memberjunction/actions';
|
|
185
|
-
|
|
186
|
-
const oauth = new OAuth2Manager({
|
|
187
|
-
clientId: 'your-client-id',
|
|
188
|
-
clientSecret: 'your-client-secret',
|
|
189
|
-
tokenEndpoint: 'https://api.example.com/oauth/token',
|
|
190
|
-
scopes: ['read', 'write'],
|
|
191
|
-
onTokenUpdate: async (tokens) => {
|
|
192
|
-
// Persist tokens to your storage
|
|
193
|
-
await saveTokens(tokens);
|
|
194
|
-
}
|
|
195
|
-
});
|
|
196
|
-
|
|
197
|
-
// Get a valid token (auto-refreshes if expired)
|
|
198
|
-
const token = await oauth.getAccessToken();
|
|
199
|
-
|
|
200
|
-
// Or use client credentials flow
|
|
201
|
-
const tokenData = await oauth.getClientCredentialsToken();
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
## Architecture
|
|
205
|
-
|
|
206
|
-
### Action Execution Pipeline
|
|
207
|
-
|
|
208
|
-
The `ActionEngineServer.RunAction()` method follows this sequence:
|
|
209
|
-
|
|
210
|
-
```mermaid
|
|
211
|
-
sequenceDiagram
|
|
212
|
-
participant Caller
|
|
213
|
-
participant Engine as ActionEngineServer
|
|
214
|
-
participant Filter as BaseActionFilter
|
|
215
|
-
participant CF as ClassFactory
|
|
216
|
-
participant Action as BaseAction Subclass
|
|
217
|
-
participant Log as Execution Log
|
|
218
|
-
|
|
219
|
-
Caller->>Engine: RunAction(params)
|
|
220
|
-
Engine->>Engine: ValidateInputs(params)
|
|
221
|
-
alt Validation fails
|
|
222
|
-
Engine->>Log: StartAndEndActionLog()
|
|
223
|
-
Engine-->>Caller: {Success: false}
|
|
224
|
-
end
|
|
225
|
-
Engine->>Filter: RunFilters(params)
|
|
226
|
-
alt Filters block execution
|
|
227
|
-
Engine->>Log: StartAndEndActionLog()
|
|
228
|
-
Engine-->>Caller: {Success: true, "Filters blocked"}
|
|
229
|
-
end
|
|
230
|
-
Engine->>Log: StartActionLog()
|
|
231
|
-
Engine->>CF: CreateInstance(BaseAction, driverClass)
|
|
232
|
-
CF-->>Engine: action instance
|
|
233
|
-
Engine->>Action: Run(params)
|
|
234
|
-
Action->>Action: InternalRunAction(params)
|
|
235
|
-
Action-->>Engine: ActionResultSimple
|
|
236
|
-
Engine->>Log: EndActionLog()
|
|
237
|
-
Engine-->>Caller: ActionResult
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### Entity Action Invocation
|
|
241
|
-
|
|
242
|
-
Entity actions are bound to entity lifecycle events. The `EntityActionEngineServer` delegates to invocation-type-specific handlers via ClassFactory:
|
|
243
|
-
|
|
244
|
-
```mermaid
|
|
245
|
-
classDiagram
|
|
246
|
-
class EntityActionInvocationBase {
|
|
247
|
-
<<abstract>>
|
|
248
|
-
+InvokeAction(params) EntityActionResult
|
|
249
|
-
+MapParams(params, entityActionParams, entity) ActionParam[]
|
|
250
|
-
+SafeEvalScript(id, script, entity) any
|
|
251
|
-
}
|
|
252
|
-
|
|
253
|
-
class SingleRecord {
|
|
254
|
-
+InvokeAction(params) EntityActionResult
|
|
255
|
-
+ValidateParams(params) boolean
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
class MultipleRecords {
|
|
259
|
-
+InvokeAction(params) EntityActionResult
|
|
260
|
-
#GetRecordList() BaseEntity[]
|
|
261
|
-
}
|
|
262
|
-
|
|
263
|
-
class Validate {
|
|
264
|
-
+InvokeAction(params) EntityActionResult
|
|
265
|
-
}
|
|
266
|
-
|
|
267
|
-
EntityActionInvocationBase <|-- SingleRecord
|
|
268
|
-
EntityActionInvocationBase <|-- MultipleRecords
|
|
269
|
-
SingleRecord <|-- Validate
|
|
270
|
-
|
|
271
|
-
note for SingleRecord "Registered for: Read, BeforeCreate,\nBeforeUpdate, BeforeDelete, AfterCreate,\nAfterUpdate, AfterDelete, SingleRecord"
|
|
272
|
-
note for MultipleRecords "Registered for: List, View"
|
|
273
|
-
note for Validate "Registered for: Validate"
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
### Class Hierarchy
|
|
277
|
-
|
|
278
|
-
```mermaid
|
|
279
|
-
classDiagram
|
|
280
|
-
class BaseAction {
|
|
281
|
-
<<abstract>>
|
|
282
|
-
+Run(params) ActionResultSimple
|
|
283
|
-
#InternalRunAction(params)* ActionResultSimple
|
|
284
|
-
}
|
|
285
|
-
|
|
286
|
-
class BaseOAuthAction {
|
|
287
|
-
<<abstract>>
|
|
288
|
-
#initializeOAuth(id) boolean
|
|
289
|
-
#getAccessToken() string
|
|
290
|
-
#makeAuthenticatedRequest(fn) T
|
|
291
|
-
#refreshAccessToken()* void
|
|
292
|
-
}
|
|
293
|
-
|
|
294
|
-
class BaseActionFilter {
|
|
295
|
-
<<abstract>>
|
|
296
|
-
+Run(params, filter) boolean
|
|
297
|
-
#InternalRun(params, filter)* boolean
|
|
298
|
-
}
|
|
299
|
-
|
|
300
|
-
class ActionEngineServer {
|
|
301
|
-
+RunAction(params) ActionResult
|
|
302
|
-
#ValidateInputs(params) boolean
|
|
303
|
-
#RunFilters(params) boolean
|
|
304
|
-
#InternalRunAction(params) ActionResult
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
class EntityActionEngineServer {
|
|
308
|
-
+RunEntityAction(params) EntityActionResult
|
|
309
|
-
}
|
|
310
|
-
|
|
311
|
-
class OAuth2Manager {
|
|
312
|
-
+getAccessToken() string
|
|
313
|
-
+getAuthorizationUrl() string
|
|
314
|
-
+exchangeAuthorizationCode(code) OAuth2TokenData
|
|
315
|
-
+getClientCredentialsToken() OAuth2TokenData
|
|
316
|
-
+refreshAccessToken() OAuth2TokenData
|
|
317
|
-
}
|
|
318
|
-
|
|
319
|
-
BaseAction <|-- BaseOAuthAction
|
|
320
|
-
ActionEngineServer --> BaseAction : dispatches to
|
|
321
|
-
ActionEngineServer --> BaseActionFilter : evaluates
|
|
322
|
-
EntityActionEngineServer --> ActionEngineServer : delegates to
|
|
323
|
-
BaseOAuthAction --> OAuth2Manager : can use
|
|
324
|
-
```
|
|
325
|
-
|
|
326
|
-
## API Reference
|
|
327
|
-
|
|
328
|
-
### ActionEngineServer
|
|
329
|
-
|
|
330
|
-
Singleton engine that executes actions. Access via `ActionEngineServer.Instance`.
|
|
331
|
-
|
|
332
|
-
| Method | Description |
|
|
333
|
-
|--------|-------------|
|
|
334
|
-
| `Config(forceRefresh, contextUser)` | Initialize/refresh the engine's action and filter metadata |
|
|
335
|
-
| `RunAction(params)` | Execute an action through the full pipeline (validate, filter, dispatch, log) |
|
|
336
|
-
|
|
337
|
-
### BaseAction
|
|
338
|
-
|
|
339
|
-
Abstract base class for all action implementations.
|
|
340
|
-
|
|
341
|
-
| Method | Description |
|
|
342
|
-
|--------|-------------|
|
|
343
|
-
| `Run(params)` | Public entry point — calls `InternalRunAction` |
|
|
344
|
-
| `InternalRunAction(params)` | **Abstract** — implement your action logic here |
|
|
345
|
-
|
|
346
|
-
### BaseOAuthAction
|
|
347
|
-
|
|
348
|
-
Abstract base for actions requiring OAuth authentication. Extends `BaseAction`.
|
|
349
|
-
|
|
350
|
-
| Method | Description |
|
|
351
|
-
|--------|-------------|
|
|
352
|
-
| `initializeOAuth(companyIntegrationId)` | Load integration, check/refresh tokens |
|
|
353
|
-
| `getAccessToken()` | Get the current access token |
|
|
354
|
-
| `makeAuthenticatedRequest(fn)` | Execute a request with automatic retry on 401/403 |
|
|
355
|
-
| `refreshAccessToken()` | **Abstract** — implement platform-specific token refresh |
|
|
356
|
-
| `updateStoredTokens(access, refresh?, expiresIn?)` | Persist new tokens to the Company Integration entity |
|
|
357
|
-
| `handleOAuthError(error)` | Return a standardized error result for OAuth failures |
|
|
358
|
-
|
|
359
|
-
### BaseActionFilter
|
|
360
|
-
|
|
361
|
-
Abstract base for pre-execution filters.
|
|
362
|
-
|
|
363
|
-
| Method | Description |
|
|
364
|
-
|--------|-------------|
|
|
365
|
-
| `Run(params, filter)` | Public entry point — calls `InternalRun` |
|
|
366
|
-
| `InternalRun(params, filter)` | **Abstract** — implement filter logic, return `true` to allow execution |
|
|
367
|
-
|
|
368
|
-
### EntityActionEngineServer
|
|
369
|
-
|
|
370
|
-
Singleton engine for entity-bound actions. Access via `EntityActionEngineServer.Instance`.
|
|
371
|
-
|
|
372
|
-
| Method | Description |
|
|
373
|
-
|--------|-------------|
|
|
374
|
-
| `RunEntityAction(params)` | Execute an entity action, dispatching to the correct invocation type handler |
|
|
375
|
-
|
|
376
|
-
### OAuth2Manager
|
|
377
|
-
|
|
378
|
-
Standalone OAuth2 token manager supporting multiple grant types.
|
|
379
|
-
|
|
380
|
-
| Method | Description |
|
|
381
|
-
|--------|-------------|
|
|
382
|
-
| `getAccessToken()` | Get a valid token, auto-refreshing if needed (thread-safe) |
|
|
383
|
-
| `getAuthorizationUrl(state?)` | Build the authorization URL for auth code flow |
|
|
384
|
-
| `exchangeAuthorizationCode(code)` | Exchange an auth code for tokens |
|
|
385
|
-
| `getClientCredentialsToken()` | Obtain tokens via client credentials flow |
|
|
386
|
-
| `refreshAccessToken()` | Refresh using the stored refresh token |
|
|
387
|
-
| `setTokens(access, refresh?, expiresIn?)` | Set tokens obtained externally |
|
|
388
|
-
| `isTokenValid()` | Check if current token is valid (with buffer) |
|
|
389
|
-
|
|
390
|
-
## Dependencies
|
|
391
|
-
|
|
392
|
-
This package depends on:
|
|
393
|
-
|
|
394
|
-
- [@memberjunction/global](../../MJGlobal/README.md) — ClassFactory and `@RegisterClass` decorator
|
|
395
|
-
- [@memberjunction/core](../../MJCore/README.md) — `Metadata`, `RunView`, `BaseEntity`, logging utilities
|
|
396
|
-
- [@memberjunction/actions-base](../Base/README.md) — Shared types (`ActionEngineBase`, `RunActionParams`, `ActionResult`, etc.)
|
|
397
|
-
- [@memberjunction/core-entities](../../MJCoreEntities/README.md) — Generated entity classes (`ActionExecutionLogEntity`, `ActionFilterEntity`, etc.)
|
|
398
|
-
- [@memberjunction/ai](../../AI/Core/README.md) — AI model integration
|
|
399
|
-
- [@memberjunction/ai-core-plus](../../AI/CorePlus/README.md) — Extended AI utilities
|
|
400
|
-
- [@memberjunction/aiengine](../../AI/Engine/README.md) — AI engine orchestration
|
|
401
|
-
- [@memberjunction/ai-prompts](../../AI/Prompts/README.md) — AI prompt execution
|
|
402
|
-
|
|
403
|
-
## Related Packages
|
|
404
|
-
|
|
405
|
-
- [@memberjunction/actions-base](../Base/README.md) — Shared types and base classes used by both client and server
|
|
406
|
-
- [CoreActions](../CoreActions/) — Built-in action implementations (Create Record, generated actions, etc.)
|
|
407
|
-
- [ScheduledActions](../ScheduledActions/) — Scheduled action execution support
|
|
408
|
-
- [ApolloEnrichment](../ApolloEnrichment/) — Apollo data enrichment actions
|
|
409
|
-
- [ContentAutotag](../ContentAutotag/) — Content auto-tagging actions
|
|
410
|
-
- [CodeExecution](../CodeExecution/) — Dynamic code execution actions
|
|
411
|
-
|
|
412
|
-
For the Actions system philosophy and development guide, see the [Actions CLAUDE.md](../CLAUDE.md).
|
|
413
|
-
|
|
414
|
-
## Contributing
|
|
415
|
-
|
|
416
|
-
See the [MemberJunction Contributing Guide](../../../CONTRIBUTING.md) for development setup and guidelines.
|