@memberjunction/actions 5.41.0 → 5.43.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/EntityActionEngine.d.ts +33 -2
- package/dist/entity-actions/EntityActionEngine.d.ts.map +1 -1
- package/dist/entity-actions/EntityActionEngine.js +41 -3
- package/dist/entity-actions/EntityActionEngine.js.map +1 -1
- package/dist/entity-actions/EntityActionInvocationTypes.d.ts +11 -1
- package/dist/entity-actions/EntityActionInvocationTypes.d.ts.map +1 -1
- package/dist/entity-actions/EntityActionInvocationTypes.js +75 -10
- package/dist/entity-actions/EntityActionInvocationTypes.js.map +1 -1
- package/dist/generic/ActionEngine.d.ts +54 -32
- package/dist/generic/ActionEngine.d.ts.map +1 -1
- package/dist/generic/ActionEngine.js +70 -64
- package/dist/generic/ActionEngine.js.map +1 -1
- package/package.json +9 -9
|
@@ -1,9 +1,40 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { BaseSingleton } from "@memberjunction/global";
|
|
2
|
+
import { UserInfo, IMetadataProvider } from "@memberjunction/core";
|
|
3
|
+
import { MJEntityActionFilterEntity, MJEntityActionInvocationEntity, MJEntityActionInvocationTypeEntity, MJEntityActionParamEntity } from "@memberjunction/core-entities";
|
|
4
|
+
import { EntityActionInvocationParams, EntityActionResult, MJEntityActionEntityExtended } from "@memberjunction/actions-base";
|
|
2
5
|
/**
|
|
3
6
|
* The purpose of this class is to handle the invocation of actions for entities in all of the supported invocation contexts.
|
|
4
7
|
*/
|
|
5
|
-
export declare class EntityActionEngineServer extends
|
|
8
|
+
export declare class EntityActionEngineServer extends BaseSingleton<EntityActionEngineServer> {
|
|
6
9
|
static get Instance(): EntityActionEngineServer;
|
|
10
|
+
/**
|
|
11
|
+
* Composition over inheritance (mirrors AIEngine/AIEngineBase and ActionEngineServer/ActionEngineBase):
|
|
12
|
+
* EntityActionEngineServer is the server-side invocation layer and caches NO metadata of its own — the
|
|
13
|
+
* single cache lives on EntityActionEngineBase, which this proxies. The prior `<EntityActionEngineServer>
|
|
14
|
+
* super.Instance` subclass pattern actually shared the base's singleton slot (so it didn't double-cache),
|
|
15
|
+
* but it was order-dependent and fragile — the shared instance's concrete type depended on which accessor
|
|
16
|
+
* was touched first. Explicit composition removes that footgun.
|
|
17
|
+
*/
|
|
18
|
+
private get Base();
|
|
19
|
+
/**
|
|
20
|
+
* Server-side context user, captured on Config() and settable directly — mirrors AIEngine, which holds
|
|
21
|
+
* its own _contextUser distinct from the shared base cache. Falls back to the base's when not set.
|
|
22
|
+
*/
|
|
23
|
+
private _contextUser?;
|
|
24
|
+
/** Ensures the single EntityActionEngineBase cache is loaded. Delegates entirely to the base. */
|
|
25
|
+
Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
|
|
26
|
+
/** True once the underlying EntityActionEngineBase cache has loaded. */
|
|
27
|
+
get Loaded(): boolean;
|
|
28
|
+
get ContextUser(): UserInfo;
|
|
29
|
+
set ContextUser(value: UserInfo);
|
|
30
|
+
get InvocationTypes(): MJEntityActionInvocationTypeEntity[];
|
|
31
|
+
get Filters(): MJEntityActionFilterEntity[];
|
|
32
|
+
get Invocations(): MJEntityActionInvocationEntity[];
|
|
33
|
+
get EntityActions(): MJEntityActionEntityExtended[];
|
|
34
|
+
get Params(): MJEntityActionParamEntity[];
|
|
35
|
+
GetActionsByEntityName(entityName: string, status?: 'Active' | 'Pending' | 'Disabled'): MJEntityActionEntityExtended[];
|
|
36
|
+
GetActionsByEntityID(entityID: string): MJEntityActionEntityExtended[];
|
|
37
|
+
GetActionsByEntityNameAndInvocationType(entityName: string, invocationType: string, status?: 'Active' | 'Pending' | 'Disabled'): MJEntityActionEntityExtended[];
|
|
7
38
|
/**
|
|
8
39
|
* Method will invoke an action given the provided parameters. The method will return true if the action was successfully invoked, false otherwise.
|
|
9
40
|
* @param params Parameters for the action invocation
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityActionEngine.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EntityActionEngine.d.ts","sourceRoot":"","sources":["../../src/entity-actions/EntityActionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAY,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,8BAA8B,EAAE,kCAAkC,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAE1K,OAAO,EAA0B,4BAA4B,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AAEtJ;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,aAAa,CAAC,wBAAwB,CAAC;IACjF,WAAkB,QAAQ,IAAI,wBAAwB,CAErD;IAED;;;;;;;OAOG;IACH,OAAO,KAAK,IAAI,GAEf;IAED;;;OAGG;IACH,OAAO,CAAC,YAAY,CAAC,CAAW;IAEhC,iGAAiG;IACpF,MAAM,CAAC,YAAY,GAAE,OAAe,EAAE,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvH,wEAAwE;IACxE,IAAW,MAAM,IAAI,OAAO,CAA6B;IAEzD,IAAW,WAAW,IAAI,QAAQ,CAAuD;IACzF,IAAW,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAgC;IAGtE,IAAW,eAAe,IAAI,kCAAkC,EAAE,CAAsC;IACxG,IAAW,OAAO,IAAI,0BAA0B,EAAE,CAA8B;IAChF,IAAW,WAAW,IAAI,8BAA8B,EAAE,CAAkC;IAC5F,IAAW,aAAa,IAAI,4BAA4B,EAAE,CAAoC;IAC9F,IAAW,MAAM,IAAI,yBAAyB,EAAE,CAA6B;IAGtE,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,4BAA4B,EAAE;IAGtH,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,4BAA4B,EAAE;IAGtE,uCAAuC,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,4BAA4B,EAAE;IAKtK;;;;OAIG;IACU,eAAe,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAqBlG"}
|
|
@@ -1,12 +1,50 @@
|
|
|
1
|
-
import { MJGlobal } from "@memberjunction/global";
|
|
1
|
+
import { BaseSingleton, MJGlobal } from "@memberjunction/global";
|
|
2
2
|
import { EntityActionInvocationBase } from "./EntityActionInvocationTypes.js";
|
|
3
3
|
import { EntityActionEngineBase } from "@memberjunction/actions-base";
|
|
4
4
|
/**
|
|
5
5
|
* The purpose of this class is to handle the invocation of actions for entities in all of the supported invocation contexts.
|
|
6
6
|
*/
|
|
7
|
-
export class EntityActionEngineServer extends
|
|
7
|
+
export class EntityActionEngineServer extends BaseSingleton {
|
|
8
8
|
static get Instance() {
|
|
9
|
-
return super.
|
|
9
|
+
return super.getInstance();
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Composition over inheritance (mirrors AIEngine/AIEngineBase and ActionEngineServer/ActionEngineBase):
|
|
13
|
+
* EntityActionEngineServer is the server-side invocation layer and caches NO metadata of its own — the
|
|
14
|
+
* single cache lives on EntityActionEngineBase, which this proxies. The prior `<EntityActionEngineServer>
|
|
15
|
+
* super.Instance` subclass pattern actually shared the base's singleton slot (so it didn't double-cache),
|
|
16
|
+
* but it was order-dependent and fragile — the shared instance's concrete type depended on which accessor
|
|
17
|
+
* was touched first. Explicit composition removes that footgun.
|
|
18
|
+
*/
|
|
19
|
+
get Base() {
|
|
20
|
+
return EntityActionEngineBase.Instance;
|
|
21
|
+
}
|
|
22
|
+
/** Ensures the single EntityActionEngineBase cache is loaded. Delegates entirely to the base. */
|
|
23
|
+
async Config(forceRefresh = false, contextUser, provider) {
|
|
24
|
+
if (contextUser) {
|
|
25
|
+
this._contextUser = contextUser;
|
|
26
|
+
}
|
|
27
|
+
await this.Base.Config(forceRefresh, contextUser, provider);
|
|
28
|
+
}
|
|
29
|
+
/** True once the underlying EntityActionEngineBase cache has loaded. */
|
|
30
|
+
get Loaded() { return this.Base.Loaded; }
|
|
31
|
+
get ContextUser() { return this._contextUser ?? this.Base.ContextUser; }
|
|
32
|
+
set ContextUser(value) { this._contextUser = value; }
|
|
33
|
+
// ── Proxied cached collections (single source of truth: EntityActionEngineBase.Instance) ──
|
|
34
|
+
get InvocationTypes() { return this.Base.InvocationTypes; }
|
|
35
|
+
get Filters() { return this.Base.Filters; }
|
|
36
|
+
get Invocations() { return this.Base.Invocations; }
|
|
37
|
+
get EntityActions() { return this.Base.EntityActions; }
|
|
38
|
+
get Params() { return this.Base.Params; }
|
|
39
|
+
// ── Proxied lookups ──
|
|
40
|
+
GetActionsByEntityName(entityName, status) {
|
|
41
|
+
return this.Base.GetActionsByEntityName(entityName, status);
|
|
42
|
+
}
|
|
43
|
+
GetActionsByEntityID(entityID) {
|
|
44
|
+
return this.Base.GetActionsByEntityID(entityID);
|
|
45
|
+
}
|
|
46
|
+
GetActionsByEntityNameAndInvocationType(entityName, invocationType, status) {
|
|
47
|
+
return this.Base.GetActionsByEntityNameAndInvocationType(entityName, invocationType, status);
|
|
10
48
|
}
|
|
11
49
|
/**
|
|
12
50
|
* Method will invoke an action given the provided parameters. The method will return true if the action was successfully invoked, false otherwise.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityActionEngine.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"EntityActionEngine.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAE,sBAAsB,EAAkF,MAAM,8BAA8B,CAAC;AAEtJ;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,aAAuC;IAC1E,MAAM,KAAK,QAAQ;QACtB,OAAO,KAAK,CAAC,WAAW,EAA4B,CAAC;IACzD,CAAC;IAED;;;;;;;OAOG;IACH,IAAY,IAAI;QACZ,OAAO,sBAAsB,CAAC,QAAQ,CAAC;IAC3C,CAAC;IAQD,iGAAiG;IAC1F,KAAK,CAAC,MAAM,CAAC,eAAwB,KAAK,EAAE,WAAsB,EAAE,QAA4B;QACnG,IAAI,WAAW,EAAE,CAAC;YACd,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;QACpC,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;IAChE,CAAC;IAED,wEAAwE;IACxE,IAAW,MAAM,KAAc,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAEzD,IAAW,WAAW,KAAe,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IACzF,IAAW,WAAW,CAAC,KAAe,IAAI,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC;IAEtE,6FAA6F;IAC7F,IAAW,eAAe,KAA2C,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACxG,IAAW,OAAO,KAAmC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChF,IAAW,WAAW,KAAuC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;IAC5F,IAAW,aAAa,KAAqC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9F,IAAW,MAAM,KAAkC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IAE7E,wBAAwB;IACjB,sBAAsB,CAAC,UAAkB,EAAE,MAA0C;QACxF,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IACM,oBAAoB,CAAC,QAAgB;QACxC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACpD,CAAC;IACM,uCAAuC,CAAC,UAAkB,EAAE,cAAsB,EAAE,MAA0C;QACjI,OAAO,IAAI,CAAC,IAAI,CAAC,uCAAuC,CAAC,UAAU,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IACjG,CAAC;IAGD;;;;OAIG;IACI,KAAK,CAAC,eAAe,CAAC,MAAoC;QAC7D;;;;WAIG;QACH,IAAI,CAAC,MAAM,CAAC,YAAY;YACpB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAE/D,wDAAwD;QACxD,IAAI,CAAC,MAAM,CAAC,cAAc;YACtB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAExD,gHAAgH;QAChH,MAAM,kBAAkB,GAAG,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,cAAc,CAA6B,0BAA0B,EAAE,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QAC7J,IAAI,CAAC,kBAAkB;YACnB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAElE,8CAA8C;QAC9C,OAAO,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;CACJ"}
|
|
@@ -48,7 +48,17 @@ export declare class EntityActionInvocationSingleRecord extends EntityActionInvo
|
|
|
48
48
|
export declare class EntityActionInvocationMultipleRecords extends EntityActionInvocationBase {
|
|
49
49
|
ValidateParams(params: EntityActionInvocationParams): Promise<boolean>;
|
|
50
50
|
InvokeAction(params: EntityActionInvocationParams): Promise<EntityActionResult>;
|
|
51
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Resolves the record set for a View or List invocation into loaded entity objects, which the
|
|
53
|
+
* per-record loop in {@link InvokeAction} then processes one at a time.
|
|
54
|
+
*/
|
|
55
|
+
protected GetRecordList(params: EntityActionInvocationParams): Promise<BaseEntity[]>;
|
|
56
|
+
/** Loads all records of a User View as entity objects. */
|
|
57
|
+
protected loadRecordsForView(params: EntityActionInvocationParams): Promise<BaseEntity[]>;
|
|
58
|
+
/** Loads all members of a List as entity objects (single-primary-key entities). */
|
|
59
|
+
protected loadRecordsForList(params: EntityActionInvocationParams): Promise<BaseEntity[]>;
|
|
60
|
+
/** True when a PK column type is numeric (so its values must not be quoted in a filter). */
|
|
61
|
+
protected isNumericFieldType(type: string): boolean;
|
|
52
62
|
}
|
|
53
63
|
/**
|
|
54
64
|
* This class handles the invocation type of Validate and uses Entity Actions to validate a record and provide the results back to the caller
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAAqB,MAAM,sBAAsB,CAAC;AACrE,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;IAUpF;;;;;;;OAOG;IACU,SAAS,CAAC,MAAM,EAAE,mBAAmB,EAAE,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAwCxJ,OAAO,CAAC,YAAY,CAAuF;IAE3G;;;;;;OAMG;IACU,cAAc,CAAC,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;CAyBlH;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;IAqC5F;;;OAGG;cACa,aAAa,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAW1F,0DAA0D;cAC1C,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAY/F,mFAAmF;cACnE,kBAAkB,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;IAwC/F,4FAA4F;IAC5F,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAItD;AAED;;GAEG;AACH,qBACa,8BAA+B,SAAQ,kCAAkC;IAC5D,YAAY,CAAC,MAAM,EAAE,4BAA4B,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAwBxG"}
|
|
@@ -4,14 +4,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { MJGlobal, RegisterClass, SafeJSONParse, UUIDsEqual } from "@memberjunction/global";
|
|
7
|
+
import { MJGlobal, MJLruCache, RegisterClass, SafeJSONParse, UUIDsEqual } from "@memberjunction/global";
|
|
8
|
+
import { Metadata, RunView } from "@memberjunction/core";
|
|
8
9
|
import { ActionEngineServer } from "../generic/ActionEngine.js";
|
|
9
10
|
/**
|
|
10
11
|
* Base class for invocation of any entity action invocation type
|
|
11
12
|
*/
|
|
12
13
|
export class EntityActionInvocationBase {
|
|
13
14
|
constructor() {
|
|
14
|
-
|
|
15
|
+
// Bounded LRU cache prevents unbounded growth from one compiled function per unique EntityActionID.
|
|
16
|
+
this._scriptCache = new MJLruCache({ maxSize: 1000 });
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
19
|
* Case insensitive helper method to find a param by valueType
|
|
@@ -84,17 +86,14 @@ export class EntityActionInvocationBase {
|
|
|
84
86
|
result: null
|
|
85
87
|
};
|
|
86
88
|
try {
|
|
87
|
-
let scriptFunction;
|
|
88
|
-
if (
|
|
89
|
-
scriptFunction = this._scriptCache.get(EntityActionID);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
89
|
+
let scriptFunction = this._scriptCache.Get(EntityActionID);
|
|
90
|
+
if (!scriptFunction) {
|
|
92
91
|
scriptFunction = new Function('EntityActionContext', `
|
|
93
92
|
return (async () => {
|
|
94
93
|
${scriptText}
|
|
95
94
|
})();
|
|
96
95
|
`);
|
|
97
|
-
this._scriptCache.
|
|
96
|
+
this._scriptCache.Set(EntityActionID, scriptFunction);
|
|
98
97
|
}
|
|
99
98
|
const ret = await scriptFunction(entityActionContext);
|
|
100
99
|
return ret || entityActionContext.result;
|
|
@@ -187,7 +186,7 @@ let EntityActionInvocationMultipleRecords = class EntityActionInvocationMultiple
|
|
|
187
186
|
if (!invocationInstance)
|
|
188
187
|
throw new Error('Error creating instance of invocation type');
|
|
189
188
|
// now, we loop through the list of records and invoke the action for each one
|
|
190
|
-
const recordList = await this.GetRecordList();
|
|
189
|
+
const recordList = await this.GetRecordList(params);
|
|
191
190
|
const results = [];
|
|
192
191
|
for (const record of recordList) {
|
|
193
192
|
const innerParams = { ...params };
|
|
@@ -206,9 +205,75 @@ let EntityActionInvocationMultipleRecords = class EntityActionInvocationMultiple
|
|
|
206
205
|
else
|
|
207
206
|
return null;
|
|
208
207
|
}
|
|
209
|
-
|
|
208
|
+
/**
|
|
209
|
+
* Resolves the record set for a View or List invocation into loaded entity objects, which the
|
|
210
|
+
* per-record loop in {@link InvokeAction} then processes one at a time.
|
|
211
|
+
*/
|
|
212
|
+
async GetRecordList(params) {
|
|
213
|
+
const invoType = params.InvocationType.Name.trim().toLowerCase();
|
|
214
|
+
if (invoType === 'view') {
|
|
215
|
+
return this.loadRecordsForView(params);
|
|
216
|
+
}
|
|
217
|
+
else if (invoType === 'list') {
|
|
218
|
+
return this.loadRecordsForList(params);
|
|
219
|
+
}
|
|
210
220
|
return [];
|
|
211
221
|
}
|
|
222
|
+
/** Loads all records of a User View as entity objects. */
|
|
223
|
+
async loadRecordsForView(params) {
|
|
224
|
+
const rv = new RunView();
|
|
225
|
+
const result = await rv.RunView({
|
|
226
|
+
ViewID: params.ViewID,
|
|
227
|
+
ResultType: 'entity_object'
|
|
228
|
+
}, params.ContextUser);
|
|
229
|
+
if (!result.Success) {
|
|
230
|
+
throw new Error(`Failed to load records for view '${params.ViewID}': ${result.ErrorMessage}`);
|
|
231
|
+
}
|
|
232
|
+
return result.Results ?? [];
|
|
233
|
+
}
|
|
234
|
+
/** Loads all members of a List as entity objects (single-primary-key entities). */
|
|
235
|
+
async loadRecordsForList(params) {
|
|
236
|
+
const entity = new Metadata().EntityByID(params.EntityAction.EntityID); // global-provider-ok: entity-definition lookup (structural metadata, not per-user/per-provider data); this invocation class isn't provider-threaded yet (multi-provider migration debt), consistent with the new RunView() above
|
|
237
|
+
if (!entity) {
|
|
238
|
+
throw new Error(`Entity '${params.EntityAction.EntityID}' for this entity action was not found in metadata`);
|
|
239
|
+
}
|
|
240
|
+
if (entity.PrimaryKeys.length !== 1) {
|
|
241
|
+
throw new Error(`List invocation currently supports single-primary-key entities only; '${entity.Name}' has a composite key`);
|
|
242
|
+
}
|
|
243
|
+
const rv = new RunView();
|
|
244
|
+
const memberResult = await rv.RunView({
|
|
245
|
+
EntityName: 'MJ: List Details',
|
|
246
|
+
ExtraFilter: `ListID='${params.ListID}'`,
|
|
247
|
+
Fields: ['RecordID'],
|
|
248
|
+
ResultType: 'simple'
|
|
249
|
+
}, params.ContextUser);
|
|
250
|
+
if (!memberResult.Success) {
|
|
251
|
+
throw new Error(`Failed to load members for list '${params.ListID}': ${memberResult.ErrorMessage}`);
|
|
252
|
+
}
|
|
253
|
+
const recordIDs = (memberResult.Results ?? []).map(r => String(r.RecordID)).filter(id => id.length > 0);
|
|
254
|
+
if (recordIDs.length === 0) {
|
|
255
|
+
return [];
|
|
256
|
+
}
|
|
257
|
+
const pk = entity.FirstPrimaryKey;
|
|
258
|
+
const numericKey = this.isNumericFieldType(pk.Type);
|
|
259
|
+
const inList = recordIDs
|
|
260
|
+
.map(id => numericKey ? id.replace(/[^0-9.\-]/g, '') : `'${id.replace(/'/g, "''")}'`)
|
|
261
|
+
.join(',');
|
|
262
|
+
const result = await rv.RunView({
|
|
263
|
+
EntityName: entity.Name,
|
|
264
|
+
ExtraFilter: `${pk.Name} IN (${inList})`,
|
|
265
|
+
ResultType: 'entity_object'
|
|
266
|
+
}, params.ContextUser);
|
|
267
|
+
if (!result.Success) {
|
|
268
|
+
throw new Error(`Failed to load list member records for '${entity.Name}': ${result.ErrorMessage}`);
|
|
269
|
+
}
|
|
270
|
+
return result.Results ?? [];
|
|
271
|
+
}
|
|
272
|
+
/** True when a PK column type is numeric (so its values must not be quoted in a filter). */
|
|
273
|
+
isNumericFieldType(type) {
|
|
274
|
+
const t = (type || '').replace(/\s*\([^)]*\)\s*$/, '').trim().toLowerCase();
|
|
275
|
+
return ['int', 'integer', 'bigint', 'smallint', 'tinyint', 'decimal', 'numeric', 'money', 'smallmoney', 'float', 'real', 'double precision', 'serial', 'bigserial'].includes(t);
|
|
276
|
+
}
|
|
212
277
|
};
|
|
213
278
|
EntityActionInvocationMultipleRecords = __decorate([
|
|
214
279
|
RegisterClass(EntityActionInvocationBase, 'List'),
|
|
@@ -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,UAAU,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"EntityActionInvocationTypes.js","sourceRoot":"","sources":["../../src/entity-actions/EntityActionInvocationTypes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,65 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { UserInfo, IMetadataProvider } from "@memberjunction/core";
|
|
2
|
+
import { MJActionExecutionLogEntity, MJActionCategoryEntity, MJActionFilterEntity, MJActionLibraryEntity, MJActionParamEntity, MJActionResultCodeEntity } from "@memberjunction/core-entities";
|
|
3
|
+
import { BaseSingleton } from "@memberjunction/global";
|
|
4
|
+
import { MJActionEntityExtended, ActionParam, ActionResult, ActionResultSimple, RunActionParams } from "@memberjunction/actions-base";
|
|
3
5
|
/**
|
|
4
6
|
* 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
7
|
* @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.
|
|
6
8
|
*/
|
|
7
|
-
export declare class ActionEngineServer extends
|
|
9
|
+
export declare class ActionEngineServer extends BaseSingleton<ActionEngineServer> {
|
|
8
10
|
static get Instance(): ActionEngineServer;
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
12
|
+
* ActionEngineServer is the server-side CAPABILITY layer (action execution, filters, logging). It
|
|
13
|
+
* does NOT extend ActionEngineBase and NEVER caches its own copy of the action metadata — it would
|
|
14
|
+
* otherwise be a second BaseEngine singleton issuing a duplicate RunViews batch and holding a second
|
|
15
|
+
* copy of all 6 cached arrays (the "Duplicate RunView Detected" telemetry warning). Instead it
|
|
16
|
+
* COMPOSES the single ActionEngineBase cache and proxies every cached collection / lookup to it,
|
|
17
|
+
* exactly like {@link AIEngine} wraps AIEngineBase. {@link Config} delegates to the base so there is
|
|
18
|
+
* one cache, loaded once, shared by every consumer (and reused by AIEngine.RefreshActions via the
|
|
19
|
+
* BaseEngineRegistry).
|
|
20
|
+
*/
|
|
21
|
+
private get Base();
|
|
22
|
+
/**
|
|
23
|
+
* Server-side context user for action execution and log stamping. Held HERE (not borrowed from the
|
|
24
|
+
* base) and captured on Config(), mirroring AIEngine which keeps its own _contextUser distinct from
|
|
25
|
+
* the shared base cache. Falls back to the base's context user when not explicitly set.
|
|
26
|
+
*/
|
|
27
|
+
private _contextUser?;
|
|
28
|
+
/**
|
|
29
|
+
* Ensures the single ActionEngineBase metadata cache is loaded. Delegates entirely to the base —
|
|
30
|
+
* ActionEngineServer holds no metadata of its own.
|
|
31
|
+
*/
|
|
32
|
+
Config(forceRefresh?: boolean, contextUser?: UserInfo, provider?: IMetadataProvider): Promise<void>;
|
|
33
|
+
/** True once the underlying ActionEngineBase cache has loaded. */
|
|
34
|
+
get Loaded(): boolean;
|
|
35
|
+
get ContextUser(): UserInfo;
|
|
36
|
+
set ContextUser(value: UserInfo);
|
|
37
|
+
get Actions(): MJActionEntityExtended[];
|
|
38
|
+
get ActionCategories(): MJActionCategoryEntity[];
|
|
39
|
+
get ActionParams(): MJActionParamEntity[];
|
|
40
|
+
get ActionFilters(): MJActionFilterEntity[];
|
|
41
|
+
get ActionResultCodes(): MJActionResultCodeEntity[];
|
|
42
|
+
get ActionLibraries(): MJActionLibraryEntity[];
|
|
43
|
+
get CoreActions(): MJActionEntityExtended[];
|
|
44
|
+
get NonCoreActions(): MJActionEntityExtended[];
|
|
45
|
+
get CoreActionsRootCategoryID(): string;
|
|
46
|
+
IsChildCategoryOf(categoryId: string, parentCategoryId: string): boolean;
|
|
47
|
+
IsCoreAction(action: MJActionEntityExtended): boolean;
|
|
48
|
+
IsCoreActionCategory(categoryId: string): boolean;
|
|
49
|
+
GetActionByName(actionName: string): MJActionEntityExtended | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* Fire-and-forget queue for action-execution-log writes. Action-execution logging is observability —
|
|
52
|
+
* the action's result is returned regardless of whether the log row persists — so both the INSERT
|
|
53
|
+
* ('started') and the UPDATE ('ended') run off the DB round-trip critical path. `result.LogEntry.ID`
|
|
54
|
+
* is valid immediately because `NewRecord()` client-generates the uniqueidentifier PK.
|
|
17
55
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* growth on this long-lived singleton.
|
|
56
|
+
* The queue keys by the log entity instance, so {@link EndActionLog}'s 'ended' UPDATE chains after that
|
|
57
|
+
* row's 'started' INSERT and applies its mutation *inside* the post-INSERT task — the UPDATE can never
|
|
58
|
+
* race the INSERT's reload (the "stuck at EndedAt=NULL / shows Running forever" bug is structurally
|
|
59
|
+
* impossible). The queue is self-bounding (in-flight tasks only), so it needs no flush on this
|
|
60
|
+
* long-lived singleton.
|
|
24
61
|
*/
|
|
25
|
-
private
|
|
62
|
+
private readonly _logQueue;
|
|
26
63
|
/**
|
|
27
64
|
* Engine-default wall-clock timeout applied to any action whose
|
|
28
65
|
* `MaxExecutionTimeMS` is NULL. Intentionally generous (2 hours) because
|
|
@@ -85,22 +122,7 @@ export declare class ActionEngineServer extends ActionEngineBase {
|
|
|
85
122
|
*/
|
|
86
123
|
protected RunRuntimeAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
87
124
|
protected StartActionLog(params: RunActionParams, saveRecord?: boolean): Promise<MJActionExecutionLogEntity>;
|
|
88
|
-
/**
|
|
89
|
-
* Saves one action-execution-log row, ALWAYS logging (never swallowing, never verbose-gated) a
|
|
90
|
-
* failure — the log is observability, so a failure must surface but must not throw into the action's
|
|
91
|
-
* success path. `phase` is purely for the error message ('started' INSERT vs 'ended' UPDATE).
|
|
92
|
-
* @returns whether the row persisted.
|
|
93
|
-
*/
|
|
94
|
-
private saveActionLog;
|
|
95
125
|
protected EndActionLog(logEntity: MJActionExecutionLogEntity, params: RunActionParams, result: ActionResult): Promise<void>;
|
|
96
|
-
/**
|
|
97
|
-
* Applies the captured 'ended' state and UPDATEs the log row — but only AFTER awaiting the matching
|
|
98
|
-
* 'started' INSERT. Mutating/saving while the INSERT is still in flight races its post-save
|
|
99
|
-
* dirty-reset: the reset can absorb the End mutation, mark the entity clean, and silently no-op the
|
|
100
|
-
* UPDATE — leaving the row stuck at EndedAt=NULL (the action shows "Running" forever). Awaiting the
|
|
101
|
-
* INSERT first makes the End mutation a genuine dirty change against the committed row. Fire-and-forget.
|
|
102
|
-
*/
|
|
103
|
-
private finalizeActionLog;
|
|
104
126
|
protected StartAndEndActionLog(params: RunActionParams, result: ActionResult): Promise<MJActionExecutionLogEntity>;
|
|
105
127
|
}
|
|
106
128
|
//# sourceMappingURL=ActionEngine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActionEngine.d.ts","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { LogError, LogErrorEx, Metadata } from "@memberjunction/core";
|
|
2
|
-
import { MJGlobal, SafeJSONParse, UUIDsEqual } from "@memberjunction/global";
|
|
1
|
+
import { BaseEntitySaveQueue, LogError, LogErrorEx, Metadata } from "@memberjunction/core";
|
|
2
|
+
import { BaseSingleton, MJGlobal, SafeJSONParse, UUIDsEqual } from "@memberjunction/global";
|
|
3
3
|
import { BaseAction } from "./BaseAction.js";
|
|
4
4
|
import { ActionEngineBase, RuntimeActionConfigurationSchema, RuntimeActionBridgeBuilder } from "@memberjunction/actions-base";
|
|
5
5
|
import { RuntimeActionExecutor } from "@memberjunction/action-runtime";
|
|
@@ -7,30 +7,68 @@ import { RuntimeActionExecutor } from "@memberjunction/action-runtime";
|
|
|
7
7
|
* 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
|
|
8
8
|
* @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.
|
|
9
9
|
*/
|
|
10
|
-
export class ActionEngineServer extends
|
|
10
|
+
export class ActionEngineServer extends BaseSingleton {
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Fire-and-forget queue for action-execution-log writes. Action-execution logging is observability —
|
|
15
|
+
* the action's result is returned regardless of whether the log row persists — so both the INSERT
|
|
16
|
+
* ('started') and the UPDATE ('ended') run off the DB round-trip critical path. `result.LogEntry.ID`
|
|
17
|
+
* is valid immediately because `NewRecord()` client-generates the uniqueidentifier PK.
|
|
15
18
|
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* Each action invocation creates its OWN log entity, so keying by instance is inherently
|
|
23
|
-
* per-invocation — many parallel actions never collide. {@link EndActionLog} awaits the matching
|
|
24
|
-
* INSERT before applying + saving the 'ended' state, so the UPDATE is a genuine dirty change against
|
|
25
|
-
* the committed INSERT and can never silently no-op (the "stuck at EndedAt=NULL / shows Running
|
|
26
|
-
* forever" bug). A WeakMap so entries are GC'd with the entity — no manual cleanup, no unbounded
|
|
27
|
-
* growth on this long-lived singleton.
|
|
19
|
+
* The queue keys by the log entity instance, so {@link EndActionLog}'s 'ended' UPDATE chains after that
|
|
20
|
+
* row's 'started' INSERT and applies its mutation *inside* the post-INSERT task — the UPDATE can never
|
|
21
|
+
* race the INSERT's reload (the "stuck at EndedAt=NULL / shows Running forever" bug is structurally
|
|
22
|
+
* impossible). The queue is self-bounding (in-flight tasks only), so it needs no flush on this
|
|
23
|
+
* long-lived singleton.
|
|
28
24
|
*/
|
|
29
|
-
this.
|
|
25
|
+
this._logQueue = new BaseEntitySaveQueue();
|
|
30
26
|
}
|
|
31
27
|
static get Instance() {
|
|
32
28
|
return super.getInstance();
|
|
33
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* ActionEngineServer is the server-side CAPABILITY layer (action execution, filters, logging). It
|
|
32
|
+
* does NOT extend ActionEngineBase and NEVER caches its own copy of the action metadata — it would
|
|
33
|
+
* otherwise be a second BaseEngine singleton issuing a duplicate RunViews batch and holding a second
|
|
34
|
+
* copy of all 6 cached arrays (the "Duplicate RunView Detected" telemetry warning). Instead it
|
|
35
|
+
* COMPOSES the single ActionEngineBase cache and proxies every cached collection / lookup to it,
|
|
36
|
+
* exactly like {@link AIEngine} wraps AIEngineBase. {@link Config} delegates to the base so there is
|
|
37
|
+
* one cache, loaded once, shared by every consumer (and reused by AIEngine.RefreshActions via the
|
|
38
|
+
* BaseEngineRegistry).
|
|
39
|
+
*/
|
|
40
|
+
get Base() {
|
|
41
|
+
return ActionEngineBase.Instance;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Ensures the single ActionEngineBase metadata cache is loaded. Delegates entirely to the base —
|
|
45
|
+
* ActionEngineServer holds no metadata of its own.
|
|
46
|
+
*/
|
|
47
|
+
async Config(forceRefresh = false, contextUser, provider) {
|
|
48
|
+
if (contextUser) {
|
|
49
|
+
this._contextUser = contextUser;
|
|
50
|
+
}
|
|
51
|
+
await this.Base.Config(forceRefresh, contextUser, provider);
|
|
52
|
+
}
|
|
53
|
+
/** True once the underlying ActionEngineBase cache has loaded. */
|
|
54
|
+
get Loaded() { return this.Base.Loaded; }
|
|
55
|
+
get ContextUser() { return (this._contextUser ?? this.Base.ContextUser); }
|
|
56
|
+
set ContextUser(value) { this._contextUser = value; }
|
|
57
|
+
// ── Proxied cached collections (single source of truth: ActionEngineBase.Instance) ──
|
|
58
|
+
get Actions() { return this.Base.Actions; }
|
|
59
|
+
get ActionCategories() { return this.Base.ActionCategories; }
|
|
60
|
+
get ActionParams() { return this.Base.ActionParams; }
|
|
61
|
+
get ActionFilters() { return this.Base.ActionFilters; }
|
|
62
|
+
get ActionResultCodes() { return this.Base.ActionResultCodes; }
|
|
63
|
+
get ActionLibraries() { return this.Base.ActionLibraries; }
|
|
64
|
+
get CoreActions() { return this.Base.CoreActions; }
|
|
65
|
+
get NonCoreActions() { return this.Base.NonCoreActions; }
|
|
66
|
+
get CoreActionsRootCategoryID() { return this.Base.CoreActionsRootCategoryID; }
|
|
67
|
+
// ── Proxied lookups ──
|
|
68
|
+
IsChildCategoryOf(categoryId, parentCategoryId) { return this.Base.IsChildCategoryOf(categoryId, parentCategoryId); }
|
|
69
|
+
IsCoreAction(action) { return this.Base.IsCoreAction(action); }
|
|
70
|
+
IsCoreActionCategory(categoryId) { return this.Base.IsCoreActionCategory(categoryId); }
|
|
71
|
+
GetActionByName(actionName) { return this.Base.GetActionByName(actionName); }
|
|
34
72
|
/**
|
|
35
73
|
* Engine-default wall-clock timeout applied to any action whose
|
|
36
74
|
* `MaxExecutionTimeMS` is NULL. Intentionally generous (2 hours) because
|
|
@@ -383,34 +421,15 @@ export class ActionEngineServer extends ActionEngineBase {
|
|
|
383
421
|
if (saveRecord) {
|
|
384
422
|
// Fire-and-forget the 'started' INSERT (unless the caller opts out) — the action runs
|
|
385
423
|
// immediately, off the DB round-trip critical path. The ID is already assigned by NewRecord(),
|
|
386
|
-
// so the returned LogEntry.ID is valid right away.
|
|
387
|
-
//
|
|
388
|
-
this.
|
|
424
|
+
// so the returned LogEntry.ID is valid right away. EndActionLog's 'ended' UPDATE chains after
|
|
425
|
+
// this INSERT (same entity key), so it can never race it.
|
|
426
|
+
this._logQueue.Insert(logEntity);
|
|
389
427
|
}
|
|
390
428
|
return logEntity;
|
|
391
429
|
}
|
|
392
|
-
/**
|
|
393
|
-
* Saves one action-execution-log row, ALWAYS logging (never swallowing, never verbose-gated) a
|
|
394
|
-
* failure — the log is observability, so a failure must surface but must not throw into the action's
|
|
395
|
-
* success path. `phase` is purely for the error message ('started' INSERT vs 'ended' UPDATE).
|
|
396
|
-
* @returns whether the row persisted.
|
|
397
|
-
*/
|
|
398
|
-
async saveActionLog(logEntity, actionName, phase) {
|
|
399
|
-
try {
|
|
400
|
-
const ok = await logEntity.Save();
|
|
401
|
-
if (!ok) {
|
|
402
|
-
LogError(`Failed to save '${phase}' action execution log for ${actionName}: ${logEntity.LatestResult?.CompleteMessage ?? 'unknown error'}`);
|
|
403
|
-
}
|
|
404
|
-
return ok;
|
|
405
|
-
}
|
|
406
|
-
catch (err) {
|
|
407
|
-
LogError(`Error saving '${phase}' action execution log for ${actionName}: ${err instanceof Error ? err.message : String(err)}`);
|
|
408
|
-
return false;
|
|
409
|
-
}
|
|
410
|
-
}
|
|
411
430
|
async EndActionLog(logEntity, params, result) {
|
|
412
|
-
// Capture the 'ended' state NOW (accurate EndedAt + final merged params)
|
|
413
|
-
// only AFTER the 'started' INSERT commits
|
|
431
|
+
// Capture the 'ended' state NOW (accurate EndedAt + final merged params); the queued UPDATE applies
|
|
432
|
+
// + persists it only AFTER the 'started' INSERT commits (see _logQueue). Caller awaits neither save.
|
|
414
433
|
const endedAt = new Date();
|
|
415
434
|
// Persist the final merged param set (inputs + outputs) — Runtime actions return a fresh array
|
|
416
435
|
// from the sandbox executor that lives on `result.Params`, so logging `params.Params` would lose
|
|
@@ -419,31 +438,18 @@ export class ActionEngineServer extends ActionEngineBase {
|
|
|
419
438
|
const finalParams = JSON.stringify(result.Params ?? params.Params);
|
|
420
439
|
const resultCode = result.Result?.ResultCode;
|
|
421
440
|
const message = result.Message;
|
|
422
|
-
|
|
423
|
-
//
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
* INSERT first makes the End mutation a genuine dirty change against the committed row. Fire-and-forget.
|
|
432
|
-
*/
|
|
433
|
-
async finalizeActionLog(logEntity, actionName, endedAt, finalParams, resultCode, message) {
|
|
434
|
-
const insert = this._logInsertPromises.get(logEntity);
|
|
435
|
-
if (insert) {
|
|
436
|
-
await insert; // ensure the 'started' INSERT fully committed before the 'ended' UPDATE
|
|
437
|
-
this._logInsertPromises.delete(logEntity);
|
|
438
|
-
}
|
|
439
|
-
logEntity.EndedAt = endedAt;
|
|
440
|
-
logEntity.Params = finalParams;
|
|
441
|
-
logEntity.ResultCode = resultCode;
|
|
442
|
-
logEntity.Message = message;
|
|
443
|
-
await this.saveActionLog(logEntity, actionName, 'ended');
|
|
441
|
+
// Fire-and-forget — the action's caller never blocks on the 'ended' UPDATE. The mutation runs
|
|
442
|
+
// INSIDE the post-INSERT task (after the 'started' INSERT lands), so it can never be reverted by
|
|
443
|
+
// the INSERT's reload. The queue is self-bounding, so no flush is needed on this long-lived singleton.
|
|
444
|
+
this._logQueue.Update(logEntity, () => {
|
|
445
|
+
logEntity.EndedAt = endedAt;
|
|
446
|
+
logEntity.Params = finalParams;
|
|
447
|
+
logEntity.ResultCode = resultCode;
|
|
448
|
+
logEntity.Message = message;
|
|
449
|
+
});
|
|
444
450
|
}
|
|
445
451
|
async StartAndEndActionLog(params, result) {
|
|
446
|
-
// No separate INSERT — the single 'ended'
|
|
452
|
+
// No separate INSERT — the single 'ended' UPDATE (force-persist on a never-inserted NewRecord) inserts.
|
|
447
453
|
const logEntity = await this.StartActionLog(params, false);
|
|
448
454
|
await this.EndActionLog(logEntity, params, result);
|
|
449
455
|
return logEntity;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActionEngine.js","sourceRoot":"","sources":["../../src/generic/ActionEngine.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": "5.
|
|
4
|
+
"version": "5.43.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",
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"typescript": "^5.9.3"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@memberjunction/action-runtime": "5.
|
|
25
|
-
"@memberjunction/actions-base": "5.
|
|
26
|
-
"@memberjunction/ai": "5.
|
|
27
|
-
"@memberjunction/code-execution": "5.
|
|
28
|
-
"@memberjunction/core": "5.
|
|
29
|
-
"@memberjunction/core-entities": "5.
|
|
30
|
-
"@memberjunction/doc-utils": "5.
|
|
31
|
-
"@memberjunction/global": "5.
|
|
24
|
+
"@memberjunction/action-runtime": "5.43.0",
|
|
25
|
+
"@memberjunction/actions-base": "5.43.0",
|
|
26
|
+
"@memberjunction/ai": "5.43.0",
|
|
27
|
+
"@memberjunction/code-execution": "5.43.0",
|
|
28
|
+
"@memberjunction/core": "5.43.0",
|
|
29
|
+
"@memberjunction/core-entities": "5.43.0",
|
|
30
|
+
"@memberjunction/doc-utils": "5.43.0",
|
|
31
|
+
"@memberjunction/global": "5.43.0"
|
|
32
32
|
},
|
|
33
33
|
"repository": {
|
|
34
34
|
"type": "git",
|