@mj-biz-apps/orders-core-entities-server 5.5.0 → 5.7.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 (60) hide show
  1. package/dist/AccountingBridge.d.ts +6 -7
  2. package/dist/AccountingBridge.d.ts.map +1 -1
  3. package/dist/AccountingBridge.js +10 -13
  4. package/dist/AccountingBridge.js.map +1 -1
  5. package/dist/AdvanceOrderStateOperation.d.ts.map +1 -1
  6. package/dist/AdvanceOrderStateOperation.js +3 -14
  7. package/dist/AdvanceOrderStateOperation.js.map +1 -1
  8. package/dist/BundleEngine.d.ts.map +1 -1
  9. package/dist/BundleEngine.js +6 -10
  10. package/dist/BundleEngine.js.map +1 -1
  11. package/dist/CheckoutSessionService.d.ts.map +1 -1
  12. package/dist/CheckoutSessionService.js +8 -21
  13. package/dist/CheckoutSessionService.js.map +1 -1
  14. package/dist/EntitlementEngine.d.ts.map +1 -1
  15. package/dist/EntitlementEngine.js +35 -40
  16. package/dist/EntitlementEngine.js.map +1 -1
  17. package/dist/FulfillOrderLinesOperation.d.ts +1 -1
  18. package/dist/FulfillOrderLinesOperation.d.ts.map +1 -1
  19. package/dist/FulfillOrderLinesOperation.js +7 -16
  20. package/dist/FulfillOrderLinesOperation.js.map +1 -1
  21. package/dist/GLAccountResolver.d.ts +1 -1
  22. package/dist/GLAccountResolver.d.ts.map +1 -1
  23. package/dist/GLAccountResolver.js +4 -37
  24. package/dist/GLAccountResolver.js.map +1 -1
  25. package/dist/GetFulfillmentQueueOperation.d.ts.map +1 -1
  26. package/dist/GetFulfillmentQueueOperation.js +7 -19
  27. package/dist/GetFulfillmentQueueOperation.js.map +1 -1
  28. package/dist/GiftCardEngine.d.ts.map +1 -1
  29. package/dist/GiftCardEngine.js +6 -20
  30. package/dist/GiftCardEngine.js.map +1 -1
  31. package/dist/OrderEntityServer.d.ts +32 -0
  32. package/dist/OrderEntityServer.d.ts.map +1 -1
  33. package/dist/OrderEntityServer.js +90 -24
  34. package/dist/OrderEntityServer.js.map +1 -1
  35. package/dist/OrderJournalEntryFactory.d.ts +1 -1
  36. package/dist/OrderJournalEntryFactory.d.ts.map +1 -1
  37. package/dist/OrderJournalEntryFactory.js +45 -22
  38. package/dist/OrderJournalEntryFactory.js.map +1 -1
  39. package/dist/OrderLineEntityServer.d.ts.map +1 -1
  40. package/dist/OrderLineEntityServer.js +4 -12
  41. package/dist/OrderLineEntityServer.js.map +1 -1
  42. package/dist/OrderRollupBehavior.d.ts +76 -0
  43. package/dist/OrderRollupBehavior.d.ts.map +1 -0
  44. package/dist/OrderRollupBehavior.js +72 -0
  45. package/dist/OrderRollupBehavior.js.map +1 -0
  46. package/dist/PreviewPriceOperation.d.ts.map +1 -1
  47. package/dist/PreviewPriceOperation.js +4 -10
  48. package/dist/PreviewPriceOperation.js.map +1 -1
  49. package/dist/ProductPriceEntityServer.d.ts.map +1 -1
  50. package/dist/ProductPriceEntityServer.js +28 -22
  51. package/dist/ProductPriceEntityServer.js.map +1 -1
  52. package/dist/SubscriptionBehavior.d.ts +17 -0
  53. package/dist/SubscriptionBehavior.d.ts.map +1 -1
  54. package/dist/SubscriptionBehavior.js +56 -0
  55. package/dist/SubscriptionBehavior.js.map +1 -1
  56. package/dist/index.d.ts +3 -1
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +2 -1
  59. package/dist/index.js.map +1 -1
  60. package/package.json +3 -4
@@ -42,6 +42,8 @@
42
42
  */
43
43
  import { RunView } from '@memberjunction/core';
44
44
  import { MJGlobal } from '@memberjunction/global';
45
+ import { LoadOrdersEngine, OrdersEngine, } from '@mj-biz-apps/orders-entities';
46
+ import { ResolveRevenueRecognitionTypeID } from './SubscriptionBehavior.js';
45
47
  import { GL_ROLE, GLAccountResolutionError } from './GLAccountResolver.js';
46
48
  import { RevenueRecognitionDriver } from './RevenueRecognition.js';
47
49
  import { GIFT_CARD_PRODUCT_TYPE_CODE } from './GiftCardBehavior.js';
@@ -105,14 +107,17 @@ export class OrderJournalEntryFactory {
105
107
  return drafts;
106
108
  }
107
109
  async buildLineDrafts(order, line, products, revRecTypes, dimensions, effectiveDate, asOf, giftCardTypeIDs, term, recognitionMonths) {
108
- const product = products.get(line.ProductID);
110
+ const product = products.get(line.ProductID.toLowerCase());
109
111
  if (!product) {
110
112
  throw new Error(`Order line ${line.ID} references product ${line.ProductID}, which was not found.`);
111
113
  }
112
- const revRec = revRecTypes.get(product.RevenueRecognitionTypeID);
114
+ const typeDefault = OrdersEngine.Instance.ProductTypeByID(product.ProductTypeID)?.DefaultRevenueRecognitionTypeID;
115
+ const revRecID = ResolveRevenueRecognitionTypeID(product.RevenueRecognitionTypeID, typeDefault);
116
+ const revRec = revRecID ? revRecTypes.get(revRecID.toLowerCase()) : undefined;
113
117
  if (!revRec) {
114
- throw new Error(`Product '${product.Name}' has no valid revenue recognition type — cannot determine ` +
115
- `whether its revenue is earned at booking or over time.`);
118
+ throw new Error(`Product '${product.Name}' has no valid revenue recognition type` +
119
+ (revRecID ? ` (${revRecID})` : '') +
120
+ ` — cannot determine whether its revenue is earned at booking or over time.`);
116
121
  }
117
122
  // The line's company is the denormalized stamp of the product's company (plan D6).
118
123
  const companyID = line.CompanyID ?? product.CompanyID;
@@ -349,15 +354,22 @@ export class OrderJournalEntryFactory {
349
354
  return isoDate(order.OrderDate ? new Date(order.OrderDate) : new Date());
350
355
  }
351
356
  async loadProducts(productIDs) {
352
- const inList = [...new Set(productIDs)].map((id) => `'${id}'`).join(',');
353
- const rv = new RunView(this._provider);
354
- const result = await rv.RunView({
355
- EntityName: 'MJ_BizApps_Orders: Products',
356
- ExtraFilter: `ID IN (${inList})`,
357
- Fields: ['ID', 'CompanyID', 'ProductCategoryID', 'ProductTypeID', 'RevenueRecognitionTypeID', 'Name'],
358
- ResultType: 'simple',
359
- }, this._contextUser);
360
- return new Map((result?.Results ?? []).map((p) => [p.ID, p]));
357
+ await LoadOrdersEngine(this._provider, this._contextUser);
358
+ const out = new Map();
359
+ for (const id of productIDs) {
360
+ const p = OrdersEngine.Instance.ProductByID(id);
361
+ if (!p)
362
+ continue;
363
+ out.set(p.ID.toLowerCase(), {
364
+ ID: p.ID,
365
+ CompanyID: p.CompanyID,
366
+ ProductCategoryID: p.ProductCategoryID ?? null,
367
+ ProductTypeID: p.ProductTypeID,
368
+ RevenueRecognitionTypeID: p.RevenueRecognitionTypeID,
369
+ Name: p.Name,
370
+ });
371
+ }
372
+ return out;
361
373
  }
362
374
  /**
363
375
  * ProductType IDs whose Code marks them a gift card.
@@ -366,23 +378,34 @@ export class OrderJournalEntryFactory {
366
378
  * not seeded metadata with stable keys. One query for the whole draft build, not one per line.
367
379
  */
368
380
  async loadGiftCardTypeIDs() {
369
- const rv = new RunView(this._provider);
370
- const result = await rv.RunView({
371
- EntityName: 'MJ_BizApps_Orders: Product Types',
372
- ExtraFilter: `Code = '${GIFT_CARD_PRODUCT_TYPE_CODE}'`,
373
- Fields: ['ID'],
374
- ResultType: 'simple',
375
- }, this._contextUser);
376
- return new Set((result?.Results ?? []).map((r) => r.ID));
381
+ await LoadOrdersEngine(this._provider, this._contextUser);
382
+ const type = OrdersEngine.Instance.ProductTypeByCode(GIFT_CARD_PRODUCT_TYPE_CODE);
383
+ return new Set(type ? [type.ID] : []);
377
384
  }
378
385
  async loadRevRecTypes() {
386
+ await LoadOrdersEngine(this._provider, this._contextUser);
387
+ const cached = OrdersEngine.Instance.RevenueRecognitionTypes;
388
+ if (cached.length > 0) {
389
+ return new Map(cached.map((t) => [
390
+ t.ID.toLowerCase(),
391
+ {
392
+ ID: t.ID,
393
+ Code: t.Code,
394
+ DriverClass: t.DriverClass,
395
+ IsDeferred: !!t.IsDeferred,
396
+ },
397
+ ]));
398
+ }
379
399
  const rv = new RunView(this._provider);
380
400
  const result = await rv.RunView({
381
401
  EntityName: 'MJ_BizApps_Orders: Revenue Recognition Types',
382
402
  Fields: ['ID', 'Code', 'DriverClass', 'IsDeferred'],
383
403
  ResultType: 'simple',
384
404
  }, this._contextUser);
385
- return new Map((result?.Results ?? []).map((t) => [t.ID, t]));
405
+ if (!result?.Success) {
406
+ throw new Error(`Could not load revenue recognition types${result?.ErrorMessage ? `: ${result.ErrorMessage}` : '.'}`);
407
+ }
408
+ return new Map((result.Results ?? []).map((t) => [t.ID.toLowerCase(), t]));
386
409
  }
387
410
  /** Plan D31 — the line's dimension tags ride onto every JE line it produces. */
388
411
  async loadLineDimensions(lineIDs) {
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"OrderLineEntityServer.d.ts","sourceRoot":"","sources":["../src/OrderLineEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAEH,iBAAiB,EAMjB,gBAAgB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAyC,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAWtG,qBACa,qBAAsB,SAAQ,eAAe;IACtD;;;;;;;;;;;;OAYG;IACI,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpD;;;;;;OAMG;IACH,IAAoB,0BAA0B,IAAI,OAAO,CAExD;IAEqB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAuBhE,yFAAyF;IAClF,iBAAiB,UAAS;IAEjC;;;;OAIG;YACW,0BAA0B;IA2BxC;;;;;;;;;;;;;OAaG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;YAW3D,gBAAgB;IAwC9B,OAAO,CAAC,2BAA2B;IAKnC,kDAAkD;YACpC,uBAAuB;IAoBrC,OAAO,CAAC,aAAa;CAkExB;AAED,0FAA0F;AAC1F,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
1
+ {"version":3,"file":"OrderLineEntityServer.d.ts","sourceRoot":"","sources":["../src/OrderLineEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,OAAO,EAEH,iBAAiB,EAMjB,gBAAgB,EACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAA2D,eAAe,EAAgB,MAAM,8BAA8B,CAAC;AAUtI,qBACa,qBAAsB,SAAQ,eAAe;IACtD;;;;;;;;;;;;OAYG;IACI,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEpD;;;;;;OAMG;IACH,IAAoB,0BAA0B,IAAI,OAAO,CAExD;IAEqB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAuBhE,yFAAyF;IAClF,iBAAiB,UAAS;IAEjC;;;;OAIG;YACW,0BAA0B;IA2BxC;;;;;;;;;;;;;OAaG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAKtB,IAAI,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC;YAW3D,gBAAgB;IAwC9B,OAAO,CAAC,2BAA2B;IAKnC,kDAAkD;YACpC,uBAAuB;IAOrC,OAAO,CAAC,aAAa;CAkExB;AAED,0FAA0F;AAC1F,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
@@ -37,11 +37,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
37
37
  */
38
38
  import { BaseEntity, RunView, ValidationErrorInfo, ValidationErrorType, } from '@memberjunction/core';
39
39
  import { RegisterClass } from '@memberjunction/global';
40
- import { IsBooked, LineGross, NetAfterDiscount, OrderLineEntity } from '@mj-biz-apps/orders-entities';
40
+ import { IsBooked, LineGross, LoadOrdersEngine, NetAfterDiscount, OrderLineEntity, OrdersEngine } from '@mj-biz-apps/orders-entities';
41
41
  import { ORDER_HEADER_ENTITY } from './entity-names.js';
42
42
  import { RequireUUID } from './sql-guards.js';
43
43
  const ORDER_LINE_ENTITY = 'MJ_BizApps_Orders: Order Lines';
44
- const PRODUCT_ENTITY = 'MJ_BizApps_Orders: Products';
45
44
  function money(value) {
46
45
  return Math.round((value + Number.EPSILON) * 100) / 100;
47
46
  }
@@ -175,17 +174,10 @@ let OrderLineEntityServer = class OrderLineEntityServer extends OrderLineEntity
175
174
  async stampCompanyFromProduct() {
176
175
  if (!this.ProductID)
177
176
  return;
178
- const rv = new RunView(this.ProviderToUse);
179
- const result = await rv.RunView({
180
- EntityName: PRODUCT_ENTITY,
181
- ExtraFilter: `ID='${this.ProductID}'`,
182
- Fields: ['ID', 'CompanyID'],
183
- ResultType: 'simple',
184
- }, this.ContextCurrentUser);
185
- const product = result?.Results?.[0];
186
- if (product?.CompanyID) {
177
+ await LoadOrdersEngine(this.ProviderToUse, this.ContextCurrentUser);
178
+ const product = OrdersEngine.Instance.ProductByID(this.ProductID);
179
+ if (product?.CompanyID)
187
180
  this.CompanyID = product.CompanyID;
188
- }
189
181
  }
190
182
  computeTotals() {
191
183
  // ROUND THE DISCOUNT TO ITS COLUMN'S SCALE FIRST, and store the rounded value.
@@ -1 +1 @@
1
- {"version":3,"file":"OrderLineEntityServer.js","sourceRoot":"","sources":["../src/OrderLineEntityServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrderLineEntityServer.js","sourceRoot":"","sources":["../src/OrderLineEntityServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Which OrderHeader columns the database owns, and who wins when memory disagrees with the row.
3
+ *
4
+ * WHAT A ROLLUP IS HERE. `TotalGross`, `AmountPaid`, `Balance` and `FulfillmentStatus` are
5
+ * maintained by `__mj_BizAppsOrders.spRecalcOrderHeaderTotals`, which the OrderLine and PaymentLine
6
+ * triggers fire. No caller authors them. They are cross-table aggregates a computed column cannot
7
+ * express (D41), which is why they are stored rather than derived per reader — and why a process
8
+ * that writes lines has to go back and ask what the aggregate became.
9
+ *
10
+ * THE DIRECTION MATTERS, AND GETTING IT BACKWARDS IS THE BUG. An order header is written BEFORE its
11
+ * lines exist, so at that moment `Balance` is legitimately NULL and the in-memory value is not a
12
+ * stale copy of something better — it is the absence of an answer. Once the lines land, the ROW is
13
+ * the only thing that knows. Preferring the entity's own value there is how a freshly-confirmed $895
14
+ * order reported a NULL balance, displayed it as a dash, and then erased the stored total on the
15
+ * next save (bc-aidp-next-golive#186).
16
+ *
17
+ * So the row wins, unconditionally, whenever it has anything to say. Memory is a fallback for one
18
+ * case only: the read came back empty because there is no row yet.
19
+ *
20
+ * CONNECTS TO:
21
+ * CODE: OrderEntityServer.refreshRolledUpTotals · spRecalcOrderHeaderTotals
22
+ * SQL: migrations/V202609021530__v0.1.x__Repair_OrderHeader_Rollups.sql
23
+ */
24
+ /**
25
+ * The rollup columns, in the order they appear on the table.
26
+ *
27
+ * Read as a set by the entity server — to reset the fields before writing them, and as the `Fields`
28
+ * list of the read that fetches them — so adding a trigger-maintained column here is the whole
29
+ * change on the TypeScript side.
30
+ */
31
+ export declare const ORDER_ROLLUP_FIELDS: readonly ["TotalGross", "AmountPaid", "Balance", "FulfillmentStatus"];
32
+ /** One of the rollup column names. */
33
+ export type OrderRollupField = (typeof ORDER_ROLLUP_FIELDS)[number];
34
+ /**
35
+ * The rollup columns as some source holds them. Every one is optional and nullable because both
36
+ * sources are partial: a row read can come back empty, and an unsaved entity has no totals at all.
37
+ */
38
+ export type OrderRollups = {
39
+ TotalGross?: number | null;
40
+ AmountPaid?: number | null;
41
+ Balance?: number | null;
42
+ FulfillmentStatus?: string | null;
43
+ };
44
+ /** Resolved rollups — every column present, `null` meaning "not computed yet". */
45
+ export type ResolvedOrderRollups = {
46
+ TotalGross: number | null;
47
+ AmountPaid: number | null;
48
+ Balance: number | null;
49
+ FulfillmentStatus: string | null;
50
+ };
51
+ /**
52
+ * Settle each rollup column between the database row and what the entity currently holds.
53
+ *
54
+ * `row` is authoritative for any column it reports, INCLUDING a null one — a row that says the
55
+ * balance is null is telling us the trigger has not run yet, which is a different and more current
56
+ * fact than an entity's leftover guess. `current` is consulted only for columns the row did not
57
+ * report at all, which happens when the read found no row.
58
+ *
59
+ * @param row - What the database returned, or null/undefined when the read found nothing.
60
+ * @param current - The entity's present values, used only to fill columns the row omitted.
61
+ * @returns Every rollup column, resolved.
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * // The row has computed the total; the entity's pre-line NULL loses.
66
+ * MergeOrderRollups({ TotalGross: 895, AmountPaid: 0, Balance: 895, FulfillmentStatus: 'Pending' },
67
+ * { TotalGross: null, Balance: null })
68
+ * // → { TotalGross: 895, AmountPaid: 0, Balance: 895, FulfillmentStatus: 'Pending' }
69
+ *
70
+ * // No row came back — keep what we have rather than inventing nulls.
71
+ * MergeOrderRollups(null, { TotalGross: 240, AmountPaid: 0, Balance: 240 })
72
+ * // → { TotalGross: 240, AmountPaid: 0, Balance: 240, FulfillmentStatus: null }
73
+ * ```
74
+ */
75
+ export declare function MergeOrderRollups(row: OrderRollups | null | undefined, current: OrderRollups): ResolvedOrderRollups;
76
+ //# sourceMappingURL=OrderRollupBehavior.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderRollupBehavior.d.ts","sourceRoot":"","sources":["../src/OrderRollupBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,uEAAwE,CAAC;AAEzG,sCAAsC;AACtC,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,kFAAkF;AAClF,MAAM,MAAM,oBAAoB,GAAG;IAC/B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CACpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,iBAAiB,CAC7B,GAAG,EAAE,YAAY,GAAG,IAAI,GAAG,SAAS,EACpC,OAAO,EAAE,YAAY,GACtB,oBAAoB,CAgBtB"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Which OrderHeader columns the database owns, and who wins when memory disagrees with the row.
3
+ *
4
+ * WHAT A ROLLUP IS HERE. `TotalGross`, `AmountPaid`, `Balance` and `FulfillmentStatus` are
5
+ * maintained by `__mj_BizAppsOrders.spRecalcOrderHeaderTotals`, which the OrderLine and PaymentLine
6
+ * triggers fire. No caller authors them. They are cross-table aggregates a computed column cannot
7
+ * express (D41), which is why they are stored rather than derived per reader — and why a process
8
+ * that writes lines has to go back and ask what the aggregate became.
9
+ *
10
+ * THE DIRECTION MATTERS, AND GETTING IT BACKWARDS IS THE BUG. An order header is written BEFORE its
11
+ * lines exist, so at that moment `Balance` is legitimately NULL and the in-memory value is not a
12
+ * stale copy of something better — it is the absence of an answer. Once the lines land, the ROW is
13
+ * the only thing that knows. Preferring the entity's own value there is how a freshly-confirmed $895
14
+ * order reported a NULL balance, displayed it as a dash, and then erased the stored total on the
15
+ * next save (bc-aidp-next-golive#186).
16
+ *
17
+ * So the row wins, unconditionally, whenever it has anything to say. Memory is a fallback for one
18
+ * case only: the read came back empty because there is no row yet.
19
+ *
20
+ * CONNECTS TO:
21
+ * CODE: OrderEntityServer.refreshRolledUpTotals · spRecalcOrderHeaderTotals
22
+ * SQL: migrations/V202609021530__v0.1.x__Repair_OrderHeader_Rollups.sql
23
+ */
24
+ /**
25
+ * The rollup columns, in the order they appear on the table.
26
+ *
27
+ * Read as a set by the entity server — to reset the fields before writing them, and as the `Fields`
28
+ * list of the read that fetches them — so adding a trigger-maintained column here is the whole
29
+ * change on the TypeScript side.
30
+ */
31
+ export const ORDER_ROLLUP_FIELDS = ['TotalGross', 'AmountPaid', 'Balance', 'FulfillmentStatus'];
32
+ /**
33
+ * Settle each rollup column between the database row and what the entity currently holds.
34
+ *
35
+ * `row` is authoritative for any column it reports, INCLUDING a null one — a row that says the
36
+ * balance is null is telling us the trigger has not run yet, which is a different and more current
37
+ * fact than an entity's leftover guess. `current` is consulted only for columns the row did not
38
+ * report at all, which happens when the read found no row.
39
+ *
40
+ * @param row - What the database returned, or null/undefined when the read found nothing.
41
+ * @param current - The entity's present values, used only to fill columns the row omitted.
42
+ * @returns Every rollup column, resolved.
43
+ *
44
+ * @example
45
+ * ```typescript
46
+ * // The row has computed the total; the entity's pre-line NULL loses.
47
+ * MergeOrderRollups({ TotalGross: 895, AmountPaid: 0, Balance: 895, FulfillmentStatus: 'Pending' },
48
+ * { TotalGross: null, Balance: null })
49
+ * // → { TotalGross: 895, AmountPaid: 0, Balance: 895, FulfillmentStatus: 'Pending' }
50
+ *
51
+ * // No row came back — keep what we have rather than inventing nulls.
52
+ * MergeOrderRollups(null, { TotalGross: 240, AmountPaid: 0, Balance: 240 })
53
+ * // → { TotalGross: 240, AmountPaid: 0, Balance: 240, FulfillmentStatus: null }
54
+ * ```
55
+ */
56
+ export function MergeOrderRollups(row, current) {
57
+ const resolve = (field) => {
58
+ const fromRow = row?.[field];
59
+ // `in` rather than a null check: the row reporting null is an answer, not a gap.
60
+ if (row && field in row && fromRow !== undefined) {
61
+ return fromRow;
62
+ }
63
+ return (current[field] ?? null);
64
+ };
65
+ return {
66
+ TotalGross: resolve('TotalGross'),
67
+ AmountPaid: resolve('AmountPaid'),
68
+ Balance: resolve('Balance'),
69
+ FulfillmentStatus: resolve('FulfillmentStatus'),
70
+ };
71
+ }
72
+ //# sourceMappingURL=OrderRollupBehavior.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrderRollupBehavior.js","sourceRoot":"","sources":["../src/OrderRollupBehavior.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,mBAAmB,CAAU,CAAC;AAwBzG;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,iBAAiB,CAC7B,GAAoC,EACpC,OAAqB;IAErB,MAAM,OAAO,GAAG,CAA6B,KAAQ,EAA2B,EAAE;QAC9E,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7B,iFAAiF;QACjF,IAAI,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,OAAkC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAA4B,CAAC;IAC/D,CAAC,CAAC;IAEF,OAAO;QACH,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC;QACjC,UAAU,EAAE,OAAO,CAAC,YAAY,CAAC;QACjC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC,mBAAmB,CAAC;KAClD,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewPriceOperation.d.ts","sourceRoot":"","sources":["../src/PreviewPriceOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EAKjB,QAAQ,EACX,MAAM,sBAAsB,CAAC;AAQ9B,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mCAAmC;AACnC,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,qBACa,qBAAsB,SAAQ,sBAAsB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAC7F,YAAY,SAAyB;cAE5B,eAAe,CAC3B,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,kBAAkB,CAAC;YA2GhB,WAAW;YAmBX,iBAAiB;CAclC;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
1
+ {"version":3,"file":"PreviewPriceOperation.d.ts","sourceRoot":"","sources":["../src/PreviewPriceOperation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EACH,sBAAsB,EACtB,iBAAiB,EAKjB,QAAQ,EACX,MAAM,sBAAsB,CAAC;AAQ9B,MAAM,WAAW,iBAAiB;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,qFAAqF;IACrF,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mCAAmC;AACnC,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,gFAAgF;IAChF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,gBAAgB,EAAE,CAAC;CACnC;AAED,qBACa,qBAAsB,SAAQ,sBAAsB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;IAC7F,YAAY,SAAyB;cAE5B,eAAe,CAC3B,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,QAAQ,GACf,OAAO,CAAC,kBAAkB,CAAC;YA2GhB,WAAW;YAUX,iBAAiB;CAclC;AAED,8FAA8F;AAC9F,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD"}
@@ -23,7 +23,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
23
23
  */
24
24
  import { BaseRemotableOperation, LogError, Metadata, RunView, } from '@memberjunction/core';
25
25
  import { RegisterClass } from '@memberjunction/global';
26
- import { OrderPricingService, PriceResolutionError, ResolvePriceListForCustomer } from '@mj-biz-apps/orders-entities';
26
+ import { LoadOrdersEngine, OrderPricingService, OrdersEngine, PriceResolutionError, ResolvePriceListForCustomer } from '@mj-biz-apps/orders-entities';
27
27
  import { RequireOptionalUUID, RequireUUID } from './sql-guards.js';
28
28
  const ORDER_LINE_ENTITY = 'MJ_BizApps_Orders: Order Lines';
29
29
  let PreviewPriceOperation = class PreviewPriceOperation extends BaseRemotableOperation {
@@ -128,15 +128,9 @@ let PreviewPriceOperation = class PreviewPriceOperation extends BaseRemotableOpe
128
128
  }
129
129
  }
130
130
  async loadProduct(provider, user, id) {
131
- const rv = new RunView(provider);
132
- const res = await rv.RunView({
133
- EntityName: 'MJ_BizApps_Orders: Products',
134
- ExtraFilter: `ID = '${id}'`,
135
- Fields: ['Name', 'ProductCategoryID', 'CompanyID'],
136
- ResultType: 'simple',
137
- BypassCache: true,
138
- }, user);
139
- return res?.Results?.[0] ?? null;
131
+ await LoadOrdersEngine(provider, user);
132
+ const p = OrdersEngine.Instance.ProductByID(id);
133
+ return p ? { Name: p.Name, ProductCategoryID: p.ProductCategoryID ?? null, CompanyID: p.CompanyID } : null;
140
134
  }
141
135
  async loadPriceListName(provider, user, id) {
142
136
  const rv = new RunView(provider);
@@ -1 +1 @@
1
- {"version":3,"file":"PreviewPriceOperation.js","sourceRoot":"","sources":["../src/PreviewPriceOperation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PreviewPriceOperation.js","sourceRoot":"","sources":["../src/PreviewPriceOperation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProductPriceEntityServer.d.ts","sourceRoot":"","sources":["../src/ProductPriceEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAA8D,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEpH,OAAO,EAAE,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AAqCjF,qBACa,wBAAyB,SAAQ,iCAAiC;IAC3E,oFAAoF;IACpF,IAAoB,0BAA0B,IAAI,OAAO,CAExD;IAEqB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAmDnE"}
1
+ {"version":3,"file":"ProductPriceEntityServer.d.ts","sourceRoot":"","sources":["../src/ProductPriceEntityServer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,OAAO,EAAmC,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAEzF,OAAO,EAAkC,iCAAiC,EAAE,MAAM,8BAA8B,CAAC;AAqCjH,qBACa,wBAAyB,SAAQ,iCAAiC;IAC3E,oFAAoF;IACpF,IAAoB,0BAA0B,IAAI,OAAO,CAExD;IAEqB,aAAa,IAAI,OAAO,CAAC,gBAAgB,CAAC;CA6CnE"}
@@ -30,9 +30,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
30
30
  * PURE: ./PricingBehavior.ts (PickPriceRule — the reader this protects)
31
31
  * DOC: plans/archive/pricing-schema.md
32
32
  */
33
- import { BaseEntity, RunView, ValidationErrorInfo } from '@memberjunction/core';
33
+ import { BaseEntity, ValidationErrorInfo } from '@memberjunction/core';
34
34
  import { RegisterClass } from '@memberjunction/global';
35
- import { mjBizAppsOrdersProductPriceEntity } from '@mj-biz-apps/orders-entities';
35
+ import { LoadOrdersEngine, OrdersEngine, mjBizAppsOrdersProductPriceEntity } from '@mj-biz-apps/orders-entities';
36
36
  const PRODUCT_PRICE_ENTITY = 'MJ_BizApps_Orders: Product Prices';
37
37
  /** Do two [min,max] bands overlap? Null bounds are open. */
38
38
  function bandsOverlap(aMin, aMax, bMin, bMax) {
@@ -59,30 +59,36 @@ let ProductPriceEntityServer = class ProductPriceEntityServer extends mjBizAppsO
59
59
  const result = await super.ValidateAsync();
60
60
  if (this.Status !== 'Active')
61
61
  return result; // an inactive rule collides with nothing
62
- // Statically imported. A dynamic `import()` here violated the house rule and bought nothing:
63
- // `@memberjunction/core` is already imported at the top of this file for BaseEntity.
64
- const rv = new RunView(this.ProviderToUse);
65
- const listClause = this.PriceListID ? `PriceListID = '${this.PriceListID}'` : `PriceListID IS NULL`;
66
- const notSelf = this.IsSaved ? ` AND ID <> '${this.ID}'` : '';
67
- const res = await rv.RunView({
68
- EntityName: PRODUCT_PRICE_ENTITY,
69
- ExtraFilter: `ProductID = '${this.ProductID}' AND Status = 'Active' AND ${listClause} ` +
70
- `AND FeeType = '${String(this.FeeType).replace(/'/g, "''")}' ` +
71
- `AND Priority = ${Number(this.Priority)}${notSelf}`,
72
- ResultType: 'simple',
73
- BypassCache: true,
74
- }, this.ContextCurrentUser);
75
- // Loud on failure: silently answering "no siblings" would let the ambiguity through, and the
76
- // whole point is that the ambiguity is otherwise invisible until an order fails.
77
- if (!res?.Success) {
78
- throw new Error(`ProductPriceEntityServer: could not check for conflicting price rules: ${res?.ErrorMessage ?? 'unknown error'}`);
79
- }
80
- const clash = (res.Results ?? []).find((o) => bandsOverlap(this.MinQuantity, this.MaxQuantity, o.MinQuantity, o.MaxQuantity) &&
62
+ const productCategoryID = this.Get('ProductCategoryID');
63
+ if (!this.ProductID && !productCategoryID)
64
+ return result;
65
+ await LoadOrdersEngine(this.ProviderToUse, this.ContextCurrentUser);
66
+ const listKey = (this.PriceListID ?? '').toLowerCase();
67
+ const fee = String(this.FeeType);
68
+ const priority = Number(this.Priority);
69
+ const catKey = (productCategoryID ?? '').toLowerCase();
70
+ const productKey = (this.ProductID ?? '').toLowerCase();
71
+ const siblings = OrdersEngine.Instance.ProductPrices.filter((o) => {
72
+ if (this.IsSaved && o.ID === this.ID)
73
+ return false;
74
+ if (o.Status !== 'Active')
75
+ return false;
76
+ if (String(o.FeeType) !== fee)
77
+ return false;
78
+ if (Number(o.Priority) !== priority)
79
+ return false;
80
+ if ((o.PriceListID ?? '').toLowerCase() !== listKey)
81
+ return false;
82
+ if (this.ProductID)
83
+ return (o.ProductID ?? '').toLowerCase() === productKey;
84
+ return (o.ProductCategoryID ?? '').toLowerCase() === catKey;
85
+ });
86
+ const clash = siblings.find((o) => bandsOverlap(this.MinQuantity, this.MaxQuantity, o.MinQuantity, o.MaxQuantity) &&
81
87
  windowsOverlap(this.EffectiveFrom, this.EffectiveTo, o.EffectiveFrom, o.EffectiveTo));
82
88
  if (clash) {
83
89
  result.Success = false;
84
90
  result.Errors.push(new ValidationErrorInfo('ProductPriceEntityServer.ValidateAsync', `This price rule collides with an existing one: both have priority ${this.Priority}, overlapping ` +
85
- `quantity bands and overlapping effective windows for the same product, price list and fee ` +
91
+ `quantity bands and overlapping effective windows for the same product or category, price list and fee ` +
86
92
  `type. The other is ${clash.Description?.trim() || clash.ID}. Pricing resolves by highest ` +
87
93
  `priority and refuses to break a tie, so an order using either quantity would fail. Give one ` +
88
94
  `of them a different priority, narrow a quantity band, or separate the date windows.`, null));
@@ -1 +1 @@
1
- {"version":3,"file":"ProductPriceEntityServer.js","sourceRoot":"","sources":["../src/ProductPriceEntityServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProductPriceEntityServer.js","sourceRoot":"","sources":["../src/ProductPriceEntityServer.ts"],"names":[],"mappings":"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"}
@@ -192,6 +192,23 @@ export declare class SubscriptionBehavior {
192
192
  explanation: string;
193
193
  };
194
194
  }
195
+ /** Map a subscription-type entity (or a cache row) onto the rules bag `Decide` reads. */
196
+ export declare function SubscriptionTypeRulesFrom(row: SubscriptionTypeRules): SubscriptionTypeRules;
197
+ /**
198
+ * Which subscription type a product actually uses at confirm.
199
+ *
200
+ * `Product.SubscriptionTypeID` wins when set. Otherwise the product type's
201
+ * `DefaultSubscriptionTypeID` (Membership → Annual Rolling, etc.). Null means
202
+ * the line is not a subscription — no term, no service period from this path.
203
+ */
204
+ export declare function ResolveSubscriptionTypeID(productSubscriptionTypeID: string | null | undefined, typeDefaultSubscriptionTypeID: string | null | undefined): string | null;
205
+ /**
206
+ * Which revenue-recognition type a product actually uses at booking.
207
+ *
208
+ * `Product.RevenueRecognitionTypeID` wins when set. Otherwise the product type's
209
+ * `DefaultRevenueRecognitionTypeID`. Null means confirm cannot tell upfront vs over time.
210
+ */
211
+ export declare function ResolveRevenueRecognitionTypeID(productRevenueRecognitionTypeID: string | null | undefined, typeDefaultRevenueRecognitionTypeID: string | null | undefined): string | null;
195
212
  /** Tree-shaking anchor — the base behaviour must be registered before booking runs. */
196
213
  export declare function LoadSubscriptionBehavior(): void;
197
214
  //# sourceMappingURL=SubscriptionBehavior.d.ts.map