@mj-biz-apps/orders-server 5.19.0 → 5.21.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/BillComWebhookExtension.d.ts +46 -0
- package/dist/BillComWebhookExtension.d.ts.map +1 -0
- package/dist/BillComWebhookExtension.js +220 -0
- package/dist/BillComWebhookExtension.js.map +1 -0
- package/dist/CheckoutServerExtension.d.ts +13 -1
- package/dist/CheckoutServerExtension.d.ts.map +1 -1
- package/dist/CheckoutServerExtension.js +56 -4
- package/dist/CheckoutServerExtension.js.map +1 -1
- package/dist/__tests__/BillComWebhookExtension.test.d.ts +2 -0
- package/dist/__tests__/BillComWebhookExtension.test.d.ts.map +1 -0
- package/dist/__tests__/BillComWebhookExtension.test.js +166 -0
- package/dist/__tests__/BillComWebhookExtension.test.js.map +1 -0
- package/dist/__tests__/CheckoutServerExtension.test.js +104 -1
- package/dist/__tests__/CheckoutServerExtension.test.js.map +1 -1
- package/dist/__tests__/billcom-actions.test.d.ts +2 -0
- package/dist/__tests__/billcom-actions.test.d.ts.map +1 -0
- package/dist/__tests__/billcom-actions.test.js +89 -0
- package/dist/__tests__/billcom-actions.test.js.map +1 -0
- package/dist/__tests__/server-extensions-manifest.test.js +6 -0
- package/dist/__tests__/server-extensions-manifest.test.js.map +1 -1
- package/dist/custom/action-params.d.ts +31 -0
- package/dist/custom/action-params.d.ts.map +1 -0
- package/dist/custom/action-params.js +69 -0
- package/dist/custom/action-params.js.map +1 -0
- package/dist/custom/apply-access-override-decision.action.d.ts +22 -0
- package/dist/custom/apply-access-override-decision.action.d.ts.map +1 -0
- package/dist/custom/apply-access-override-decision.action.js +53 -0
- package/dist/custom/apply-access-override-decision.action.js.map +1 -0
- package/dist/custom/poll-external-payments.action.d.ts +25 -0
- package/dist/custom/poll-external-payments.action.d.ts.map +1 -0
- package/dist/custom/poll-external-payments.action.js +98 -0
- package/dist/custom/poll-external-payments.action.js.map +1 -0
- package/dist/custom/send-document.action.d.ts.map +1 -1
- package/dist/custom/send-document.action.js +3 -1
- package/dist/custom/send-document.action.js.map +1 -1
- package/dist/custom/send-external-invoices.action.d.ts +27 -0
- package/dist/custom/send-external-invoices.action.d.ts.map +1 -0
- package/dist/custom/send-external-invoices.action.js +92 -0
- package/dist/custom/send-external-invoices.action.js.map +1 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.d.ts +714 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.js +6963 -3214
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/dist/server-extensions-manifest.d.ts.map +1 -1
- package/dist/server-extensions-manifest.js +6 -0
- package/dist/server-extensions-manifest.js.map +1 -1
- package/package.json +10 -4
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
export function param(params, name) {
|
|
2
|
+
return params.Params?.find((p) => p.Name?.toLowerCase() === name.toLowerCase())?.Value;
|
|
3
|
+
}
|
|
4
|
+
/** Whether the caller actually gave us this parameter. Blank is absent. */
|
|
5
|
+
export function supplied(params, name) {
|
|
6
|
+
const raw = param(params, name);
|
|
7
|
+
return raw != null && String(raw).trim().length > 0;
|
|
8
|
+
}
|
|
9
|
+
export function strParam(params, name) {
|
|
10
|
+
const raw = param(params, name);
|
|
11
|
+
if (raw == null)
|
|
12
|
+
return null;
|
|
13
|
+
const value = String(raw).trim();
|
|
14
|
+
return value.length ? value : null;
|
|
15
|
+
}
|
|
16
|
+
/** `null` = absent; `NaN` = present but unreadable, so the caller refuses it. */
|
|
17
|
+
export function numParam(params, name) {
|
|
18
|
+
if (!supplied(params, name))
|
|
19
|
+
return null;
|
|
20
|
+
return Number(param(params, name));
|
|
21
|
+
}
|
|
22
|
+
/** `null` = absent or unreadable — check `supplied()` to tell them apart. */
|
|
23
|
+
export function boolParam(params, name) {
|
|
24
|
+
const raw = param(params, name);
|
|
25
|
+
if (raw == null || raw === '')
|
|
26
|
+
return null;
|
|
27
|
+
if (typeof raw === 'boolean')
|
|
28
|
+
return raw;
|
|
29
|
+
const value = String(raw).trim().toLowerCase();
|
|
30
|
+
if (['true', '1', 'yes', 'y'].includes(value))
|
|
31
|
+
return true;
|
|
32
|
+
if (['false', '0', 'no', 'n'].includes(value))
|
|
33
|
+
return false;
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
/** A comma-separated (or JSON array) list of strings. `null` = absent. */
|
|
37
|
+
export function listParam(params, name) {
|
|
38
|
+
const raw = param(params, name);
|
|
39
|
+
if (raw == null)
|
|
40
|
+
return null;
|
|
41
|
+
if (Array.isArray(raw))
|
|
42
|
+
return raw.map(String).map((s) => s.trim()).filter(Boolean);
|
|
43
|
+
const text = String(raw).trim();
|
|
44
|
+
if (!text)
|
|
45
|
+
return null;
|
|
46
|
+
if (text.startsWith('[')) {
|
|
47
|
+
try {
|
|
48
|
+
const parsed = JSON.parse(text);
|
|
49
|
+
return Array.isArray(parsed) ? parsed.map(String).map((s) => s.trim()).filter(Boolean) : null;
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return text.split(',').map((s) => s.trim()).filter(Boolean);
|
|
56
|
+
}
|
|
57
|
+
export const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
58
|
+
/** Write (or overwrite) an Output param. Never write an output under an INPUT's name — it destroys the record of what the job was called with. */
|
|
59
|
+
export function setOutput(params, name, value) {
|
|
60
|
+
const existing = params.Params?.find((p) => p.Name?.toLowerCase() === name.toLowerCase());
|
|
61
|
+
if (existing) {
|
|
62
|
+
existing.Value = value;
|
|
63
|
+
existing.Type = 'Output';
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
params.Params = params.Params ?? [];
|
|
67
|
+
params.Params.push({ Name: name, Value: value, Type: 'Output' });
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=action-params.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"action-params.js","sourceRoot":"","sources":["../../src/custom/action-params.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `Orders: Apply Access Override Decision` — the Tasks hook for bizapps-orders#268.
|
|
3
|
+
*
|
|
4
|
+
* The `ORDERS_ACCESS_OVERRIDE` task type names this Action as its OnComplete, OnCancel and OnReject
|
|
5
|
+
* hook, so an approval decided in the Tasks inbox reaches the override without anyone opening the
|
|
6
|
+
* order. Tasks passes the task's ID; the run's ContextUser is whoever closed the task, and is recorded
|
|
7
|
+
* as the override's decider.
|
|
8
|
+
*
|
|
9
|
+
* NO OVERRIDE LOGIC LIVES HERE. It is idempotent downstream, so a hook that fires twice, or fires
|
|
10
|
+
* for a Blocked task, changes nothing.
|
|
11
|
+
*
|
|
12
|
+
* @module @mj-biz-apps/orders-server
|
|
13
|
+
*/
|
|
14
|
+
import { BaseAction } from '@memberjunction/actions';
|
|
15
|
+
import type { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
|
|
16
|
+
export declare class ApplyAccessOverrideDecisionAction extends BaseAction {
|
|
17
|
+
/** An action must not throw at its caller — same reasoning as the other hand-authored actions. */
|
|
18
|
+
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
19
|
+
}
|
|
20
|
+
/** Tree-shaking anchor — call from the server bootstrap so @RegisterClass is retained. */
|
|
21
|
+
export declare function LoadApplyAccessOverrideDecisionAction(): void;
|
|
22
|
+
//# sourceMappingURL=apply-access-override-decision.action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-access-override-decision.action.d.ts","sourceRoot":"","sources":["../../src/custom/apply-access-override-decision.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAOxF,qBACa,iCAAkC,SAAQ,UAAU;IAC7D,kGAAkG;cAClF,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAe1F;AAED,0FAA0F;AAC1F,wBAAgB,qCAAqC,IAAI,IAAI,CAE5D"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `Orders: Apply Access Override Decision` — the Tasks hook for bizapps-orders#268.
|
|
3
|
+
*
|
|
4
|
+
* The `ORDERS_ACCESS_OVERRIDE` task type names this Action as its OnComplete, OnCancel and OnReject
|
|
5
|
+
* hook, so an approval decided in the Tasks inbox reaches the override without anyone opening the
|
|
6
|
+
* order. Tasks passes the task's ID; the run's ContextUser is whoever closed the task, and is recorded
|
|
7
|
+
* as the override's decider.
|
|
8
|
+
*
|
|
9
|
+
* NO OVERRIDE LOGIC LIVES HERE. It is idempotent downstream, so a hook that fires twice, or fires
|
|
10
|
+
* for a Blocked task, changes nothing.
|
|
11
|
+
*
|
|
12
|
+
* @module @mj-biz-apps/orders-server
|
|
13
|
+
*/
|
|
14
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
15
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
16
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
17
|
+
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;
|
|
18
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
19
|
+
};
|
|
20
|
+
import { BaseAction } from '@memberjunction/actions';
|
|
21
|
+
import { Metadata } from '@memberjunction/core';
|
|
22
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
23
|
+
import { ApplyAccessOverrideDecision } from '@mj-biz-apps/orders-core-entities-server';
|
|
24
|
+
const refuse = (ResultCode, Message) => ({ Success: false, ResultCode, Message });
|
|
25
|
+
let ApplyAccessOverrideDecisionAction = class ApplyAccessOverrideDecisionAction extends BaseAction {
|
|
26
|
+
/** An action must not throw at its caller — same reasoning as the other hand-authored actions. */
|
|
27
|
+
async InternalRunAction(params) {
|
|
28
|
+
try {
|
|
29
|
+
const user = params.ContextUser;
|
|
30
|
+
if (!user)
|
|
31
|
+
return refuse('NO_CONTEXT_USER', 'ContextUser is required: an access override decision is attributed to whoever made it.');
|
|
32
|
+
const raw = params.Params?.find((p) => p.Name?.toLowerCase() === 'taskid')?.Value;
|
|
33
|
+
const taskID = raw == null ? '' : String(raw).trim();
|
|
34
|
+
if (!taskID)
|
|
35
|
+
return refuse('NO_TASK_ID', 'TaskID is required.');
|
|
36
|
+
const provider = params.Provider ?? Metadata.Provider;
|
|
37
|
+
const out = await ApplyAccessOverrideDecision(taskID, provider, user);
|
|
38
|
+
return { Success: out.Success, ResultCode: out.Success ? 'APPLIED' : 'NOT_APPLIED', Message: out.Message ?? '' };
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
return refuse('ERROR', `Applying the access override decision failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
ApplyAccessOverrideDecisionAction = __decorate([
|
|
46
|
+
RegisterClass(BaseAction, 'Orders.ApplyAccessOverrideDecision')
|
|
47
|
+
], ApplyAccessOverrideDecisionAction);
|
|
48
|
+
export { ApplyAccessOverrideDecisionAction };
|
|
49
|
+
/** Tree-shaking anchor — call from the server bootstrap so @RegisterClass is retained. */
|
|
50
|
+
export function LoadApplyAccessOverrideDecisionAction() {
|
|
51
|
+
// intentionally empty
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=apply-access-override-decision.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apply-access-override-decision.action.js","sourceRoot":"","sources":["../../src/custom/apply-access-override-decision.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAA0B,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AAEvF,MAAM,MAAM,GAAG,CAAC,UAAkB,EAAE,OAAe,EAAsB,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;AAG/G,IAAM,iCAAiC,GAAvC,MAAM,iCAAkC,SAAQ,UAAU;IAC7D,kGAAkG;IACxF,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;YAChC,IAAI,CAAC,IAAI;gBAAE,OAAO,MAAM,CAAC,iBAAiB,EAAE,wFAAwF,CAAC,CAAC;YACtI,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,QAAQ,CAAC,EAAE,KAAK,CAAC;YAClF,MAAM,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YACrD,IAAI,CAAC,MAAM;gBAAE,OAAO,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC,CAAC;YAEhE,MAAM,QAAQ,GAAsB,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;YACzE,MAAM,GAAG,GAAG,MAAM,2BAA2B,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtE,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACrH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,MAAM,CAAC,OAAO,EAAE,iDAAiD,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtI,CAAC;IACL,CAAC;CACJ,CAAA;AAjBY,iCAAiC;IAD7C,aAAa,CAAC,UAAU,EAAE,oCAAoC,CAAC;GACnD,iCAAiC,CAiB7C;;AAED,0FAA0F;AAC1F,MAAM,UAAU,qCAAqC;IACjD,sBAAsB;AAC1B,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `Orders: Poll External Payments` — the scheduling surface for `Orders.PollExternalPayments`.
|
|
3
|
+
*
|
|
4
|
+
* The thinnest adapter between MJ's scheduler (which dispatches Actions) and the operation that does
|
|
5
|
+
* the work. No polling logic lives here. See `send-external-invoices.action.ts` for why.
|
|
6
|
+
*
|
|
7
|
+
* A PASS THAT LEFT MONEY FOR A PERSON IS NOT A SUCCESS. The operation reports `ATTENTION` when it
|
|
8
|
+
* captured what it could but left payments unmatched or needing reversal; that is passed through as
|
|
9
|
+
* Success false so a job that notifies only on failure tells somebody.
|
|
10
|
+
*
|
|
11
|
+
* @module @mj-biz-apps/orders-server
|
|
12
|
+
*/
|
|
13
|
+
import { BaseAction } from '@memberjunction/actions';
|
|
14
|
+
import type { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
|
|
15
|
+
/**
|
|
16
|
+
* Inputs: `PaymentProviderID`, `Preview`, `MaxCount`, `SinceWatermark` — all optional.
|
|
17
|
+
* Outputs: `Captured`, `Held`, `Unmatched`, `Refused`, `Reapplied`, `ReversalNeeded`, `Ignored`, `Outcomes`, `NewWatermarks`, `PreviewedOnly`.
|
|
18
|
+
*/
|
|
19
|
+
export declare class PollExternalPaymentsAction extends BaseAction {
|
|
20
|
+
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
21
|
+
private poll;
|
|
22
|
+
}
|
|
23
|
+
/** Tree-shaking anchor — without it the decorator never runs and the action has nothing behind it. */
|
|
24
|
+
export declare function LoadPollExternalPaymentsAction(): void;
|
|
25
|
+
//# sourceMappingURL=poll-external-payments.action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll-external-payments.action.d.ts","sourceRoot":"","sources":["../../src/custom/poll-external-payments.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMxF;;;GAGG;AACH,qBACa,0BAA2B,SAAQ,UAAU;cACtC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAQzE,IAAI;CAuDrB;AAED,sGAAsG;AACtG,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview `Orders: Poll External Payments` — the scheduling surface for `Orders.PollExternalPayments`.
|
|
9
|
+
*
|
|
10
|
+
* The thinnest adapter between MJ's scheduler (which dispatches Actions) and the operation that does
|
|
11
|
+
* the work. No polling logic lives here. See `send-external-invoices.action.ts` for why.
|
|
12
|
+
*
|
|
13
|
+
* A PASS THAT LEFT MONEY FOR A PERSON IS NOT A SUCCESS. The operation reports `ATTENTION` when it
|
|
14
|
+
* captured what it could but left payments unmatched or needing reversal; that is passed through as
|
|
15
|
+
* Success false so a job that notifies only on failure tells somebody.
|
|
16
|
+
*
|
|
17
|
+
* @module @mj-biz-apps/orders-server
|
|
18
|
+
*/
|
|
19
|
+
import { BaseAction } from '@memberjunction/actions';
|
|
20
|
+
import { Metadata } from '@memberjunction/core';
|
|
21
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
22
|
+
import { OrdersPollExternalPaymentsOperation } from '@mj-biz-apps/orders-entities';
|
|
23
|
+
import { boolParam, numParam, param, setOutput, strParam, supplied, UUID } from './action-params.js';
|
|
24
|
+
/**
|
|
25
|
+
* Inputs: `PaymentProviderID`, `Preview`, `MaxCount`, `SinceWatermark` — all optional.
|
|
26
|
+
* Outputs: `Captured`, `Held`, `Unmatched`, `Refused`, `Reapplied`, `ReversalNeeded`, `Ignored`, `Outcomes`, `NewWatermarks`, `PreviewedOnly`.
|
|
27
|
+
*/
|
|
28
|
+
let PollExternalPaymentsAction = class PollExternalPaymentsAction extends BaseAction {
|
|
29
|
+
async InternalRunAction(params) {
|
|
30
|
+
try {
|
|
31
|
+
return await this.poll(params);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
return { Success: false, ResultCode: 'ERROR', Message: `The external payment poll failed: ${error instanceof Error ? error.message : String(error)}` };
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async poll(params) {
|
|
38
|
+
const user = params.ContextUser;
|
|
39
|
+
if (!user) {
|
|
40
|
+
return { Success: false, ResultCode: 'NO_CONTEXT_USER', Message: 'ContextUser is required: a captured payment has to be attributable to somebody.' };
|
|
41
|
+
}
|
|
42
|
+
const input = {};
|
|
43
|
+
const providerID = strParam(params, 'PaymentProviderID');
|
|
44
|
+
if (providerID !== null) {
|
|
45
|
+
if (!UUID.test(providerID))
|
|
46
|
+
return { Success: false, ResultCode: 'INVALID_PAYMENT_PROVIDER_ID', Message: `'${providerID}' is not a payment provider ID.` };
|
|
47
|
+
input.PaymentProviderID = providerID;
|
|
48
|
+
}
|
|
49
|
+
const maxCount = numParam(params, 'MaxCount');
|
|
50
|
+
if (maxCount !== null) {
|
|
51
|
+
if (!Number.isInteger(maxCount) || maxCount < 1) {
|
|
52
|
+
return { Success: false, ResultCode: 'INVALID_MAX_COUNT', Message: `MaxCount must be a whole number of at least 1 — got '${String(param(params, 'MaxCount'))}'.` };
|
|
53
|
+
}
|
|
54
|
+
input.MaxCount = maxCount;
|
|
55
|
+
}
|
|
56
|
+
const since = strParam(params, 'SinceWatermark');
|
|
57
|
+
if (since !== null) {
|
|
58
|
+
if (Number.isNaN(new Date(since).getTime()))
|
|
59
|
+
return { Success: false, ResultCode: 'INVALID_SINCE_WATERMARK', Message: `'${since}' is not a date/time. SinceWatermark takes ISO 8601.` };
|
|
60
|
+
input.SinceWatermark = new Date(since).toISOString();
|
|
61
|
+
}
|
|
62
|
+
const preview = boolParam(params, 'Preview');
|
|
63
|
+
if (preview === null && supplied(params, 'Preview')) {
|
|
64
|
+
return { Success: false, ResultCode: 'INVALID_PREVIEW', Message: `Preview takes true or false — got '${String(param(params, 'Preview'))}'. Refused rather than guessed, because the wrong guess records cash.` };
|
|
65
|
+
}
|
|
66
|
+
if (preview !== null)
|
|
67
|
+
input.Preview = preview;
|
|
68
|
+
const provider = params.Provider ?? Metadata.Provider;
|
|
69
|
+
const result = await new OrdersPollExternalPaymentsOperation().Execute(input, { provider, user });
|
|
70
|
+
if (!result.Success || !result.Output) {
|
|
71
|
+
return { Success: false, ResultCode: result.ResultCode ?? 'OPERATION_FAILED', Params: params.Params, Message: result.ErrorMessage ?? 'Orders.PollExternalPayments returned no result.' };
|
|
72
|
+
}
|
|
73
|
+
const out = result.Output;
|
|
74
|
+
setOutput(params, 'Captured', out.Captured);
|
|
75
|
+
setOutput(params, 'Held', out.Held);
|
|
76
|
+
setOutput(params, 'Unmatched', out.Unmatched);
|
|
77
|
+
setOutput(params, 'Refused', out.Refused);
|
|
78
|
+
setOutput(params, 'Reapplied', out.Reapplied);
|
|
79
|
+
setOutput(params, 'ReversalNeeded', out.ReversalNeeded);
|
|
80
|
+
setOutput(params, 'Ignored', out.Ignored);
|
|
81
|
+
setOutput(params, 'Outcomes', out.Outcomes);
|
|
82
|
+
setOutput(params, 'NewWatermarks', out.NewWatermarks);
|
|
83
|
+
setOutput(params, 'PreviewedOnly', input.Preview === true);
|
|
84
|
+
if (!out.Success) {
|
|
85
|
+
return { Success: false, ResultCode: out.ResultCode, Params: params.Params, Message: out.Message ?? 'The poll needs attention.' };
|
|
86
|
+
}
|
|
87
|
+
return { Success: true, ResultCode: out.ResultCode, Params: params.Params, Message: out.Message ?? `${out.Captured} payment(s) captured.` };
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
PollExternalPaymentsAction = __decorate([
|
|
91
|
+
RegisterClass(BaseAction, 'Orders.PollExternalPayments')
|
|
92
|
+
], PollExternalPaymentsAction);
|
|
93
|
+
export { PollExternalPaymentsAction };
|
|
94
|
+
/** Tree-shaking anchor — without it the decorator never runs and the action has nothing behind it. */
|
|
95
|
+
export function LoadPollExternalPaymentsAction() {
|
|
96
|
+
void PollExternalPaymentsAction;
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=poll-external-payments.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poll-external-payments.action.js","sourceRoot":"","sources":["../../src/custom/poll-external-payments.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-document.action.d.ts","sourceRoot":"","sources":["../../src/custom/send-document.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAe,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"send-document.action.d.ts","sourceRoot":"","sources":["../../src/custom/send-document.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAe,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAuBrG,qCAAqC;AACrC,MAAM,WAAW,uBAAuB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,sCAAsC;IACtC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,yBAAyB;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uGAAuG;IACvG,eAAe,EAAE,MAAM,EAAE,CAAC;CAC7B;AA+BD;;;;;;GAMG;AACH,qBACa,kBAAmB,SAAQ,UAAU;IAC9C;;;OAGG;cACa,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAYzE,IAAI;IAsKlB;;;;;OAKG;IACH,OAAO,CAAC,OAAO;IAcf,6EAA6E;IAC7E,OAAO,CAAC,WAAW;CAMtB;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAE7C"}
|
|
@@ -38,7 +38,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
38
38
|
import { BaseAction } from '@memberjunction/actions';
|
|
39
39
|
import { Metadata } from '@memberjunction/core';
|
|
40
40
|
import { RegisterClass } from '@memberjunction/global';
|
|
41
|
-
import { BuildSubject, DecideDelivery, DeliveryIdempotencyKey, LoadOrderDeliveryContacts, LoadOrderStatus, ResolveDeliveryChannel, ResolveRecipients, } from '@mj-biz-apps/orders-core-entities-server';
|
|
41
|
+
import { BuildSubject, DecideDelivery, DeliveryIdempotencyKey, LoadOrderDeliveryContacts, LoadOrderStatus, LoadExternallyInvoiced, ResolveDeliveryChannel, ResolveRecipients, } from '@mj-biz-apps/orders-core-entities-server';
|
|
42
42
|
import { RenderInvoiceDocuments } from '../services/invoice-renderer.js';
|
|
43
43
|
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
44
44
|
/** The channels this action will route to. One today; the seam is what matters. */
|
|
@@ -168,6 +168,8 @@ let SendDocumentAction = class SendDocumentAction extends BaseAction {
|
|
|
168
168
|
const outcomes = [];
|
|
169
169
|
for (const doc of rendered.Documents) {
|
|
170
170
|
const facts = this.toFacts(doc, orderStatus);
|
|
171
|
+
// A unit invoiced through Bill.com must not also go out natively (golive #146 AC5).
|
|
172
|
+
facts.ExternallyInvoiced = await LoadExternallyInvoiced(orderID, doc.CompanyID, provider, user);
|
|
171
173
|
const decision = DecideDelivery({ Document: facts, Recipients: contacts });
|
|
172
174
|
if (decision.Verdict === 'Refuse') {
|
|
173
175
|
outcomes.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"send-document.action.js","sourceRoot":"","sources":["../../src/custom/send-document.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAA0B,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EACH,YAAY,EACZ,cAAc,EACd,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,GAIpB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAwB,MAAM,iCAAiC,CAAC;AAE/F,MAAM,IAAI,GAAG,iEAAiE,CAAC;AAE/E,mFAAmF;AACnF,MAAM,QAAQ,GAAmC,CAAC,OAAO,CAAC,CAAC;AAgB3D,SAAS,KAAK,CAAC,MAAuB,EAAE,IAAY;IAChD,OAAO,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,KAAK,CAAC;AAC3F,CAAC;AAED,SAAS,QAAQ,CAAC,MAAuB,EAAE,IAAY;IACnD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG,IAAI,IAAI;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC;AAED,SAAS,SAAS,CAAC,MAAuB,EAAE,IAAY,EAAE,QAAiB;IACvE,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAChC,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC/C,IAAI,OAAO,GAAG,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC;IACzC,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,SAAS,CAAC,MAAuB,EAAE,IAAY,EAAE,KAAc;IACpE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1F,IAAI,QAAQ,EAAE,CAAC;QACX,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC;QACzB,OAAO;IACX,CAAC;IACD,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAiB,CAAC,CAAC;AACpF,CAAC;AAED;;;;;;GAMG;AAEI,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAC9C;;;OAGG;IACO,KAAK,CAAC,iBAAiB,CAAC,MAAuB;QACrD,IAAI,CAAC;YACD,OAAO,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,OAAO;gBACnB,OAAO,EAAE,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;aACpG,CAAC;QACN,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,MAAuB;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC;QAC/F,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACtB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,kBAAkB;gBAC9B,OAAO,EAAE,IAAI,OAAO,qFAAqF;aAC5G,CAAC;QACN,CAAC;QAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,SAAS,wBAAwB,EAAE,CAAC;QAChH,CAAC;QAED,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,OAAO,CAAwB,CAAC;QAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC9B,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,qBAAqB;gBACjC,OAAO,EAAE,IAAI,OAAO,iEAAiE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;aAC9G,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;QAChC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,cAAc;gBAC1B,OAAO,EAAE,6GAA6G;aACzH,CAAC;QACN,CAAC;QAED,2FAA2F;QAC3F,6FAA6F;QAC7F,kBAAkB;QAClB,MAAM,QAAQ,GAAsB,MAAM,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC;QACzE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,qCAAqC,EAAE,CAAC;QACzG,CAAC;QAED,sEAAsE;QACtE,MAAM,QAAQ,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnE,SAAS,EAAE,SAAS;YACpB,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;YAC9C,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,OAAO;YAC7C,YAAY,EAAE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;YAC9C,MAAM,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,QAAQ,CAAC,IAAI,IAAI,eAAe;gBAC5C,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,kCAAkC;aAClE,CAAC;QACN,CAAC;QAED,sEAAsE;QACtE,8FAA8F;QAC9F,wFAAwF;QACxF,mDAAmD;QACnD,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAsB,QAAQ;YACxC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;YAC7D,CAAC,CAAC,MAAM,yBAAyB,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE/D,MAAM,WAAW,GAAG,CAAC,MAAM,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3E,sEAAsE;QACtE,MAAM,MAAM,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAE9C,MAAM,QAAQ,GAA8B,EAAE,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,cAAc,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC;YAE3E,IAAI,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAChC,QAAQ,CAAC,IAAI,CAAC;oBACV,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,EAAE;oBACd,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,eAAe,EAAE,EAAE;iBACtB,CAAC,CAAC;gBACH,SAAS;YACb,CAAC;YAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAC/B;gBACI,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC;gBAC5B,QAAQ,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;aAC3B,EACD,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EACpE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,CAC/D,CAAC;YAEF,QAAQ,CAAC,IAAI,CAAC;gBACV,cAAc,EAAE,GAAG,CAAC,cAAc;gBAClC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,IAAI,EAAE,MAAM,CAAC,OAAO;gBACpB,UAAU,EAAE,MAAM,CAAC,SAAS;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAClC,sBAAsB,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CACvE;aACJ,CAAC,CAAC;QACP,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE/C,SAAS,CAAC,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;QAC1C,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACf,wFAAwF;YACxF,yFAAyF;YACzF,WAAW;YACX,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,mBAAmB;aACpD,CAAC;QACN,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,UAAU,EAAE,gBAAgB;gBAC5B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,OAAO,EACH,GAAG,IAAI,CAAC,MAAM,OAAO,QAAQ,CAAC,MAAM,wBAAwB;oBAC5D,aAAa,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,KAAK,CAAC,CAAC,MAAM,IAAI,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aAC5G,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC;QAChD,OAAO;YACH,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM;YAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,OAAO,EACH,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACf,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,cAAc,IAAI,KAAK,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC9F,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,IAAI,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;SACjH,CAAC;IACN,CAAC;IAED;;;;;OAKG;IACK,OAAO,CAAC,GAAoB,EAAE,WAAmB;QACrD,OAAO;YACH,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,cAAc,EAAE,GAAG,CAAC,cAAc;YAClC,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,yFAAyF;YACzF,+EAA+E;YAC/E,gBAAgB,EAAE,GAAG,CAAC,IAAI,EAAE,aAAa;YACzC,cAAc,EAAE,GAAG,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI;SAChD,CAAC;IACN,CAAC;IAED,6EAA6E;IACrE,WAAW,CAAC,MAAuB,EAAE,IAAY;QACrD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAChF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvD,CAAC;CACJ,CAAA;
|
|
1
|
+
{"version":3,"file":"send-document.action.js","sourceRoot":"","sources":["../../src/custom/send-document.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview `Orders: Send External Invoices` — the scheduling surface for `Orders.SendExternalInvoices`.
|
|
3
|
+
*
|
|
4
|
+
* MJ's scheduler dispatches Actions and Agents; no driver takes an operation key. This Action is the
|
|
5
|
+
* adapter between the two and is deliberately the thinnest thing that can be: read params, route to
|
|
6
|
+
* the operation through the provider (so its `Authorize` hook runs), report what came back. Every
|
|
7
|
+
* rule about WHAT gets sent lives in the operation and in `IssueOneUnit`, where the order form's
|
|
8
|
+
* button exercises the same code.
|
|
9
|
+
*
|
|
10
|
+
* PREVIEW IS A PARAMETER, NOT A SEPARATE ACTION. The go-live gate is one preview run whose list a
|
|
11
|
+
* person confirms before the same job is allowed to send anything.
|
|
12
|
+
*
|
|
13
|
+
* @module @mj-biz-apps/orders-server
|
|
14
|
+
*/
|
|
15
|
+
import { BaseAction } from '@memberjunction/actions';
|
|
16
|
+
import type { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
|
|
17
|
+
/**
|
|
18
|
+
* Inputs: `CompanyIDs`, `MaxCount`, `Preview`, `RetryTransientFailures` — all optional.
|
|
19
|
+
* Outputs: `Sent`, `Failed`, `Skipped`, `Results`, `PreviewedOnly`.
|
|
20
|
+
*/
|
|
21
|
+
export declare class SendExternalInvoicesAction extends BaseAction {
|
|
22
|
+
protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
|
|
23
|
+
private send;
|
|
24
|
+
}
|
|
25
|
+
/** Tree-shaking anchor — without it the decorator never runs and the action has nothing behind it. */
|
|
26
|
+
export declare function LoadSendExternalInvoicesAction(): void;
|
|
27
|
+
//# sourceMappingURL=send-external-invoices.action.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-external-invoices.action.d.ts","sourceRoot":"","sources":["../../src/custom/send-external-invoices.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMxF;;;GAGG;AACH,qBACa,0BAA2B,SAAQ,UAAU;cACtC,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAQzE,IAAI;CA+CrB;AAED,sGAAsG;AACtG,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
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
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* @fileoverview `Orders: Send External Invoices` — the scheduling surface for `Orders.SendExternalInvoices`.
|
|
9
|
+
*
|
|
10
|
+
* MJ's scheduler dispatches Actions and Agents; no driver takes an operation key. This Action is the
|
|
11
|
+
* adapter between the two and is deliberately the thinnest thing that can be: read params, route to
|
|
12
|
+
* the operation through the provider (so its `Authorize` hook runs), report what came back. Every
|
|
13
|
+
* rule about WHAT gets sent lives in the operation and in `IssueOneUnit`, where the order form's
|
|
14
|
+
* button exercises the same code.
|
|
15
|
+
*
|
|
16
|
+
* PREVIEW IS A PARAMETER, NOT A SEPARATE ACTION. The go-live gate is one preview run whose list a
|
|
17
|
+
* person confirms before the same job is allowed to send anything.
|
|
18
|
+
*
|
|
19
|
+
* @module @mj-biz-apps/orders-server
|
|
20
|
+
*/
|
|
21
|
+
import { BaseAction } from '@memberjunction/actions';
|
|
22
|
+
import { Metadata } from '@memberjunction/core';
|
|
23
|
+
import { RegisterClass } from '@memberjunction/global';
|
|
24
|
+
import { OrdersSendExternalInvoicesOperation } from '@mj-biz-apps/orders-entities';
|
|
25
|
+
import { boolParam, listParam, numParam, param, setOutput, supplied, UUID } from './action-params.js';
|
|
26
|
+
/**
|
|
27
|
+
* Inputs: `CompanyIDs`, `MaxCount`, `Preview`, `RetryTransientFailures` — all optional.
|
|
28
|
+
* Outputs: `Sent`, `Failed`, `Skipped`, `Results`, `PreviewedOnly`.
|
|
29
|
+
*/
|
|
30
|
+
let SendExternalInvoicesAction = class SendExternalInvoicesAction extends BaseAction {
|
|
31
|
+
async InternalRunAction(params) {
|
|
32
|
+
try {
|
|
33
|
+
return await this.send(params);
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
return { Success: false, ResultCode: 'ERROR', Message: `The external invoice sweep failed: ${error instanceof Error ? error.message : String(error)}` };
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async send(params) {
|
|
40
|
+
const user = params.ContextUser;
|
|
41
|
+
if (!user) {
|
|
42
|
+
return { Success: false, ResultCode: 'NO_CONTEXT_USER', Message: 'ContextUser is required: a rail invoice has to be attributable to somebody.' };
|
|
43
|
+
}
|
|
44
|
+
const input = {};
|
|
45
|
+
const companies = listParam(params, 'CompanyIDs');
|
|
46
|
+
if (companies !== null) {
|
|
47
|
+
const bad = companies.filter((c) => !UUID.test(c));
|
|
48
|
+
if (bad.length)
|
|
49
|
+
return { Success: false, ResultCode: 'INVALID_COMPANY_IDS', Message: `CompanyIDs must be company IDs, comma-separated — got '${bad.join(', ')}'.` };
|
|
50
|
+
input.CompanyIDs = companies;
|
|
51
|
+
}
|
|
52
|
+
const maxCount = numParam(params, 'MaxCount');
|
|
53
|
+
if (maxCount !== null) {
|
|
54
|
+
if (!Number.isInteger(maxCount) || maxCount < 1) {
|
|
55
|
+
return { Success: false, ResultCode: 'INVALID_MAX_COUNT', Message: `MaxCount is a cap on units sent in one pass, so it must be a whole number of at least 1 — got '${String(param(params, 'MaxCount'))}'.` };
|
|
56
|
+
}
|
|
57
|
+
input.MaxCount = maxCount;
|
|
58
|
+
}
|
|
59
|
+
for (const name of ['Preview', 'RetryTransientFailures']) {
|
|
60
|
+
const value = boolParam(params, name);
|
|
61
|
+
if (value === null && supplied(params, name)) {
|
|
62
|
+
return { Success: false, ResultCode: `INVALID_${name.toUpperCase()}`, Message: `${name} takes true or false — got '${String(param(params, name))}'. Refused rather than guessed, because the wrong guess sends customers invoices.` };
|
|
63
|
+
}
|
|
64
|
+
if (value !== null)
|
|
65
|
+
input[name] = value;
|
|
66
|
+
}
|
|
67
|
+
const provider = params.Provider ?? Metadata.Provider;
|
|
68
|
+
const result = await new OrdersSendExternalInvoicesOperation().Execute(input, { provider, user });
|
|
69
|
+
if (!result.Success || !result.Output) {
|
|
70
|
+
return { Success: false, ResultCode: result.ResultCode ?? 'OPERATION_FAILED', Params: params.Params, Message: result.ErrorMessage ?? 'Orders.SendExternalInvoices returned no result.' };
|
|
71
|
+
}
|
|
72
|
+
const out = result.Output;
|
|
73
|
+
setOutput(params, 'Sent', out.Sent);
|
|
74
|
+
setOutput(params, 'Failed', out.Failed);
|
|
75
|
+
setOutput(params, 'Skipped', out.Skipped);
|
|
76
|
+
setOutput(params, 'Results', out.Results);
|
|
77
|
+
setOutput(params, 'PreviewedOnly', input.Preview === true);
|
|
78
|
+
if (!out.Success) {
|
|
79
|
+
return { Success: false, ResultCode: 'PARTIAL', Params: params.Params, Message: out.Message ?? `${out.Failed} unit(s) were not sent.` };
|
|
80
|
+
}
|
|
81
|
+
return { Success: true, ResultCode: input.Preview === true ? 'PREVIEWED' : 'COMPLETED', Params: params.Params, Message: out.Message ?? `${out.Sent} unit(s) sent.` };
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
SendExternalInvoicesAction = __decorate([
|
|
85
|
+
RegisterClass(BaseAction, 'Orders.SendExternalInvoices')
|
|
86
|
+
], SendExternalInvoicesAction);
|
|
87
|
+
export { SendExternalInvoicesAction };
|
|
88
|
+
/** Tree-shaking anchor — without it the decorator never runs and the action has nothing behind it. */
|
|
89
|
+
export function LoadSendExternalInvoicesAction() {
|
|
90
|
+
void SendExternalInvoicesAction;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=send-external-invoices.action.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"send-external-invoices.action.js","sourceRoot":"","sources":["../../src/custom/send-external-invoices.action.ts"],"names":[],"mappings":"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"}
|