@mj-biz-apps/orders-server 5.17.0 → 5.19.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.
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @fileoverview `Orders: Enforce Payment-Gated Access` — the nightly pass for bc-aidp-next-golive#223.
3
+ *
4
+ * A renewal goes past its cutoff with nothing being written; only a day passes. The payment path
5
+ * moves grants when cash moves, and this is the caller for the other half: MJ's scheduler dispatches
6
+ * Actions, so the Action is how the clock reaches `EnforcePaymentGatedAccess`.
7
+ *
8
+ * NO ACCESS LOGIC LIVES HERE. Candidate selection, the decision and the writes are all in
9
+ * `PaymentGatedAccess.ts`; this reads parameters, calls it, and reports what came back.
10
+ *
11
+ * PREVIEW IS A PARAMETER. The scheduled job ships set to Preview, so the first runs report what they
12
+ * would suspend and write nothing. Setting Preview to false is the act that starts cutting access.
13
+ *
14
+ * @module @mj-biz-apps/orders-server
15
+ */
16
+ import { BaseAction } from '@memberjunction/actions';
17
+ import type { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
18
+ /**
19
+ * Suspend renewals past the cutoff and restore grants whose payment has arrived.
20
+ *
21
+ * Inputs: `AsOfDate`, `Preview`, `MaxCount` — all optional.
22
+ * Outputs: `Activated`, `Suspended`, `Changes`, `Failures`, `PreviewedOnly`.
23
+ */
24
+ export declare class EnforcePaymentGatedAccessAction extends BaseAction {
25
+ /** An action must not throw at its caller — same reasoning as the other hand-authored actions. */
26
+ protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
27
+ private enforce;
28
+ }
29
+ /** Tree-shaking anchor — without it the decorator never runs and the action has nothing behind it. */
30
+ export declare function LoadEnforcePaymentGatedAccessAction(): void;
31
+ //# sourceMappingURL=enforce-payment-gated-access.action.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce-payment-gated-access.action.d.ts","sourceRoot":"","sources":["../../src/custom/enforce-payment-gated-access.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAe,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AA0BrG;;;;;GAKG;AACH,qBACa,+BAAgC,SAAQ,UAAU;IAC3D,kGAAkG;cAClF,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAQzE,OAAO;CAkDxB;AAED,sGAAsG;AACtG,wBAAgB,mCAAmC,IAAI,IAAI,CAE1D"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * @fileoverview `Orders: Enforce Payment-Gated Access` — the nightly pass for bc-aidp-next-golive#223.
3
+ *
4
+ * A renewal goes past its cutoff with nothing being written; only a day passes. The payment path
5
+ * moves grants when cash moves, and this is the caller for the other half: MJ's scheduler dispatches
6
+ * Actions, so the Action is how the clock reaches `EnforcePaymentGatedAccess`.
7
+ *
8
+ * NO ACCESS LOGIC LIVES HERE. Candidate selection, the decision and the writes are all in
9
+ * `PaymentGatedAccess.ts`; this reads parameters, calls it, and reports what came back.
10
+ *
11
+ * PREVIEW IS A PARAMETER. The scheduled job ships set to Preview, so the first runs report what they
12
+ * would suspend and write nothing. Setting Preview to false is the act that starts cutting access.
13
+ *
14
+ * @module @mj-biz-apps/orders-server
15
+ */
16
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
17
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
18
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
19
+ 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;
20
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
21
+ };
22
+ import { BaseAction } from '@memberjunction/actions';
23
+ import { Metadata } from '@memberjunction/core';
24
+ import { RegisterClass } from '@memberjunction/global';
25
+ import { EnforcePaymentGatedAccess } from '@mj-biz-apps/orders-core-entities-server';
26
+ function param(params, name) {
27
+ const raw = params.Params?.find((p) => p.Name?.toLowerCase() === name.toLowerCase())?.Value;
28
+ if (raw == null)
29
+ return null;
30
+ const value = String(raw).trim();
31
+ // A scheduler writes an unset parameter as an empty string, so blank is absent.
32
+ return value.length ? value : null;
33
+ }
34
+ function setOutput(params, name, value) {
35
+ const existing = params.Params?.find((p) => p.Name?.toLowerCase() === name.toLowerCase());
36
+ if (existing) {
37
+ existing.Value = value;
38
+ existing.Type = 'Output';
39
+ return;
40
+ }
41
+ params.Params = params.Params ?? [];
42
+ params.Params.push({ Name: name, Value: value, Type: 'Output' });
43
+ }
44
+ const refuse = (ResultCode, Message) => ({ Success: false, ResultCode, Message });
45
+ /**
46
+ * Suspend renewals past the cutoff and restore grants whose payment has arrived.
47
+ *
48
+ * Inputs: `AsOfDate`, `Preview`, `MaxCount` — all optional.
49
+ * Outputs: `Activated`, `Suspended`, `Changes`, `Failures`, `PreviewedOnly`.
50
+ */
51
+ let EnforcePaymentGatedAccessAction = class EnforcePaymentGatedAccessAction extends BaseAction {
52
+ /** An action must not throw at its caller — same reasoning as the other hand-authored actions. */
53
+ async InternalRunAction(params) {
54
+ try {
55
+ return await this.enforce(params);
56
+ }
57
+ catch (error) {
58
+ return refuse('ERROR', `The payment-gated access pass failed: ${error instanceof Error ? error.message : String(error)}`);
59
+ }
60
+ }
61
+ async enforce(params) {
62
+ const user = params.ContextUser;
63
+ if (!user)
64
+ return refuse('NO_CONTEXT_USER', 'ContextUser is required: suspending access has to be attributable to somebody.');
65
+ const input = {};
66
+ const asOf = param(params, 'AsOfDate');
67
+ if (asOf !== null) {
68
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(asOf) || Number.isNaN(new Date(asOf).getTime())) {
69
+ return refuse('INVALID_AS_OF_DATE', `'${asOf}' is not a date. AsOfDate takes YYYY-MM-DD, and is omitted for "today".`);
70
+ }
71
+ input.AsOfDate = asOf;
72
+ }
73
+ const preview = param(params, 'Preview');
74
+ if (preview !== null) {
75
+ // Refused rather than guessed: the wrong guess suspends customers.
76
+ const v = preview.toLowerCase();
77
+ if (['true', '1', 'yes', 'y'].includes(v))
78
+ input.Preview = true;
79
+ else if (['false', '0', 'no', 'n'].includes(v))
80
+ input.Preview = false;
81
+ else
82
+ return refuse('INVALID_PREVIEW', `Preview takes true or false — got '${preview}'.`);
83
+ }
84
+ const maxCount = param(params, 'MaxCount');
85
+ if (maxCount !== null) {
86
+ const n = Number(maxCount);
87
+ if (!Number.isInteger(n) || n < 1) {
88
+ return refuse('INVALID_MAX_COUNT', `MaxCount must be a whole number of at least 1 — got '${maxCount}'.`);
89
+ }
90
+ input.MaxCount = n;
91
+ }
92
+ const provider = params.Provider ?? Metadata.Provider;
93
+ const output = await EnforcePaymentGatedAccess(input, provider, user);
94
+ setOutput(params, 'Activated', output.Activated);
95
+ setOutput(params, 'Suspended', output.Suspended);
96
+ setOutput(params, 'Changes', output.Changes);
97
+ setOutput(params, 'Failures', output.Failures);
98
+ // Not named `Preview`: an output overwrites the param row of the same name, and whether a
99
+ // run was a rehearsal is the one fact the run record has to keep.
100
+ setOutput(params, 'PreviewedOnly', input.Preview === true);
101
+ return {
102
+ Success: output.Success,
103
+ ResultCode: !output.Success ? 'PARTIAL' : input.Preview ? 'PREVIEWED' : 'COMPLETED',
104
+ Params: params.Params,
105
+ Message: output.Message ?? '',
106
+ };
107
+ }
108
+ };
109
+ EnforcePaymentGatedAccessAction = __decorate([
110
+ RegisterClass(BaseAction, 'Orders.EnforcePaymentGatedAccess')
111
+ ], EnforcePaymentGatedAccessAction);
112
+ export { EnforcePaymentGatedAccessAction };
113
+ /** Tree-shaking anchor — without it the decorator never runs and the action has nothing behind it. */
114
+ export function LoadEnforcePaymentGatedAccessAction() {
115
+ void EnforcePaymentGatedAccessAction;
116
+ }
117
+ //# sourceMappingURL=enforce-payment-gated-access.action.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enforce-payment-gated-access.action.js","sourceRoot":"","sources":["../../src/custom/enforce-payment-gated-access.action.ts"],"names":[],"mappings":"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"}
@@ -504,6 +504,9 @@ export declare class mjBizAppsOrdersEntitlementGrant_ {
504
504
  RevocationReason?: string;
505
505
  _mj__CreatedAt: Date;
506
506
  _mj__UpdatedAt: Date;
507
+ GrantTimingApplied?: string;
508
+ SuspendedAt?: Date;
509
+ SuspensionReason?: string;
507
510
  ProductEntitlement?: string;
508
511
  Subscription?: string;
509
512
  BeneficiaryPerson?: string;
@@ -526,6 +529,9 @@ export declare class CreatemjBizAppsOrdersEntitlementGrantInput {
526
529
  SubscriptionTermID: string | null;
527
530
  RevokedAt: Date | null;
528
531
  RevocationReason: string | null;
532
+ GrantTimingApplied: string | null;
533
+ SuspendedAt: Date | null;
534
+ SuspensionReason: string | null;
529
535
  RestoreContext___?: RestoreContextInput;
530
536
  }
531
537
  export declare class UpdatemjBizAppsOrdersEntitlementGrantInput {
@@ -544,6 +550,9 @@ export declare class UpdatemjBizAppsOrdersEntitlementGrantInput {
544
550
  SubscriptionTermID?: string | null;
545
551
  RevokedAt?: Date | null;
546
552
  RevocationReason?: string | null;
553
+ GrantTimingApplied?: string | null;
554
+ SuspendedAt?: Date | null;
555
+ SuspensionReason?: string | null;
547
556
  OldValues___?: KeyValuePairInput[];
548
557
  RestoreContext___?: RestoreContextInput;
549
558
  }
@@ -615,6 +624,7 @@ export declare class mjBizAppsOrdersEventOrderLine_ {
615
624
  PriceOverrideReason?: string;
616
625
  DimensionID?: string;
617
626
  DimensionValueID?: string;
627
+ ShipToAddressSnapshot?: string;
618
628
  Person?: string;
619
629
  BilledToDate: number;
620
630
  ReadableFields___?: string[];
@@ -670,6 +680,7 @@ export declare class CreatemjBizAppsOrdersEventOrderLineInput {
670
680
  DimensionValueID: string | null;
671
681
  BilledToDate?: number;
672
682
  RecognizedToDate?: number;
683
+ ShipToAddressSnapshot: string | null;
673
684
  RestoreContext___?: RestoreContextInput;
674
685
  }
675
686
  export declare class UpdatemjBizAppsOrdersEventOrderLineInput {
@@ -722,6 +733,7 @@ export declare class UpdatemjBizAppsOrdersEventOrderLineInput {
722
733
  DimensionValueID?: string | null;
723
734
  BilledToDate?: number;
724
735
  RecognizedToDate?: number;
736
+ ShipToAddressSnapshot?: string | null;
725
737
  OldValues___?: KeyValuePairInput[];
726
738
  RestoreContext___?: RestoreContextInput;
727
739
  }
@@ -1269,6 +1281,8 @@ export declare class mjBizAppsOrdersOrderHeader_ {
1269
1281
  Origin?: string;
1270
1282
  SourceCheckoutWidgetID?: string;
1271
1283
  FulfillmentStatus?: string;
1284
+ BillToAddressSnapshot?: string;
1285
+ ShipToAddressSnapshot?: string;
1272
1286
  Company?: string;
1273
1287
  BillToPerson?: string;
1274
1288
  BillToOrganization?: string;
@@ -1326,6 +1340,8 @@ export declare class CreatemjBizAppsOrdersOrderHeaderInput {
1326
1340
  Origin?: string;
1327
1341
  SourceCheckoutWidgetID: string | null;
1328
1342
  FulfillmentStatus?: string;
1343
+ BillToAddressSnapshot: string | null;
1344
+ ShipToAddressSnapshot: string | null;
1329
1345
  RestoreContext___?: RestoreContextInput;
1330
1346
  }
1331
1347
  export declare class UpdatemjBizAppsOrdersOrderHeaderInput {
@@ -1363,6 +1379,8 @@ export declare class UpdatemjBizAppsOrdersOrderHeaderInput {
1363
1379
  Origin?: string;
1364
1380
  SourceCheckoutWidgetID?: string | null;
1365
1381
  FulfillmentStatus?: string;
1382
+ BillToAddressSnapshot?: string | null;
1383
+ ShipToAddressSnapshot?: string | null;
1366
1384
  OldValues___?: KeyValuePairInput[];
1367
1385
  RestoreContext___?: RestoreContextInput;
1368
1386
  }
@@ -1522,6 +1540,7 @@ export declare class mjBizAppsOrdersOrderLine_ {
1522
1540
  PriceOverrideReason?: string;
1523
1541
  DimensionID?: string;
1524
1542
  DimensionValueID?: string;
1543
+ ShipToAddressSnapshot?: string;
1525
1544
  BilledToDate: number;
1526
1545
  RecognizedToDate: number;
1527
1546
  OrderHeader?: string;
@@ -1578,6 +1597,7 @@ export declare class CreatemjBizAppsOrdersOrderLineInput {
1578
1597
  DimensionValueID: string | null;
1579
1598
  BilledToDate?: number;
1580
1599
  RecognizedToDate?: number;
1600
+ ShipToAddressSnapshot: string | null;
1581
1601
  RestoreContext___?: RestoreContextInput;
1582
1602
  }
1583
1603
  export declare class UpdatemjBizAppsOrdersOrderLineInput {
@@ -1616,6 +1636,7 @@ export declare class UpdatemjBizAppsOrdersOrderLineInput {
1616
1636
  DimensionValueID?: string | null;
1617
1637
  BilledToDate?: number;
1618
1638
  RecognizedToDate?: number;
1639
+ ShipToAddressSnapshot?: string | null;
1619
1640
  OldValues___?: KeyValuePairInput[];
1620
1641
  RestoreContext___?: RestoreContextInput;
1621
1642
  }
@@ -1797,6 +1818,7 @@ export declare class mjBizAppsOrdersPaymentHeader_ {
1797
1818
  IdempotencyKey?: string;
1798
1819
  _mj__CreatedAt: Date;
1799
1820
  _mj__UpdatedAt: Date;
1821
+ ReversalSource?: string;
1800
1822
  ReceivingCompany?: string;
1801
1823
  BillToPerson?: string;
1802
1824
  BillToOrganization?: string;
@@ -1831,6 +1853,7 @@ export declare class CreatemjBizAppsOrdersPaymentHeaderInput {
1831
1853
  Description: string | null;
1832
1854
  Notes: string | null;
1833
1855
  IdempotencyKey: string | null;
1856
+ ReversalSource: string | null;
1834
1857
  RestoreContext___?: RestoreContextInput;
1835
1858
  }
1836
1859
  export declare class UpdatemjBizAppsOrdersPaymentHeaderInput {
@@ -1856,6 +1879,7 @@ export declare class UpdatemjBizAppsOrdersPaymentHeaderInput {
1856
1879
  Description?: string | null;
1857
1880
  Notes?: string | null;
1858
1881
  IdempotencyKey?: string | null;
1882
+ ReversalSource?: string | null;
1859
1883
  OldValues___?: KeyValuePairInput[];
1860
1884
  RestoreContext___?: RestoreContextInput;
1861
1885
  }