@mj-biz-apps/orders-entities 5.29.0 → 5.31.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 (70) hide show
  1. package/README.md +27 -14
  2. package/dist/OrderHeaderEntity.d.ts +36 -5
  3. package/dist/OrderHeaderEntity.d.ts.map +1 -1
  4. package/dist/OrderHeaderEntity.js +68 -8
  5. package/dist/OrderHeaderEntity.js.map +1 -1
  6. package/dist/PartyAffiliationBehavior.d.ts +4 -0
  7. package/dist/PartyAffiliationBehavior.d.ts.map +1 -1
  8. package/dist/PartyAffiliationBehavior.js +10 -3
  9. package/dist/PartyAffiliationBehavior.js.map +1 -1
  10. package/dist/PaymentHeaderEntity.d.ts +11 -0
  11. package/dist/PaymentHeaderEntity.d.ts.map +1 -1
  12. package/dist/PaymentHeaderEntity.js +31 -4
  13. package/dist/PaymentHeaderEntity.js.map +1 -1
  14. package/dist/PricingDriverResolver.d.ts +7 -0
  15. package/dist/PricingDriverResolver.d.ts.map +1 -1
  16. package/dist/PricingDriverResolver.js +7 -0
  17. package/dist/PricingDriverResolver.js.map +1 -1
  18. package/dist/accessOverride.d.ts +46 -3
  19. package/dist/accessOverride.d.ts.map +1 -1
  20. package/dist/accessOverride.js +95 -4
  21. package/dist/accessOverride.js.map +1 -1
  22. package/dist/checkout-questions.d.ts.map +1 -1
  23. package/dist/checkout-questions.js +4 -2
  24. package/dist/checkout-questions.js.map +1 -1
  25. package/dist/configuration-types.d.ts +3 -2
  26. package/dist/configuration-types.d.ts.map +1 -1
  27. package/dist/existing-holding.d.ts +69 -0
  28. package/dist/existing-holding.d.ts.map +1 -0
  29. package/dist/existing-holding.js +203 -0
  30. package/dist/existing-holding.js.map +1 -0
  31. package/dist/external-payment-poll-job.d.ts +88 -0
  32. package/dist/external-payment-poll-job.d.ts.map +1 -0
  33. package/dist/external-payment-poll-job.js +160 -0
  34. package/dist/external-payment-poll-job.js.map +1 -0
  35. package/dist/generated/entities/__mj_BizAppsOrders.d.ts +237 -0
  36. package/dist/generated/entities/__mj_BizAppsOrders.d.ts.map +1 -1
  37. package/dist/generated/entities/__mj_BizAppsOrders.js +352 -0
  38. package/dist/generated/entities/__mj_BizAppsOrders.js.map +1 -1
  39. package/dist/generated/remote_operations.d.ts +122 -4
  40. package/dist/generated/remote_operations.d.ts.map +1 -1
  41. package/dist/generated/remote_operations.js +18 -0
  42. package/dist/generated/remote_operations.js.map +1 -1
  43. package/dist/index.d.ts +3 -0
  44. package/dist/index.d.ts.map +1 -1
  45. package/dist/index.js +5 -0
  46. package/dist/index.js.map +1 -1
  47. package/dist/order-confirm-veto.d.ts +81 -0
  48. package/dist/order-confirm-veto.d.ts.map +1 -0
  49. package/dist/order-confirm-veto.js +89 -0
  50. package/dist/order-confirm-veto.js.map +1 -0
  51. package/dist/pricing/ChargeBehavior.d.ts +6 -0
  52. package/dist/pricing/ChargeBehavior.d.ts.map +1 -1
  53. package/dist/pricing/ChargeBehavior.js.map +1 -1
  54. package/dist/pricing/ChargeEngine.d.ts +44 -1
  55. package/dist/pricing/ChargeEngine.d.ts.map +1 -1
  56. package/dist/pricing/ChargeEngine.js +215 -1
  57. package/dist/pricing/ChargeEngine.js.map +1 -1
  58. package/dist/pricing/OrderPricingService.d.ts +9 -0
  59. package/dist/pricing/OrderPricingService.d.ts.map +1 -1
  60. package/dist/pricing/OrderPricingService.js +24 -11
  61. package/dist/pricing/OrderPricingService.js.map +1 -1
  62. package/dist/pricing/PriceResolver.d.ts +22 -7
  63. package/dist/pricing/PriceResolver.d.ts.map +1 -1
  64. package/dist/pricing/PriceResolver.js +72 -9
  65. package/dist/pricing/PriceResolver.js.map +1 -1
  66. package/dist/pricing/PromotionEngine.d.ts +22 -0
  67. package/dist/pricing/PromotionEngine.d.ts.map +1 -1
  68. package/dist/pricing/PromotionEngine.js +129 -4
  69. package/dist/pricing/PromotionEngine.js.map +1 -1
  70. package/package.json +7 -4
package/README.md CHANGED
@@ -1,7 +1,8 @@
1
1
  # `@mj-biz-apps/orders-entities`
2
2
 
3
- **Generated entity subclasses and Zod schemas for every table in `__mj_BizAppsOrders`.** Browser-safe:
4
- depends on `@memberjunction/core` and `zod`, nothing server-side.
3
+ **Generated entity subclasses and Zod schemas for every table in `__mj_BizAppsOrders`, the typed
4
+ remote-operation bases, and the hand-written rules both tiers share.** Browser-safe: none of its
5
+ dependencies is server-side.
5
6
 
6
7
  ## Do not edit anything in `src/generated/`
7
8
 
@@ -12,24 +13,36 @@ To change what appears here, change the **schema**:
12
13
 
13
14
  ```bash
14
15
  # 1. add a new V migration (docs/database-migrations.md)
15
- pnpm run mj:migrate # 2. apply it
16
- pnpm run mj:codegen # 3. regenerate
16
+ pnpm run mj:migrate # 2. apply it
17
+ pnpm run mj:codegen # 3. regenerate
18
+ scripts/append-codegen.sh migrations/V<new>.sql # 4. fold CodeGen's SQL into the new migration
17
19
  ```
18
20
 
19
21
  ## What CodeGen gives you, and what it does not
20
22
 
21
23
  **Does:** a typed class per entity, a Zod schema per entity, string-union types derived from CHECK
22
24
  constraints (`OrderType`, `Status`, `PricingModel`…), and field descriptions lifted from the
23
- migration's `MS_Description` extended properties.
24
-
25
- That last one is why the migration is so heavily commented — those comments become the developer
26
- documentation and the AI-facing metadata. A column added without an extended property arrives here
27
- undocumented.
28
-
29
- **Does not:** business rules. Every invariant lives in
30
- `@mj-biz-apps/orders-core-entities-server`, whose subclasses override `Save()` and are resolved by
31
- `ClassFactory` at runtime. Instantiating an entity from this package on the client gets you the
32
- shape; the rules run on the server.
25
+ migration's `MS_Description` extended properties. It also emits a typed `BaseRemotableOperation`
26
+ base per row in `metadata/remote-operations/` (`src/generated/remote_operations.ts`), so a browser can
27
+ call an operation without the server engine.
28
+
29
+ The field descriptions are why the migration is so heavily commented — those comments become the
30
+ developer documentation and the AI-facing metadata. A column added without an extended property
31
+ arrives here undocumented.
32
+
33
+ **Does not:** business rules. Those are hand-written, and they split by what they need:
34
+
35
+ - **Here, beside the generated code:** every rule decidable from the record and its lines, on shared
36
+ subclasses such as `OrderHeaderEntity` and `OrderLineEntity`; the order lifecycle
37
+ (`OrderStatusBehavior`); and the pricing engine under `src/pricing/` — price resolution, promotions,
38
+ charges and tax, run by `OrderPricingService`. The engine reads through `RunView`, which works on
39
+ both tiers, so the browser can price an order with the code that books it, and the shared rules
40
+ run in the browser's `Validate()` before a round trip and again on the server, which adds checks
41
+ that need the database.
42
+ - **In `@mj-biz-apps/orders-core-entities-server`:** persistence and everything only the server does —
43
+ booking, journal entries, subscriptions, payments, sequence numbers. Its subclasses extend the
44
+ shared class (the generated class where there is none, and for Product Prices) and override
45
+ `Save()` or validation; `ClassFactory` picks them on the server because they register later.
33
46
 
34
47
  ## Two things that will bite
35
48
 
@@ -42,6 +42,22 @@ export interface OrderConfirmOutcome {
42
42
  }
43
43
  import { type OrderAddressSnapshot } from './order-address-snapshot.js';
44
44
  /** The order editor's sections, in the order the screen shows them. */
45
+ /**
46
+ * An organization {@link OrderHeaderEntity.ClearPersonParty} cleared because it was the cleared
47
+ * person's employer, with no record that a default put it there (#356). The form offers to undo it.
48
+ */
49
+ export interface PartyOrganizationClear {
50
+ Field: 'BillToOrganizationID' | 'ShipToOrganizationID';
51
+ OrganizationID: string;
52
+ }
53
+ /**
54
+ * The sentence the order form shows after {@link OrderHeaderEntity.ClearPersonParty} clears
55
+ * organizations by the employer rule, e.g. "Removed Example Co as the bill-to and ship-to
56
+ * organization: it is the previous person's employer."
57
+ *
58
+ * @param names - Each field's organization name as it read before the clear; null when unknown.
59
+ */
60
+ export declare function DescribeClearedEmployers(cleared: readonly PartyOrganizationClear[], names: Readonly<Record<PartyOrganizationClear['Field'], string | null | undefined>>): string;
45
61
  export type OrderEditorSection = 'header' | 'parties' | 'lines' | 'charges' | 'payment';
46
62
  export declare class OrderHeaderEntity extends mjBizAppsOrdersOrderHeaderEntity {
47
63
  /**
@@ -298,9 +314,10 @@ export declare class OrderHeaderEntity extends mjBizAppsOrdersOrderHeaderEntity
298
314
  */
299
315
  private readonly partyFills;
300
316
  /**
301
- * Party person fields {@link ClearPersonParty} emptied because they were copies of the person
302
- * being cleared. They count as filled-in, not as emptied by the user, so a replacement person
303
- * can bring their own copy. A field leaves the set when the user changes it directly.
317
+ * Party fields {@link ClearPersonParty} emptied because they were copies of the person being
318
+ * cleared, or that person's employer. They count as filled-in, not as emptied by the user, so
319
+ * a replacement person can bring their own copy and employer. A person field leaves the set
320
+ * when the user changes it directly.
304
321
  */
305
322
  private readonly partyCopiesCleared;
306
323
  /**
@@ -341,10 +358,24 @@ export declare class OrderHeaderEntity extends mjBizAppsOrdersOrderHeaderEntity
341
358
  * ship-to follows the bill-to even on an order loaded later.
342
359
  * - An organization clears when it was stamped from `clearedPersonID`'s employer in this
343
360
  * edit and that side no longer holds the person.
361
+ * - On an order loaded later nothing records which organization was stamped, so an
362
+ * organization also clears when it is `clearedPersonID`'s employer, by the same rule that
363
+ * stamps it (#356), on the cleared side and on a side whose person was cleared with it.
364
+ * That rule cannot tell a stamped employer from one the user chose to keep, so these
365
+ * clears are returned for the form to offer an undo.
366
+ *
367
+ * Other values the user set are not touched. Skips booked/voided orders.
344
368
  *
345
- * Values the user set are never touched. Skips booked/voided orders.
369
+ * @returns The organizations cleared by the employer rule alone, for {@link RestorePartyOrganizations}.
370
+ */
371
+ ClearPersonParty(side: 'BillTo' | 'ShipTo', clearedPersonID: string | null): Promise<PartyOrganizationClear[]>;
372
+ /**
373
+ * Put back organizations {@link ClearPersonParty} cleared by the employer rule, replacing any
374
+ * employer a new person brought since. They then count as the user's.
346
375
  */
347
- ClearPersonParty(side: 'BillTo' | 'ShipTo', clearedPersonID: string | null): void;
376
+ RestorePartyOrganizations(cleared: readonly PartyOrganizationClear[]): void;
377
+ /** `personID`'s employer by the rule {@link AutoPopulateEmployerOrganization} stamps with, or null. */
378
+ private employerOf;
348
379
  /** True when `field` still holds the value {@link ApplyPersonPartyDefaults} filled in from `personID`. */
349
380
  private wasFilledFrom;
350
381
  /** Empty a party foreign key and forget that it was filled in. */
@@ -1 +1 @@
1
- {"version":3,"file":"OrderHeaderEntity.d.ts","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderHeaderEntity.d.ts","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,21 @@ import { anyFieldIsDirty } from './field-dirty.js';
51
51
  import { AsDateValue, TodayAsDateValue } from './date-cell.js';
52
52
  import { ParseAddressSnapshot } from './order-address-snapshot.js';
53
53
  import { BookedMoneyEditMessage, ORDER_HEADER_MONEY_FIELDS, ORDER_HEADER_SET_ONCE_FIELDS, ORDER_LINE_MONEY_FIELDS, } from './booked-money.js';
54
+ /**
55
+ * The sentence the order form shows after {@link OrderHeaderEntity.ClearPersonParty} clears
56
+ * organizations by the employer rule, e.g. "Removed Example Co as the bill-to and ship-to
57
+ * organization: it is the previous person's employer."
58
+ *
59
+ * @param names - Each field's organization name as it read before the clear; null when unknown.
60
+ */
61
+ export function DescribeClearedEmployers(cleared, names) {
62
+ const roles = cleared.map((c) => (c.Field === 'BillToOrganizationID' ? 'bill-to' : 'ship-to'));
63
+ const name = cleared.map((c) => names[c.Field]).find((n) => !!n) ?? 'the organization';
64
+ const sameOrg = cleared.every((c) => c.OrganizationID.toLowerCase() === cleared[0].OrganizationID.toLowerCase());
65
+ const subject = sameOrg ? name : 'the organizations';
66
+ return `Removed ${subject} as the ${roles.join(' and ')} organization${sameOrg ? '' : 's'}: ` +
67
+ `${sameOrg ? 'it is' : 'they are'} the previous person's employer.`;
68
+ }
54
69
  /** Statuses that mean the order has been booked to the ledger (plan D8). */
55
70
  const BOOKED_STATUSES = new Set(['Confirmed']);
56
71
  let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mjBizAppsOrdersOrderHeaderEntity {
@@ -101,9 +116,10 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
101
116
  */
102
117
  this.partyFills = new Map();
103
118
  /**
104
- * Party person fields {@link ClearPersonParty} emptied because they were copies of the person
105
- * being cleared. They count as filled-in, not as emptied by the user, so a replacement person
106
- * can bring their own copy. A field leaves the set when the user changes it directly.
119
+ * Party fields {@link ClearPersonParty} emptied because they were copies of the person being
120
+ * cleared, or that person's employer. They count as filled-in, not as emptied by the user, so
121
+ * a replacement person can bring their own copy and employer. A person field leaves the set
122
+ * when the user changes it directly.
107
123
  */
108
124
  this.partyCopiesCleared = new Set();
109
125
  }
@@ -704,14 +720,21 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
704
720
  * ship-to follows the bill-to even on an order loaded later.
705
721
  * - An organization clears when it was stamped from `clearedPersonID`'s employer in this
706
722
  * edit and that side no longer holds the person.
723
+ * - On an order loaded later nothing records which organization was stamped, so an
724
+ * organization also clears when it is `clearedPersonID`'s employer, by the same rule that
725
+ * stamps it (#356), on the cleared side and on a side whose person was cleared with it.
726
+ * That rule cannot tell a stamped employer from one the user chose to keep, so these
727
+ * clears are returned for the form to offer an undo.
707
728
  *
708
- * Values the user set are never touched. Skips booked/voided orders.
729
+ * Other values the user set are not touched. Skips booked/voided orders.
730
+ *
731
+ * @returns The organizations cleared by the employer rule alone, for {@link RestorePartyOrganizations}.
709
732
  */
710
- ClearPersonParty(side, clearedPersonID) {
733
+ async ClearPersonParty(side, clearedPersonID) {
711
734
  // The user changed this side directly, so an empty value here is now theirs.
712
735
  this.partyCopiesCleared.delete(`${side}PersonID`);
713
736
  if (!clearedPersonID || this.Status === 'Voided' || this.IsBookedOrder)
714
- return;
737
+ return [];
715
738
  const other = side === 'BillTo' ? 'ShipTo' : 'BillTo';
716
739
  const otherPersonField = `${other}PersonID`;
717
740
  // When the cleared person was itself the copy, the other side holds the original.
@@ -724,13 +747,50 @@ let OrderHeaderEntity = OrderHeaderEntity_1 = class OrderHeaderEntity extends mj
724
747
  this.clearPartyField(otherPersonField);
725
748
  this.partyCopiesCleared.add(otherPersonField);
726
749
  }
750
+ const cleared = [];
751
+ let employer;
727
752
  for (const s of ['BillTo', 'ShipTo']) {
728
753
  const orgField = `${s}OrganizationID`;
729
- const stillHoldsPerson = UUIDsEqual(this.Get(`${s}PersonID`), clearedPersonID);
730
- if (!stillHoldsPerson && this.wasFilledFrom(orgField, clearedPersonID)) {
754
+ const personNow = this.Get(`${s}PersonID`);
755
+ if (UUIDsEqual(personNow, clearedPersonID))
756
+ continue;
757
+ if (this.wasFilledFrom(orgField, clearedPersonID)) {
758
+ this.clearPartyField(orgField);
759
+ this.partyCopiesCleared.add(orgField);
760
+ continue;
761
+ }
762
+ // A side now held by someone else keeps its organization: it may be theirs.
763
+ const org = this.Get(orgField);
764
+ if (!org || (s !== side && personNow))
765
+ continue;
766
+ if (employer === undefined)
767
+ employer = await this.employerOf(clearedPersonID);
768
+ if (employer && UUIDsEqual(org, employer)) {
731
769
  this.clearPartyField(orgField);
770
+ this.partyCopiesCleared.add(orgField);
771
+ cleared.push({ Field: orgField, OrganizationID: org });
732
772
  }
733
773
  }
774
+ return cleared;
775
+ }
776
+ /**
777
+ * Put back organizations {@link ClearPersonParty} cleared by the employer rule, replacing any
778
+ * employer a new person brought since. They then count as the user's.
779
+ */
780
+ RestorePartyOrganizations(cleared) {
781
+ for (const c of cleared) {
782
+ this.Set(c.Field, c.OrganizationID);
783
+ this.partyFills.delete(c.Field);
784
+ this.partyCopiesCleared.delete(c.Field);
785
+ }
786
+ }
787
+ /** `personID`'s employer by the rule {@link AutoPopulateEmployerOrganization} stamps with, or null. */
788
+ async employerOf(personID) {
789
+ const provider = this.ProviderToUse;
790
+ if (!provider)
791
+ return null;
792
+ const asOf = AsDateValue(this.OrderDate) ?? TodayAsDateValue();
793
+ return ResolveActiveEmployerOrganization(provider, personID, asOf, this.ContextCurrentUser);
734
794
  }
735
795
  /** True when `field` still holds the value {@link ApplyPersonPartyDefaults} filled in from `personID`. */
736
796
  wasFilledFrom(field, personID) {
@@ -1 +1 @@
1
- {"version":3,"file":"OrderHeaderEntity.js","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderHeaderEntity.js","sourceRoot":"","sources":["../src/OrderHeaderEntity.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,10 @@ export type ActiveEmployerRow = {
13
13
  * Active Employee relationship to an organization as of `asOf`.
14
14
  * Zero matches → null. One match → that org. Several → the longest-lasting
15
15
  * (earliest StartDate / longest span; a null StartDate counts as longest).
16
+ *
17
+ * `asOf` is a calendar day carried as midnight UTC (`AsDateValue` / `TodayAsDateValue`), compared
18
+ * against the `date` columns `StartDate` / `EndDate`. The default is today on the BUSINESS calendar —
19
+ * `new Date()` read back by its UTC day was already tomorrow for the whole American evening.
16
20
  */
17
21
  export declare function ResolveActiveEmployerOrganization(provider: IRunViewProvider, personID: string, asOf?: Date, user?: UserInfo): Promise<string | null>;
18
22
  /** @deprecated Use {@link ResolveActiveEmployerOrganization} — multiple employers now pick the longest-lasting. */
@@ -1 +1 @@
1
- {"version":3,"file":"PartyAffiliationBehavior.d.ts","sourceRoot":"","sources":["../src/PartyAffiliationBehavior.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAW,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAUF;;;;GAIG;AACH,wBAAsB,iCAAiC,CACnD,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,IAAiB,EACvB,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+BxB;AAED,mHAAmH;AACnH,wBAAsB,yCAAyC,CAC3D,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,IAAiB,EACvB,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
1
+ {"version":3,"file":"PartyAffiliationBehavior.d.ts","sourceRoot":"","sources":["../src/PartyAffiliationBehavior.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAW,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGrF,MAAM,MAAM,iBAAiB,GAAG;IAC5B,gBAAgB,EAAE,MAAM,CAAC;IACzB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC;AAUF;;;;;;;;GAQG;AACH,wBAAsB,iCAAiC,CACnD,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,IAAyB,EAC/B,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAgCxB;AAED,mHAAmH;AACnH,wBAAsB,yCAAyC,CAC3D,QAAQ,EAAE,gBAAgB,EAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,IAAyB,EAC/B,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAExB"}
@@ -4,6 +4,7 @@
4
4
  * @module @mj-biz-apps/orders-entities
5
5
  */
6
6
  import { RunView } from '@memberjunction/core';
7
+ import { ToISODate, TodayAsDateValue } from './date-cell.js';
7
8
  function durationMs(row, asOf) {
8
9
  const start = row.StartDate ? new Date(row.StartDate).getTime() : 0;
9
10
  const endRaw = row.EndDate ? new Date(row.EndDate).getTime() : asOf.getTime();
@@ -15,12 +16,18 @@ function durationMs(row, asOf) {
15
16
  * Active Employee relationship to an organization as of `asOf`.
16
17
  * Zero matches → null. One match → that org. Several → the longest-lasting
17
18
  * (earliest StartDate / longest span; a null StartDate counts as longest).
19
+ *
20
+ * `asOf` is a calendar day carried as midnight UTC (`AsDateValue` / `TodayAsDateValue`), compared
21
+ * against the `date` columns `StartDate` / `EndDate`. The default is today on the BUSINESS calendar —
22
+ * `new Date()` read back by its UTC day was already tomorrow for the whole American evening.
18
23
  */
19
- export async function ResolveActiveEmployerOrganization(provider, personID, asOf = new Date(), user) {
24
+ export async function ResolveActiveEmployerOrganization(provider, personID, asOf = TodayAsDateValue(), user) {
20
25
  if (!personID || !provider)
21
26
  return null;
22
27
  const rv = new RunView(provider);
23
- const date = asOf.toISOString().slice(0, 10);
28
+ const date = ToISODate(asOf);
29
+ if (!date)
30
+ return null;
24
31
  try {
25
32
  const res = await rv.RunView({
26
33
  EntityName: 'MJ_BizApps_Common: Relationships',
@@ -46,7 +53,7 @@ export async function ResolveActiveEmployerOrganization(provider, personID, asOf
46
53
  }
47
54
  }
48
55
  /** @deprecated Use {@link ResolveActiveEmployerOrganization} — multiple employers now pick the longest-lasting. */
49
- export async function ResolveSingularActiveEmployerOrganization(provider, personID, asOf = new Date(), user) {
56
+ export async function ResolveSingularActiveEmployerOrganization(provider, personID, asOf = TodayAsDateValue(), user) {
50
57
  return ResolveActiveEmployerOrganization(provider, personID, asOf, user);
51
58
  }
52
59
  //# sourceMappingURL=PartyAffiliationBehavior.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PartyAffiliationBehavior.js","sourceRoot":"","sources":["../src/PartyAffiliationBehavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PartyAffiliationBehavior.js","sourceRoot":"","sources":["../src/PartyAffiliationBehavior.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,19 @@ export declare class PaymentHeaderEntity extends mjBizAppsOrdersPaymentHeaderEnt
26
26
  * only when the detail is first created (golive #283). The detail is created by the first
27
27
  * instrument field typed; a reference entered before the Receiving Company was chosen left
28
28
  * the detail's `CompanyID` null for good, and the save failed on the detail.
29
+ *
30
+ * A saved detail is never edited (golive #303). The database refuses any change to a saved
31
+ * detail's company or tender, because a detail is a point-in-time snapshot that an order's
32
+ * payment intent may share. When either differs, the payment gets a new detail carrying the
33
+ * same instrument fields, and the saved one is left as it was.
29
34
  */
30
35
  SyncPaymentDetailFromHeader(): void;
36
+ /**
37
+ * Swap a saved detail for a new one with the same writable fields. `Clear()` then
38
+ * `PaymentDetailID_EnsureObject()` resets the same object to a new record, so the values are
39
+ * read before and written back after. The saved row stays in the database untouched.
40
+ */
41
+ private replacePaymentDetail;
31
42
  Validate(): ValidationResult;
32
43
  private dropSavePopulatedFieldErrors;
33
44
  }
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentHeaderEntity.d.ts","sourceRoot":"","sources":["../src/PaymentHeaderEntity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAA8B,iBAAiB,EAA4C,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEjJ,OAAO,EACH,kCAAkC,EAClC,kCAAkC,EACrC,MAAM,+BAA+B,CAAC;AAMvC,qBACa,mBAAoB,SAAQ,kCAAkC;IAChE,kBAAkB,IAAI,IAAI;IAIjC,IAAW,eAAe,IAAI,MAAM,GAAG,IAAI,CAE1C;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAkB9C;IAEM,oBAAoB,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO;IAmB1D,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzE;;;;;;OAMG;IACU,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhF;;;;;OAKG;IACI,2BAA2B,IAAI,IAAI;IAW1B,QAAQ,IAAI,gBAAgB;IAM5C,OAAO,CAAC,4BAA4B;CAavC"}
1
+ {"version":3,"file":"PaymentHeaderEntity.d.ts","sourceRoot":"","sources":["../src/PaymentHeaderEntity.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAA8B,iBAAiB,EAA4C,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEjJ,OAAO,EACH,kCAAkC,EAClC,kCAAkC,EACrC,MAAM,+BAA+B,CAAC;AAMvC,qBACa,mBAAoB,SAAQ,kCAAkC;IAChE,kBAAkB,IAAI,IAAI;IAIjC,IAAW,eAAe,IAAI,MAAM,GAAG,IAAI,CAE1C;IAED,IAAW,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,EAkB9C;IAEM,oBAAoB,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO;IAmB1D,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;IAKzE;;;;;;OAMG;IACU,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhF;;;;;;;;;;OAUG;IACI,2BAA2B,IAAI,IAAI;IAW1C;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAaZ,QAAQ,IAAI,gBAAgB;IAM5C,OAAO,CAAC,4BAA4B;CAavC"}
@@ -84,17 +84,44 @@ let PaymentHeaderEntity = class PaymentHeaderEntity extends mjBizAppsOrdersPayme
84
84
  * only when the detail is first created (golive #283). The detail is created by the first
85
85
  * instrument field typed; a reference entered before the Receiving Company was chosen left
86
86
  * the detail's `CompanyID` null for good, and the save failed on the detail.
87
+ *
88
+ * A saved detail is never edited (golive #303). The database refuses any change to a saved
89
+ * detail's company or tender, because a detail is a point-in-time snapshot that an order's
90
+ * payment intent may share. When either differs, the payment gets a new detail carrying the
91
+ * same instrument fields, and the saved one is left as it was.
87
92
  */
88
93
  SyncPaymentDetailFromHeader() {
89
- const detail = this.PaymentDetailID_Object;
94
+ let detail = this.PaymentDetailID_Object;
90
95
  if (!detail)
91
96
  return;
92
- if (this.ReceivingCompanyID && !UUIDsEqual(detail.CompanyID, this.ReceivingCompanyID)) {
97
+ const companyChanged = Boolean(this.ReceivingCompanyID) && !UUIDsEqual(detail.CompanyID, this.ReceivingCompanyID);
98
+ const tenderChanged = Boolean(this.PaymentTypeID) && !UUIDsEqual(detail.PaymentTypeID, this.PaymentTypeID);
99
+ if (!companyChanged && !tenderChanged)
100
+ return;
101
+ if (detail.IsSaved)
102
+ detail = this.replacePaymentDetail(detail);
103
+ if (companyChanged)
93
104
  detail.CompanyID = this.ReceivingCompanyID;
94
- }
95
- if (this.PaymentTypeID && !UUIDsEqual(detail.PaymentTypeID, this.PaymentTypeID)) {
105
+ if (tenderChanged)
96
106
  detail.PaymentTypeID = this.PaymentTypeID;
107
+ }
108
+ /**
109
+ * Swap a saved detail for a new one with the same writable fields. `Clear()` then
110
+ * `PaymentDetailID_EnsureObject()` resets the same object to a new record, so the values are
111
+ * read before and written back after. The saved row stays in the database untouched.
112
+ */
113
+ replacePaymentDetail(saved) {
114
+ const values = {};
115
+ for (const field of saved.Fields) {
116
+ if (!field.ReadOnly)
117
+ values[field.Name] = field.Value;
118
+ }
119
+ this.ClearPaymentDetail();
120
+ const replacement = this.PaymentDetailID_EnsureObject();
121
+ for (const [name, value] of Object.entries(values)) {
122
+ replacement.Set(name, value);
97
123
  }
124
+ return replacement;
98
125
  }
99
126
  Validate() {
100
127
  const result = super.Validate();
@@ -1 +1 @@
1
- {"version":3,"file":"PaymentHeaderEntity.js","sourceRoot":"","sources":["../src/PaymentHeaderEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PaymentHeaderEntity.js","sourceRoot":"","sources":["../src/PaymentHeaderEntity.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,13 @@
26
26
  * metering); a company may have a house resolver — which is where every plugin registered before the
27
27
  * column existed is keyed, as `Company:<id>`.
28
28
  *
29
+ * ## The server runs this same walk
30
+ *
31
+ * `ResolvePrice` calls this function and invokes the `BasePriceResolver` registered under the key it
32
+ * returns, before the older `Product:` / `Category:` / `Company:` ID keys. One walk on both tiers, so
33
+ * the plugin that made a client escalate is the one the server runs. A key with no registration is
34
+ * refused there, not priced by the default.
35
+ *
29
36
  * ## The direction of the safe answer
30
37
  *
31
38
  * `null` at every level means "no plugin", so price locally. **Anything else escalates.** When the
@@ -1 +1 @@
1
- {"version":3,"file":"PricingDriverResolver.d.ts","sourceRoot":"","sources":["../src/PricingDriverResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,OAAO,EAAmC,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG7G,sEAAsE;AACtE,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,oBAAoB;IACjC,qFAAqF;IACrF,eAAe,EAAE,OAAO,CAAC;IACzB,wDAAwD;IACxD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mFAAmF;IACnF,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAwBD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,oBAAoB,CAAC,CA4H/B;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACtC,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
1
+ {"version":3,"file":"PricingDriverResolver.d.ts","sourceRoot":"","sources":["../src/PricingDriverResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,OAAO,EAAmC,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAG7G,sEAAsE;AACtE,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7E,MAAM,WAAW,oBAAoB;IACjC,qFAAqF;IACrF,eAAe,EAAE,OAAO,CAAC;IACzB,wDAAwD;IACxD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mFAAmF;IACnF,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACjC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAwBD;;;;;GAKG;AACH,wBAAsB,oBAAoB,CACtC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,oBAAoB,CAAC,CA4H/B;AAED;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CACtC,UAAU,EAAE,MAAM,EAAE,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,EAAE,gBAAgB,EAC1B,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,oBAAoB,CAAC,CAM/B"}
@@ -26,6 +26,13 @@
26
26
  * metering); a company may have a house resolver — which is where every plugin registered before the
27
27
  * column existed is keyed, as `Company:<id>`.
28
28
  *
29
+ * ## The server runs this same walk
30
+ *
31
+ * `ResolvePrice` calls this function and invokes the `BasePriceResolver` registered under the key it
32
+ * returns, before the older `Product:` / `Category:` / `Company:` ID keys. One walk on both tiers, so
33
+ * the plugin that made a client escalate is the one the server runs. A key with no registration is
34
+ * refused there, not priced by the default.
35
+ *
29
36
  * ## The direction of the safe answer
30
37
  *
31
38
  * `null` at every level means "no plugin", so price locally. **Anything else escalates.** When the
@@ -1 +1 @@
1
- {"version":3,"file":"PricingDriverResolver.js","sourceRoot":"","sources":["../src/PricingDriverResolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PricingDriverResolver.js","sourceRoot":"","sources":["../src/PricingDriverResolver.ts"],"names":[],"mappings":"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"}