@mj-biz-apps/orders-core-entities-server 5.24.0 → 5.26.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.
Files changed (83) hide show
  1. package/dist/AccountingBridge.d.ts +17 -0
  2. package/dist/AccountingBridge.d.ts.map +1 -1
  3. package/dist/AccountingBridge.js +28 -9
  4. package/dist/AccountingBridge.js.map +1 -1
  5. package/dist/BaseInvoiceRail.d.ts +13 -0
  6. package/dist/BaseInvoiceRail.d.ts.map +1 -1
  7. package/dist/BaseInvoiceRail.js +16 -0
  8. package/dist/BaseInvoiceRail.js.map +1 -1
  9. package/dist/BillComInvoiceRail.d.ts +4 -0
  10. package/dist/BillComInvoiceRail.d.ts.map +1 -1
  11. package/dist/BillComInvoiceRail.js +10 -0
  12. package/dist/BillComInvoiceRail.js.map +1 -1
  13. package/dist/CancelSubscriptionOperation.d.ts +31 -8
  14. package/dist/CancelSubscriptionOperation.d.ts.map +1 -1
  15. package/dist/CancelSubscriptionOperation.js +125 -58
  16. package/dist/CancelSubscriptionOperation.js.map +1 -1
  17. package/dist/CheckEntitlementOperation.d.ts +2 -2
  18. package/dist/CheckEntitlementOperation.js +2 -2
  19. package/dist/CheckoutPrePurchaseCheck.d.ts +74 -0
  20. package/dist/CheckoutPrePurchaseCheck.d.ts.map +1 -0
  21. package/dist/CheckoutPrePurchaseCheck.js +125 -0
  22. package/dist/CheckoutPrePurchaseCheck.js.map +1 -0
  23. package/dist/CheckoutSessionService.d.ts +7 -0
  24. package/dist/CheckoutSessionService.d.ts.map +1 -1
  25. package/dist/CheckoutSessionService.js +44 -8
  26. package/dist/CheckoutSessionService.js.map +1 -1
  27. package/dist/DimensionDefaultResolver.d.ts +2 -1
  28. package/dist/DimensionDefaultResolver.d.ts.map +1 -1
  29. package/dist/DimensionDefaultResolver.js +2 -1
  30. package/dist/DimensionDefaultResolver.js.map +1 -1
  31. package/dist/EntitlementRead.d.ts.map +1 -1
  32. package/dist/EntitlementRead.js +12 -13
  33. package/dist/EntitlementRead.js.map +1 -1
  34. package/dist/GLAccountResolver.d.ts +74 -5
  35. package/dist/GLAccountResolver.d.ts.map +1 -1
  36. package/dist/GLAccountResolver.js +80 -0
  37. package/dist/GLAccountResolver.js.map +1 -1
  38. package/dist/InstalmentInvoiceEntry.d.ts.map +1 -1
  39. package/dist/InstalmentInvoiceEntry.js +10 -3
  40. package/dist/InstalmentInvoiceEntry.js.map +1 -1
  41. package/dist/IssueExternalInvoiceOperation.d.ts.map +1 -1
  42. package/dist/IssueExternalInvoiceOperation.js +15 -2
  43. package/dist/IssueExternalInvoiceOperation.js.map +1 -1
  44. package/dist/OrderEntityServer.d.ts +13 -1
  45. package/dist/OrderEntityServer.d.ts.map +1 -1
  46. package/dist/OrderEntityServer.js +51 -5
  47. package/dist/OrderEntityServer.js.map +1 -1
  48. package/dist/OrderJournalEntryFactory.d.ts.map +1 -1
  49. package/dist/OrderJournalEntryFactory.js +9 -2
  50. package/dist/OrderJournalEntryFactory.js.map +1 -1
  51. package/dist/PersonByEmail.d.ts +45 -0
  52. package/dist/PersonByEmail.d.ts.map +1 -0
  53. package/dist/PersonByEmail.js +78 -0
  54. package/dist/PersonByEmail.js.map +1 -0
  55. package/dist/ProgressSupersede.d.ts +15 -6
  56. package/dist/ProgressSupersede.d.ts.map +1 -1
  57. package/dist/ProgressSupersede.js +35 -9
  58. package/dist/ProgressSupersede.js.map +1 -1
  59. package/dist/RailCustomerNameLimit.d.ts +49 -0
  60. package/dist/RailCustomerNameLimit.d.ts.map +1 -0
  61. package/dist/RailCustomerNameLimit.js +86 -0
  62. package/dist/RailCustomerNameLimit.js.map +1 -0
  63. package/dist/RecordProgressOperation.d.ts +16 -32
  64. package/dist/RecordProgressOperation.d.ts.map +1 -1
  65. package/dist/RecordProgressOperation.js +25 -57
  66. package/dist/RecordProgressOperation.js.map +1 -1
  67. package/dist/SpawnRenewalsOperation.d.ts +13 -3
  68. package/dist/SpawnRenewalsOperation.d.ts.map +1 -1
  69. package/dist/SpawnRenewalsOperation.js +21 -25
  70. package/dist/SpawnRenewalsOperation.js.map +1 -1
  71. package/dist/SubscriptionBehavior.d.ts +26 -0
  72. package/dist/SubscriptionBehavior.d.ts.map +1 -1
  73. package/dist/SubscriptionBehavior.js +39 -2
  74. package/dist/SubscriptionBehavior.js.map +1 -1
  75. package/dist/displaced-start-event.d.ts +18 -0
  76. package/dist/displaced-start-event.d.ts.map +1 -0
  77. package/dist/displaced-start-event.js +20 -0
  78. package/dist/displaced-start-event.js.map +1 -0
  79. package/dist/index.d.ts +4 -1
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +4 -1
  82. package/dist/index.js.map +1 -1
  83. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"OrderJournalEntryFactory.js","sourceRoot":"","sources":["../src/OrderJournalEntryFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderJournalEntryFactory.js","sourceRoot":"","sources":["../src/OrderJournalEntryFactory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * @fileoverview Which Person an e-mail address means — one rule for every Orders path that finds a
3
+ * buyer by e-mail.
4
+ *
5
+ * A directory can hold several Person rows with the same e-mail: imports, merges not yet done, a
6
+ * person entered twice. A path that takes "the first match" without an order gets whichever row the
7
+ * database returns, which can differ from one call to the next, so one buyer's orders, subscriptions
8
+ * and grants end up split across rows — and a path that refuses when several match disagrees with
9
+ * the path that picked one.
10
+ *
11
+ * THE RULE. Trimmed and lower-cased; the `Email` column's case-insensitive collation matches any
12
+ * casing. Among several matches:
13
+ * 1. a Person that already has Orders activity — an order billed to them, or a subscription or
14
+ * entitlement grant for them — so a returning buyer stays on the row that holds their history;
15
+ * 2. then the oldest (`__mj_CreatedAt`);
16
+ * 3. then the lowest ID, so the answer never depends on row order.
17
+ * The rule does not merge anything; duplicates are a data task.
18
+ */
19
+ import { RunView, UserInfo } from '@memberjunction/core';
20
+ /** Longest address accepted, as RFC 5321 allows. */
21
+ export declare const MAX_PERSON_EMAIL_LENGTH = 254;
22
+ /** Trimmed and lower-cased, or null when empty or longer than {@link MAX_PERSON_EMAIL_LENGTH}. */
23
+ export declare function NormalizePersonEmail(value: unknown): string | null;
24
+ export interface PersonCandidate {
25
+ ID: string;
26
+ CreatedAt: Date | string | null;
27
+ HasOrdersActivity: boolean;
28
+ }
29
+ /** The rule's choice among candidates for one e-mail — pure. Null for none. */
30
+ export declare function ChoosePersonForEmail(candidates: PersonCandidate[]): string | null;
31
+ export interface ResolvePersonByEmailResult {
32
+ /** False when a read failed; `PersonID` is then null and the caller must not treat it as "no Person". */
33
+ Success: boolean;
34
+ PersonID: string | null;
35
+ /** How many Persons carry this e-mail. */
36
+ MatchCount: number;
37
+ ErrorMessage?: string;
38
+ }
39
+ /**
40
+ * The Person an e-mail means, by the rule above.
41
+ *
42
+ * @param rv - The RunView to read through (carries the caller's provider)
43
+ */
44
+ export declare function ResolvePersonByEmail(email: unknown, rv: RunView, user: UserInfo | undefined): Promise<ResolvePersonByEmailResult>;
45
+ //# sourceMappingURL=PersonByEmail.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersonByEmail.d.ts","sourceRoot":"","sources":["../src/PersonByEmail.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAQzD,oDAAoD;AACpD,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,kGAAkG;AAClG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAIlE;AAED,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,eAAe,EAAE,GAAG,MAAM,GAAG,IAAI,CAejF;AAED,MAAM,WAAW,0BAA0B;IACvC,yGAAyG;IACzG,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0CAA0C;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAyCvI"}
@@ -0,0 +1,78 @@
1
+ import { EscapeText } from './sql-guards.js';
2
+ const PERSON_ENTITY = 'MJ_BizApps_Common: People';
3
+ const ORDER_HEADER_ENTITY = 'MJ_BizApps_Orders: Order Headers';
4
+ const SUBSCRIPTION_ENTITY = 'MJ_BizApps_Orders: Subscriptions';
5
+ const ENTITLEMENT_GRANT_ENTITY = 'MJ_BizApps_Orders: Entitlement Grants';
6
+ /** Longest address accepted, as RFC 5321 allows. */
7
+ export const MAX_PERSON_EMAIL_LENGTH = 254;
8
+ /** Trimmed and lower-cased, or null when empty or longer than {@link MAX_PERSON_EMAIL_LENGTH}. */
9
+ export function NormalizePersonEmail(value) {
10
+ const email = String(value ?? '').trim().toLowerCase();
11
+ if (!email || email.length > MAX_PERSON_EMAIL_LENGTH)
12
+ return null;
13
+ return email;
14
+ }
15
+ /** The rule's choice among candidates for one e-mail — pure. Null for none. */
16
+ export function ChoosePersonForEmail(candidates) {
17
+ if (candidates.length === 0)
18
+ return null;
19
+ const time = (c) => {
20
+ const t = c.CreatedAt == null ? NaN : new Date(c.CreatedAt).getTime();
21
+ return Number.isFinite(t) ? t : Number.POSITIVE_INFINITY;
22
+ };
23
+ const sorted = [...candidates].sort((a, b) => {
24
+ if (a.HasOrdersActivity !== b.HasOrdersActivity)
25
+ return a.HasOrdersActivity ? -1 : 1;
26
+ const byTime = time(a) - time(b);
27
+ if (byTime !== 0)
28
+ return byTime;
29
+ const idA = a.ID.toLowerCase();
30
+ const idB = b.ID.toLowerCase();
31
+ return idA < idB ? -1 : idA > idB ? 1 : 0;
32
+ });
33
+ return sorted[0].ID;
34
+ }
35
+ /**
36
+ * The Person an e-mail means, by the rule above.
37
+ *
38
+ * @param rv - The RunView to read through (carries the caller's provider)
39
+ */
40
+ export async function ResolvePersonByEmail(email, rv, user) {
41
+ const normalized = NormalizePersonEmail(email);
42
+ if (!normalized)
43
+ return { Success: true, PersonID: null, MatchCount: 0 };
44
+ const people = await rv.RunView({
45
+ EntityName: PERSON_ENTITY,
46
+ ExtraFilter: `Email = '${EscapeText(normalized)}'`,
47
+ Fields: ['ID', '__mj_CreatedAt'],
48
+ ResultType: 'simple',
49
+ }, user);
50
+ if (!people?.Success) {
51
+ return { Success: false, PersonID: null, MatchCount: 0, ErrorMessage: people?.ErrorMessage ?? 'Person lookup failed' };
52
+ }
53
+ const rows = people.Results ?? [];
54
+ if (rows.length <= 1)
55
+ return { Success: true, PersonID: rows[0]?.ID ?? null, MatchCount: rows.length };
56
+ const ids = rows.map((r) => `'${EscapeText(r.ID)}'`).join(',');
57
+ const [orders, subscriptions, grants] = await rv.RunViews([
58
+ { EntityName: ORDER_HEADER_ENTITY, ExtraFilter: `BillToPersonID IN (${ids})`, Fields: ['BillToPersonID'], ResultType: 'simple' },
59
+ { EntityName: SUBSCRIPTION_ENTITY, ExtraFilter: `BeneficiaryPersonID IN (${ids})`, Fields: ['BeneficiaryPersonID'], ResultType: 'simple' },
60
+ { EntityName: ENTITLEMENT_GRANT_ENTITY, ExtraFilter: `BeneficiaryPersonID IN (${ids})`, Fields: ['BeneficiaryPersonID'], ResultType: 'simple' },
61
+ ], user);
62
+ if (!orders?.Success || !subscriptions?.Success || !grants?.Success) {
63
+ const failed = [orders, subscriptions, grants].find((r) => !r?.Success);
64
+ return { Success: false, PersonID: null, MatchCount: rows.length, ErrorMessage: failed?.ErrorMessage ?? 'Orders activity lookup failed' };
65
+ }
66
+ const active = new Set();
67
+ for (const r of (orders.Results ?? []))
68
+ if (r.BillToPersonID)
69
+ active.add(r.BillToPersonID.toLowerCase());
70
+ for (const set of [subscriptions, grants]) {
71
+ for (const r of (set.Results ?? []))
72
+ if (r.BeneficiaryPersonID)
73
+ active.add(r.BeneficiaryPersonID.toLowerCase());
74
+ }
75
+ const personID = ChoosePersonForEmail(rows.map((r) => ({ ID: r.ID, CreatedAt: r.__mj_CreatedAt, HasOrdersActivity: active.has(r.ID.toLowerCase()) })));
76
+ return { Success: true, PersonID: personID, MatchCount: rows.length };
77
+ }
78
+ //# sourceMappingURL=PersonByEmail.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PersonByEmail.js","sourceRoot":"","sources":["../src/PersonByEmail.ts"],"names":[],"mappings":"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"}
@@ -11,8 +11,8 @@
11
11
  * WHERE THE REVERSAL LANDS ({@link ReversalDate}). On the replaced observation's own date while that
12
12
  * month is open, so a mistyped future date nets to zero on the day it names. When that month is
13
13
  * closed, on the first day of the first later month that is open: finance's ruling is that a closed
14
- * period is not reopened by a correction. "Closed" is the test the closed-period warning uses — the
15
- * month has a Posted batch for the line's company.
14
+ * period is not reopened by a correction. "Closed" is a month with a Posted batch for the line's
15
+ * company, until finance's books-closed-through date replaces that test.
16
16
  *
17
17
  * THE REPLACEMENT'S CATCH-UP FOLLOWS IT ({@link CatchUpDate}). When the reversal moves, the catch-up
18
18
  * books no earlier than the reversal's date, so nothing new posts into the closed month. The
@@ -86,13 +86,22 @@ export declare function ReversalDate(replacedDate: string, postedMonths: Iterabl
86
86
  */
87
87
  export declare function CatchUpDate(measurementDate: string, replacedDate: string, firstOpenDate: string): string;
88
88
  /**
89
- * The advisory for a measurement date after the current business month's end — or null.
89
+ * The "are you sure?" for a measurement date after today — or null.
90
90
  *
91
- * Warns, never blocks: forward dating is allowed with no cap. `today` is the BUSINESS calendar day
92
- * (`BusinessTimeZoneEngine.Today()`), so "this month" means the organisation's month, not the
93
- * server clock's.
91
+ * Warns, never blocks: forward dating is allowed with no cap. It exists because a mistyped year
92
+ * posts silently and only surfaces when the next attestation is refused. `today` is the BUSINESS
93
+ * calendar day (`BusinessTimeZoneEngine.Today()`), not the server clock's.
94
94
  */
95
95
  export declare function FutureDateWarning(measurementDate: string, today: string): string | null;
96
+ /**
97
+ * The "are you sure?" for a measurement date two or more months before the current month — or null.
98
+ *
99
+ * Warns, never blocks. The prior month and anything earlier in the current month are ordinary (a
100
+ * month's progress is attested after it ends; a project can finish mid-month), so neither warns.
101
+ * Whether a month is CLOSED is not decided here: that is finance's books-closed-through date, a
102
+ * refusal rather than a warning. `today` is the BUSINESS calendar day.
103
+ */
104
+ export declare function BackDatedWarning(measurementDate: string, today: string): string | null;
96
105
  /**
97
106
  * Why `user` may not supersede, or null when they may.
98
107
  *
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressSupersede.d.ts","sourceRoot":"","sources":["../src/ProgressSupersede.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvE,eAAO,MAAM,uBAAuB,yCAAyC,CAAC;AAI9E,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAK/E;AAED,MAAM,WAAW,aAAa;IAC1B,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CACzB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EACxB,yBAAyB,EAAE,MAAM,GAClC,aAAa,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAgBzF;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAIxG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQvF;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,GAAG,IAAI,CAcnG"}
1
+ {"version":3,"file":"ProgressSupersede.d.ts","sourceRoot":"","sources":["../src/ProgressSupersede.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAExE,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvE,eAAO,MAAM,uBAAuB,yCAAyC,CAAC;AAI9E,2EAA2E;AAC3E,MAAM,WAAW,eAAe;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAK/E;AAED,MAAM,WAAW,aAAa;IAC1B,8FAA8F;IAC9F,QAAQ,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,QAAQ,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CACzB,UAAU,EAAE,MAAM,EAClB,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EACxB,yBAAyB,EAAE,MAAM,GAClC,aAAa,CAIf;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAIhD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,CAgBzF;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAIxG;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQvF;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAQtF;AAaD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,MAAM,GAAG,IAAI,CAcnG"}
@@ -79,19 +79,45 @@ export function CatchUpDate(measurementDate, replacedDate, firstOpenDate) {
79
79
  return day < firstOpenDate ? firstOpenDate : day;
80
80
  }
81
81
  /**
82
- * The advisory for a measurement date after the current business month's end — or null.
82
+ * The "are you sure?" for a measurement date after today — or null.
83
83
  *
84
- * Warns, never blocks: forward dating is allowed with no cap. `today` is the BUSINESS calendar day
85
- * (`BusinessTimeZoneEngine.Today()`), so "this month" means the organisation's month, not the
86
- * server clock's.
84
+ * Warns, never blocks: forward dating is allowed with no cap. It exists because a mistyped year
85
+ * posts silently and only surfaces when the next attestation is refused. `today` is the BUSINESS
86
+ * calendar day (`BusinessTimeZoneEngine.Today()`), not the server clock's.
87
87
  */
88
88
  export function FutureDateWarning(measurementDate, today) {
89
- const monthEnd = MonthEnd(today);
90
- if (measurementDate <= monthEnd)
89
+ const day = measurementDate.slice(0, 10);
90
+ const now = today.slice(0, 10);
91
+ if (day <= now)
91
92
  return null;
92
- return (`Measurement date ${measurementDate} is after the end of the current month (${monthEnd}). ` +
93
- `Nothing is blocked, but no later observation can be dated on or before it — check the year ` +
94
- `and month before posting.`);
93
+ return (`Measurement date ${day} is after today (${now}). Are you sure? Nothing is blocked, but no ` +
94
+ `later observation can be dated on or before it — check the year and month before posting.`);
95
+ }
96
+ /**
97
+ * The "are you sure?" for a measurement date two or more months before the current month — or null.
98
+ *
99
+ * Warns, never blocks. The prior month and anything earlier in the current month are ordinary (a
100
+ * month's progress is attested after it ends; a project can finish mid-month), so neither warns.
101
+ * Whether a month is CLOSED is not decided here: that is finance's books-closed-through date, a
102
+ * refusal rather than a warning. `today` is the BUSINESS calendar day.
103
+ */
104
+ export function BackDatedWarning(measurementDate, today) {
105
+ const day = measurementDate.slice(0, 10);
106
+ const floor = PriorMonthStart(today);
107
+ if (day >= floor)
108
+ return null;
109
+ return (`Measurement date ${day} is two or more months before the current month (${today.slice(0, 7)}). ` +
110
+ `Are you sure? Nothing is blocked — check the date before posting.`);
111
+ }
112
+ /** Day 1 of the month before the one containing `isoDate`, stepped on the date's own parts. */
113
+ function PriorMonthStart(isoDate) {
114
+ let [y, m] = isoDate.slice(0, 10).split('-').map(Number);
115
+ m -= 1;
116
+ if (m < 1) {
117
+ m = 12;
118
+ y -= 1;
119
+ }
120
+ return `${String(y).padStart(4, '0')}-${String(m).padStart(2, '0')}-01`;
95
121
  }
96
122
  /**
97
123
  * Why `user` may not supersede, or null when they may.
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressSupersede.js","sourceRoot":"","sources":["../src/ProgressSupersede.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProgressSupersede.js","sourceRoot":"","sources":["../src/ProgressSupersede.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @fileoverview A customer's name and an invoice's number must fit the external fields the invoice
3
+ * rail writes them to (bc-aidp-next-golive#280).
4
+ *
5
+ * The rail creates the customer once, from the bill-to party's name, and nothing updates it
6
+ * afterwards. A name longer than the rail's field is refused by the rail at send time, which is
7
+ * days after the order was entered. So it is checked twice: when an order whose selling company
8
+ * invoices through a rail is saved, in front of the person entering it; and before the customer
9
+ * is created, for anything saved before this check existed. It is rejected, never truncated — a
10
+ * truncated name no longer matches the customer across systems.
11
+ *
12
+ * @module @mj-biz-apps/orders-core-entities-server
13
+ */
14
+ import { type IMetadataProvider, type UserInfo } from '@memberjunction/core';
15
+ import type { BaseInvoiceRail } from './BaseInvoiceRail.js';
16
+ export type BillToPartyKind = 'Organization' | 'Person';
17
+ /** The message for `name` on `rail`, or null when it fits or the rail declares no targets. */
18
+ export declare function CheckRailCustomerName(rail: BaseInvoiceRail, partyKind: BillToPartyKind, name: string, provider: IMetadataProvider, user: UserInfo): Promise<string | null>;
19
+ /**
20
+ * The message for an invoice's document number on `rail`, or null when it fits or the rail
21
+ * declares no targets. Checked before the send; the numbers Orders mints are far shorter than
22
+ * BILL's field today, so this guards a later change to how they are built.
23
+ */
24
+ export declare function CheckRailInvoiceNumber(rail: BaseInvoiceRail, documentNumber: string, provider: IMetadataProvider, user: UserInfo): Promise<string | null>;
25
+ /** The bill-to party's customer name, as the rail will receive it, or null when it cannot be read. */
26
+ export declare function LoadBillToName(organizationID: string | null, personID: string | null, provider: IMetadataProvider, user: UserInfo): Promise<{
27
+ Kind: BillToPartyKind;
28
+ Name: string;
29
+ } | null>;
30
+ /** The name a rail customer is created with for an organization. */
31
+ export declare function OrganizationCustomerName(o: {
32
+ Name?: unknown;
33
+ LegalName?: unknown;
34
+ }): string;
35
+ /** The name a rail customer is created with for a person. */
36
+ export declare function PersonCustomerName(p: {
37
+ DisplayName?: unknown;
38
+ FirstName?: unknown;
39
+ LastName?: unknown;
40
+ }): string;
41
+ /**
42
+ * Messages for an order's bill-to name against the rail of each selling company, one per company
43
+ * whose rail it does not fit. Companies that invoice natively are not checked.
44
+ */
45
+ export declare function CheckOrderBillToName(companyIDs: ReadonlyArray<string>, billTo: {
46
+ Kind: BillToPartyKind;
47
+ Name: string;
48
+ }, provider: IMetadataProvider, user: UserInfo): Promise<string[]>;
49
+ //# sourceMappingURL=RailCustomerNameLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RailCustomerNameLimit.d.ts","sourceRoot":"","sources":["../src/RailCustomerNameLimit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAW,KAAK,iBAAiB,EAAyB,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG7G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAK5D,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,QAAQ,CAAC;AAWxD,8FAA8F;AAC9F,wBAAsB,qBAAqB,CACvC,IAAI,EAAE,eAAe,EACrB,SAAS,EAAE,eAAe,EAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxB;AAED;;;;GAIG;AACH,wBAAsB,sBAAsB,CACxC,IAAI,EAAE,eAAe,EACrB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAKxB;AAED,sGAAsG;AACtG,wBAAsB,cAAc,CAChC,cAAc,EAAE,MAAM,GAAG,IAAI,EAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAiBzD;AAED,oEAAoE;AACpE,wBAAgB,wBAAwB,CAAC,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAE3F;AAED,6DAA6D;AAC7D,wBAAgB,kBAAkB,CAAC,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAEhH;AAED;;;GAGG;AACH,wBAAsB,oBAAoB,CACtC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,EACjC,MAAM,EAAE;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/C,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,MAAM,EAAE,CAAC,CASnB"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @fileoverview A customer's name and an invoice's number must fit the external fields the invoice
3
+ * rail writes them to (bc-aidp-next-golive#280).
4
+ *
5
+ * The rail creates the customer once, from the bill-to party's name, and nothing updates it
6
+ * afterwards. A name longer than the rail's field is refused by the rail at send time, which is
7
+ * days after the order was entered. So it is checked twice: when an order whose selling company
8
+ * invoices through a rail is saved, in front of the person entering it; and before the customer
9
+ * is created, for anything saved before this check existed. It is rejected, never truncated — a
10
+ * truncated name no longer matches the customer across systems.
11
+ *
12
+ * @module @mj-biz-apps/orders-core-entities-server
13
+ */
14
+ import { RunView } from '@memberjunction/core';
15
+ import { UserCache } from '@memberjunction/generic-database-provider';
16
+ import { ExternalFieldLimitEngine } from '@mj-biz-apps/common-entities';
17
+ import { FindInvoiceRailForCompany } from './InvoiceRailResolver.js';
18
+ import { ORGANIZATION_ENTITY, PERSON_ENTITY } from './entity-names.js';
19
+ import { RequireUUID } from './sql-guards.js';
20
+ /**
21
+ * Configures the limit engine with the server's system user, falling back to `user`. Field
22
+ * lengths are catalog data, so whether they can be read must not depend on which user's save or
23
+ * send is being checked.
24
+ */
25
+ async function configureLimits(provider, user) {
26
+ await ExternalFieldLimitEngine.Instance.Config(false, UserCache.Instance.GetSystemUser() ?? user, provider);
27
+ }
28
+ /** The message for `name` on `rail`, or null when it fits or the rail declares no targets. */
29
+ export async function CheckRailCustomerName(rail, partyKind, name, provider, user) {
30
+ await configureLimits(provider, user);
31
+ const targets = rail.CustomerNameTargets();
32
+ if (targets.length === 0)
33
+ return null;
34
+ return ExternalFieldLimitEngine.Instance.Check(`${partyKind} name`, name, targets);
35
+ }
36
+ /**
37
+ * The message for an invoice's document number on `rail`, or null when it fits or the rail
38
+ * declares no targets. Checked before the send; the numbers Orders mints are far shorter than
39
+ * BILL's field today, so this guards a later change to how they are built.
40
+ */
41
+ export async function CheckRailInvoiceNumber(rail, documentNumber, provider, user) {
42
+ await configureLimits(provider, user);
43
+ const targets = rail.InvoiceNumberTargets();
44
+ if (targets.length === 0)
45
+ return null;
46
+ return ExternalFieldLimitEngine.Instance.Check('Invoice number', documentNumber, targets);
47
+ }
48
+ /** The bill-to party's customer name, as the rail will receive it, or null when it cannot be read. */
49
+ export async function LoadBillToName(organizationID, personID, provider, user) {
50
+ const rv = new RunView(provider);
51
+ if (organizationID) {
52
+ const r = await rv.RunView({ EntityName: ORGANIZATION_ENTITY, ExtraFilter: `ID = '${RequireUUID(organizationID, 'BillToOrganizationID')}'`, Fields: ['Name', 'LegalName'], ResultType: 'simple' }, user);
53
+ const o = r.Results?.[0];
54
+ return o ? { Kind: 'Organization', Name: OrganizationCustomerName(o) } : null;
55
+ }
56
+ if (!personID)
57
+ return null;
58
+ const r = await rv.RunView({ EntityName: PERSON_ENTITY, ExtraFilter: `ID = '${RequireUUID(personID, 'BillToPersonID')}'`, Fields: ['DisplayName', 'FirstName', 'LastName'], ResultType: 'simple' }, user);
59
+ const p = r.Results?.[0];
60
+ return p ? { Kind: 'Person', Name: PersonCustomerName(p) } : null;
61
+ }
62
+ /** The name a rail customer is created with for an organization. */
63
+ export function OrganizationCustomerName(o) {
64
+ return String(o.Name ?? o.LegalName ?? 'Customer');
65
+ }
66
+ /** The name a rail customer is created with for a person. */
67
+ export function PersonCustomerName(p) {
68
+ return String(p.DisplayName ?? [p.FirstName, p.LastName].filter(Boolean).join(' ') ?? 'Customer');
69
+ }
70
+ /**
71
+ * Messages for an order's bill-to name against the rail of each selling company, one per company
72
+ * whose rail it does not fit. Companies that invoice natively are not checked.
73
+ */
74
+ export async function CheckOrderBillToName(companyIDs, billTo, provider, user) {
75
+ const messages = [];
76
+ for (const companyID of companyIDs) {
77
+ const rail = await FindInvoiceRailForCompany(companyID, provider, user);
78
+ if (!rail)
79
+ continue;
80
+ const message = await CheckRailCustomerName(rail, billTo.Kind, billTo.Name, provider, user);
81
+ if (message)
82
+ messages.push(message);
83
+ }
84
+ return [...new Set(messages)];
85
+ }
86
+ //# sourceMappingURL=RailCustomerNameLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RailCustomerNameLimit.js","sourceRoot":"","sources":["../src/RailCustomerNameLimit.ts"],"names":[],"mappings":"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"}