@mj-biz-apps/orders-entities 5.28.0 → 5.30.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 (51) hide show
  1. package/dist/OrderHeaderEntity.d.ts +36 -5
  2. package/dist/OrderHeaderEntity.d.ts.map +1 -1
  3. package/dist/OrderHeaderEntity.js +68 -8
  4. package/dist/OrderHeaderEntity.js.map +1 -1
  5. package/dist/PaymentHeaderEntity.d.ts +11 -0
  6. package/dist/PaymentHeaderEntity.d.ts.map +1 -1
  7. package/dist/PaymentHeaderEntity.js +31 -4
  8. package/dist/PaymentHeaderEntity.js.map +1 -1
  9. package/dist/accessOverride.d.ts +46 -3
  10. package/dist/accessOverride.d.ts.map +1 -1
  11. package/dist/accessOverride.js +95 -4
  12. package/dist/accessOverride.js.map +1 -1
  13. package/dist/checkout-questions.d.ts.map +1 -1
  14. package/dist/checkout-questions.js +4 -2
  15. package/dist/checkout-questions.js.map +1 -1
  16. package/dist/existing-holding.d.ts +69 -0
  17. package/dist/existing-holding.d.ts.map +1 -0
  18. package/dist/existing-holding.js +203 -0
  19. package/dist/existing-holding.js.map +1 -0
  20. package/dist/generated/entities/__mj_BizAppsOrders.d.ts +237 -0
  21. package/dist/generated/entities/__mj_BizAppsOrders.d.ts.map +1 -1
  22. package/dist/generated/entities/__mj_BizAppsOrders.js +352 -0
  23. package/dist/generated/entities/__mj_BizAppsOrders.js.map +1 -1
  24. package/dist/generated/remote_operations.d.ts +126 -9
  25. package/dist/generated/remote_operations.d.ts.map +1 -1
  26. package/dist/generated/remote_operations.js +24 -6
  27. package/dist/generated/remote_operations.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/order-confirm-veto.d.ts +81 -0
  33. package/dist/order-confirm-veto.d.ts.map +1 -0
  34. package/dist/order-confirm-veto.js +89 -0
  35. package/dist/order-confirm-veto.js.map +1 -0
  36. package/dist/pricing/ChargeBehavior.d.ts +6 -0
  37. package/dist/pricing/ChargeBehavior.d.ts.map +1 -1
  38. package/dist/pricing/ChargeBehavior.js.map +1 -1
  39. package/dist/pricing/ChargeEngine.d.ts +44 -1
  40. package/dist/pricing/ChargeEngine.d.ts.map +1 -1
  41. package/dist/pricing/ChargeEngine.js +215 -1
  42. package/dist/pricing/ChargeEngine.js.map +1 -1
  43. package/dist/pricing/OrderPricingService.d.ts +9 -0
  44. package/dist/pricing/OrderPricingService.d.ts.map +1 -1
  45. package/dist/pricing/OrderPricingService.js +24 -11
  46. package/dist/pricing/OrderPricingService.js.map +1 -1
  47. package/dist/pricing/PromotionEngine.d.ts +22 -0
  48. package/dist/pricing/PromotionEngine.d.ts.map +1 -1
  49. package/dist/pricing/PromotionEngine.js +129 -4
  50. package/dist/pricing/PromotionEngine.js.map +1 -1
  51. package/package.json +7 -4
@@ -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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"}
@@ -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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"}
@@ -5,10 +5,14 @@
5
5
  * MJ.BizApps.Orders.Access.Override.WaivePaymentHold request a WaivePaymentHold override
6
6
  * MJ.BizApps.Orders.Access.Override.DeferCutoff request a DeferCutoff override
7
7
  *
8
- * These govern who may REQUEST an override. Who may approve one is not settled (bizapps-orders#360).
8
+ * These govern who may REQUEST an override. Who approves one is resolved per request on the server
9
+ * (bizapps-orders#360): the order company's ApprovalCFOUserID, never the requester.
9
10
  *
10
- * Shared so the browser and the server read the same names and the same rule. The server refuses a
11
- * request outright when the rows are missing from metadata; this answer is false in that case.
11
+ * Shared so the browser and the server read the same names and the same rules: who may request
12
+ * ({@link userRequestableAccessOverrides}), who may decide ({@link AccessOverrideDecisionRefusal}),
13
+ * and whom an approval task is assigned to ({@link LoadAccessOverrideAssignees}). The server refuses
14
+ * a request outright when the authorization rows are missing from metadata; the request answer is
15
+ * false in that case.
12
16
  */
13
17
  import { type AuthorizationInfo, type IMetadataProvider, type UserInfo } from '@memberjunction/core';
14
18
  export type AccessOverrideKind = 'WaivePaymentHold' | 'DeferCutoff';
@@ -21,4 +25,43 @@ export declare const ACCESS_OVERRIDE_AUTH: {
21
25
  export declare function userRequestableAccessOverrides(user: UserInfo | null | undefined, provider?: IMetadataProvider | {
22
26
  Authorizations?: AuthorizationInfo[];
23
27
  }): AccessOverrideKind[];
28
+ /** A decision about to be recorded on an access override, for {@link AccessOverrideDecisionRefusal}. */
29
+ export interface AccessOverrideDecisionFacts {
30
+ /** Whether the decision approves (Approved, ApprovedWithConditions) rather than rejects. */
31
+ Approving: boolean;
32
+ DeciderUserID: string;
33
+ RequesterUserID: string;
34
+ /** The users the approval task is assigned to. */
35
+ AssigneeUserIDs: readonly string[];
36
+ /** The override's last day, `YYYY-MM-DD`. */
37
+ EffectiveThrough: string;
38
+ /** The business day the decision is made on, `YYYY-MM-DD`. */
39
+ Today: string;
40
+ }
41
+ /**
42
+ * Why this decision may not be recorded, or null when it may (bizapps-orders#360).
43
+ *
44
+ * the requester deciding their own request → refused, either way
45
+ * a user the approval task is not assigned to → refused, either way
46
+ * an approval after the override's last day → refused; a rejection still closes it
47
+ *
48
+ * The server holds every decision to it; the order form asks it before offering Approve or Reject.
49
+ */
50
+ export declare function AccessOverrideDecisionRefusal(facts: AccessOverrideDecisionFacts): string | null;
51
+ /** One assignee of an access override's approval task. */
52
+ export interface AccessOverrideAssignee {
53
+ /** The user who decides for this assignee: a person record's linked user, or the user assigned directly. Null when a person record has no linked user. */
54
+ UserID: string | null;
55
+ /** The name to show for the assignee. */
56
+ Name: string;
57
+ }
58
+ /**
59
+ * The assignees of each approval task, keyed by the task ID in lower case. The tasks app assigns
60
+ * through a person record, whose linked user is the one who decides; an assignment made directly to
61
+ * a user counts as that user. A task with no assignments is absent from the map.
62
+ *
63
+ * Runs on either tier with whatever provider it is given, so the server's decision rule and the
64
+ * order form read the same assignees.
65
+ */
66
+ export declare function LoadAccessOverrideAssignees(taskIDs: readonly string[], provider: IMetadataProvider, user?: UserInfo): Promise<Map<string, AccessOverrideAssignee[]>>;
24
67
  //# sourceMappingURL=accessOverride.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessOverride.d.ts","sourceRoot":"","sources":["../src/accessOverride.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAGH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,aAAa,CAAC;AAEpE,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAEX,2FAA2F;AAC3F,wBAAgB,8BAA8B,CAC1C,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjC,QAAQ,CAAC,EAAE,iBAAiB,GAAG;IAAE,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAAE,GACxE,kBAAkB,EAAE,CAStB"}
1
+ {"version":3,"file":"accessOverride.d.ts","sourceRoot":"","sources":["../src/accessOverride.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,OAAO,EAIH,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,QAAQ,EAChB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,aAAa,CAAC;AAEpE,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAEX,2FAA2F;AAC3F,wBAAgB,8BAA8B,CAC1C,IAAI,EAAE,QAAQ,GAAG,IAAI,GAAG,SAAS,EACjC,QAAQ,CAAC,EAAE,iBAAiB,GAAG;IAAE,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAA;CAAE,GACxE,kBAAkB,EAAE,CAStB;AAID,wGAAwG;AACxG,MAAM,WAAW,2BAA2B;IACxC,4FAA4F;IAC5F,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,6CAA6C;IAC7C,gBAAgB,EAAE,MAAM,CAAC;IACzB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;CACjB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,2BAA2B,GAAG,MAAM,GAAG,IAAI,CAc/F;AASD,0DAA0D;AAC1D,MAAM,WAAW,sBAAsB;IACnC,0JAA0J;IAC1J,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;CAChB;AAOD;;;;;;;GAOG;AACH,wBAAsB,2BAA2B,CAC7C,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,CAAC,EAAE,QAAQ,GAChB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAmDhD"}
@@ -5,12 +5,16 @@
5
5
  * MJ.BizApps.Orders.Access.Override.WaivePaymentHold request a WaivePaymentHold override
6
6
  * MJ.BizApps.Orders.Access.Override.DeferCutoff request a DeferCutoff override
7
7
  *
8
- * These govern who may REQUEST an override. Who may approve one is not settled (bizapps-orders#360).
8
+ * These govern who may REQUEST an override. Who approves one is resolved per request on the server
9
+ * (bizapps-orders#360): the order company's ApprovalCFOUserID, never the requester.
9
10
  *
10
- * Shared so the browser and the server read the same names and the same rule. The server refuses a
11
- * request outright when the rows are missing from metadata; this answer is false in that case.
11
+ * Shared so the browser and the server read the same names and the same rules: who may request
12
+ * ({@link userRequestableAccessOverrides}), who may decide ({@link AccessOverrideDecisionRefusal}),
13
+ * and whom an approval task is assigned to ({@link LoadAccessOverrideAssignees}). The server refuses
14
+ * a request outright when the authorization rows are missing from metadata; the request answer is
15
+ * false in that case.
12
16
  */
13
- import { AuthorizationEvaluator, Metadata, } from '@memberjunction/core';
17
+ import { AuthorizationEvaluator, Metadata, RunView, } from '@memberjunction/core';
14
18
  export const ACCESS_OVERRIDE_AUTH = {
15
19
  Parent: 'MJ.BizApps.Orders.Access.Override',
16
20
  WaivePaymentHold: 'MJ.BizApps.Orders.Access.Override.WaivePaymentHold',
@@ -28,4 +32,91 @@ export function userRequestableAccessOverrides(user, provider) {
28
32
  };
29
33
  return ['WaivePaymentHold', 'DeferCutoff'].filter((t) => holds(ACCESS_OVERRIDE_AUTH[t]));
30
34
  }
35
+ const sameUser = (a, b) => !!a && !!b && a.toLowerCase() === b.toLowerCase();
36
+ /**
37
+ * Why this decision may not be recorded, or null when it may (bizapps-orders#360).
38
+ *
39
+ * the requester deciding their own request → refused, either way
40
+ * a user the approval task is not assigned to → refused, either way
41
+ * an approval after the override's last day → refused; a rejection still closes it
42
+ *
43
+ * The server holds every decision to it; the order form asks it before offering Approve or Reject.
44
+ */
45
+ export function AccessOverrideDecisionRefusal(facts) {
46
+ if (sameUser(facts.DeciderUserID, facts.RequesterUserID)) {
47
+ return 'The user who requested an access override cannot decide it.';
48
+ }
49
+ if (!facts.AssigneeUserIDs.some((id) => sameUser(id, facts.DeciderUserID))) {
50
+ return 'Only an approver the approval task is assigned to may decide this access override.';
51
+ }
52
+ if (facts.Approving && facts.EffectiveThrough < facts.Today) {
53
+ return (`The override's last day (${facts.EffectiveThrough}) has passed, so it can no longer be approved. ` +
54
+ 'Reject it, and request a new one if the exception is still needed.');
55
+ }
56
+ return null;
57
+ }
58
+ // ─── whom the approval task is assigned to ─────────────────────────────────────
59
+ const TASK_ASSIGNMENT_ENTITY = 'MJ_BizApps_Tasks: Task Assignments';
60
+ const PERSON_ENTITY = 'MJ_BizApps_Common: People';
61
+ const USER_ENTITY = 'MJ: Users';
62
+ const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
63
+ const quotedIDs = (ids, what) => {
64
+ for (const id of ids)
65
+ if (!UUID.test(id))
66
+ throw new Error(`${what} '${id}' is not a uniqueidentifier.`);
67
+ return ids.map((id) => `'${id}'`).join(',');
68
+ };
69
+ /**
70
+ * The assignees of each approval task, keyed by the task ID in lower case. The tasks app assigns
71
+ * through a person record, whose linked user is the one who decides; an assignment made directly to
72
+ * a user counts as that user. A task with no assignments is absent from the map.
73
+ *
74
+ * Runs on either tier with whatever provider it is given, so the server's decision rule and the
75
+ * order form read the same assignees.
76
+ */
77
+ export async function LoadAccessOverrideAssignees(taskIDs, provider, user) {
78
+ const out = new Map();
79
+ const ids = [...new Set(taskIDs.map((id) => id.toLowerCase()))];
80
+ if (!ids.length)
81
+ return out;
82
+ const rv = RunView.FromMetadataProvider(provider);
83
+ const read = async (entityName, filter, fields) => {
84
+ const res = await rv.RunView({ EntityName: entityName, ExtraFilter: filter, Fields: fields, ResultType: 'simple', BypassCache: true }, user);
85
+ if (!res.Success)
86
+ throw new Error(`Could not read ${entityName}: ${res.ErrorMessage}`);
87
+ return res.Results ?? [];
88
+ };
89
+ const rows = await read(TASK_ASSIGNMENT_ENTITY, `TaskID IN (${quotedIDs(ids, 'TaskID')})`, ['TaskID', 'AssigneeEntityID', 'AssigneeRecordID']);
90
+ const personEntityID = provider.EntityByName(PERSON_ENTITY)?.ID;
91
+ const userEntityID = provider.EntityByName(USER_ENTITY)?.ID;
92
+ const isPerson = (r) => sameUser(r.AssigneeEntityID, personEntityID);
93
+ const isUser = (r) => sameUser(r.AssigneeEntityID, userEntityID);
94
+ const personIDs = rows.filter(isPerson).map((r) => r.AssigneeRecordID);
95
+ const userIDs = rows.filter(isUser).map((r) => r.AssigneeRecordID);
96
+ const persons = personIDs.length
97
+ ? await read(PERSON_ENTITY, `ID IN (${quotedIDs(personIDs, 'PersonID')})`, ['ID', 'LinkedUserID', 'DisplayName', 'FirstName', 'LastName'])
98
+ : [];
99
+ const users = userIDs.length ? await read(USER_ENTITY, `ID IN (${quotedIDs(userIDs, 'UserID')})`, ['ID', 'Name']) : [];
100
+ for (const r of rows) {
101
+ let assignee = null;
102
+ if (isPerson(r)) {
103
+ const p = persons.find((x) => sameUser(x.ID, r.AssigneeRecordID));
104
+ if (p) {
105
+ const name = p.DisplayName?.trim() || [p.FirstName, p.LastName].filter(Boolean).join(' ').trim();
106
+ assignee = { UserID: p.LinkedUserID ?? null, Name: name || 'An unnamed person' };
107
+ }
108
+ }
109
+ else if (isUser(r)) {
110
+ const u = users.find((x) => sameUser(x.ID, r.AssigneeRecordID));
111
+ assignee = { UserID: r.AssigneeRecordID, Name: u?.Name ?? 'An unnamed user' };
112
+ }
113
+ if (!assignee)
114
+ continue;
115
+ const key = r.TaskID.toLowerCase();
116
+ const list = out.get(key) ?? [];
117
+ list.push(assignee);
118
+ out.set(key, list);
119
+ }
120
+ return out;
121
+ }
31
122
  //# sourceMappingURL=accessOverride.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accessOverride.js","sourceRoot":"","sources":["../src/accessOverride.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EACH,sBAAsB,EACtB,QAAQ,GAIX,MAAM,sBAAsB,CAAC;AAI9B,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAChC,MAAM,EAAE,mCAAmC;IAC3C,gBAAgB,EAAE,oDAAoD;IACtE,WAAW,EAAE,+CAA+C;CACtD,CAAC;AAEX,2FAA2F;AAC3F,MAAM,UAAU,8BAA8B,CAC1C,IAAiC,EACjC,QAAuE;IAEvE,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,KAAK,GAAG,QAAQ,EAAE,cAAc,IAAI,IAAI,QAAQ,EAAE,CAAC,cAAc,IAAI,EAAE,CAAC;IAC9E,MAAM,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,CAAC,IAAY,EAAW,EAAE;QACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,2BAA2B,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC9E,CAAC,CAAC;IACF,OAAQ,CAAC,kBAAkB,EAAE,aAAa,CAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxG,CAAC"}
1
+ {"version":3,"file":"accessOverride.js","sourceRoot":"","sources":["../src/accessOverride.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkout-questions.d.ts","sourceRoot":"","sources":["../src/checkout-questions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,wFAAwF;AACxF,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC7B,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qCAAqC;AACrC,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEvE,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACjC,0FAA0F;IAC1F,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4CAA4C;AAC5C,eAAO,MAAM,gCAAgC,MAAM,CAAC;AACpD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,mGAAmG;AACnG,eAAO,MAAM,kCAAkC,2EAA2E,CAAC;AAE3H,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,MAAM,CAE3F;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,MAAM,CAE3F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAYrG;AAsBD,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE1E;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAgDlH;AAED,8GAA8G;AAC9G,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAIlG"}
1
+ {"version":3,"file":"checkout-questions.d.ts","sourceRoot":"","sources":["../src/checkout-questions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,wFAAwF;AACxF,MAAM,WAAW,sBAAsB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC7B,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,sBAAsB,CAAC,CAAC;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,4EAA4E;AAC5E,MAAM,WAAW,mBAAmB;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wFAAwF;IACxF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qCAAqC;AACrC,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAEvE,uEAAuE;AACvE,MAAM,WAAW,sBAAsB;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACjC,0FAA0F;IAC1F,OAAO,EAAE,sBAAsB,EAAE,CAAC;IAClC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,4CAA4C;AAC5C,eAAO,MAAM,gCAAgC,MAAM,CAAC;AACpD,eAAO,MAAM,kCAAkC,MAAM,CAAC;AACtD,eAAO,MAAM,0BAA0B,OAAO,CAAC;AAE/C,mGAAmG;AACnG,eAAO,MAAM,kCAAkC,2EAA2E,CAAC;AAE3H,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,MAAM,CAE3F;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,GAAG,MAAM,CAE3F;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAYrG;AAsBD,0FAA0F;AAC1F,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAE1E;AAED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,gBAAgB,EAAE,EAAE,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAkDlH;AAED,8GAA8G;AAC9G,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,oBAAoB,CAIlG"}
@@ -118,8 +118,10 @@ export function CheckAnswersAgainstQuestions(questions, answers) {
118
118
  if (q.otherOptionKey !== undefined && value === q.otherOptionKey) {
119
119
  if (!otherText)
120
120
  return refuse(`Please say more about your answer to "${q.label}".`);
121
- if (otherText.length > MAX_CHECKOUT_ANSWER_LENGTH) {
122
- return refuse(`The answer to "${q.label}" is too long (at most ${MAX_CHECKOUT_ANSWER_LENGTH} characters).`);
121
+ // The same limit as the answer itself: the page caps the "Other" box at the
122
+ // question's maxLength, and a direct post must not store more than the page allows.
123
+ if (otherText.length > CheckoutAnswerMaxLength(q)) {
124
+ return refuse(`The answer to "${q.label}" is too long (at most ${CheckoutAnswerMaxLength(q)} characters).`);
123
125
  }
124
126
  recordedOther = otherText;
125
127
  }