@mj-biz-apps/orders-server 5.16.0 → 5.17.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.
- package/dist/__tests__/invoice-as-of-date.test.d.ts +2 -0
- package/dist/__tests__/invoice-as-of-date.test.d.ts.map +1 -0
- package/dist/__tests__/invoice-as-of-date.test.js +50 -0
- package/dist/__tests__/invoice-as-of-date.test.js.map +1 -0
- package/dist/__tests__/spawn-renewals-as-of-date.test.d.ts +2 -0
- package/dist/__tests__/spawn-renewals-as-of-date.test.d.ts.map +1 -0
- package/dist/__tests__/spawn-renewals-as-of-date.test.js +42 -0
- package/dist/__tests__/spawn-renewals-as-of-date.test.js.map +1 -0
- package/dist/custom/spawn-renewals.action.d.ts.map +1 -1
- package/dist/custom/spawn-renewals.action.js +9 -1
- package/dist/custom/spawn-renewals.action.js.map +1 -1
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.d.ts +12 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.d.ts.map +1 -1
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.js +48 -0
- package/dist/generated/graphql-schemas/__mj_BizAppsOrders.js.map +1 -1
- package/dist/services/invoice-renderer.d.ts +1 -1
- package/dist/services/invoice-renderer.d.ts.map +1 -1
- package/dist/services/invoice-renderer.js +20 -2
- package/dist/services/invoice-renderer.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoice-as-of-date.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/invoice-as-of-date.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* An invoice asked for a day that does not exist is refused, not dated today (#209).
|
|
3
|
+
*
|
|
4
|
+
* `RenderInvoiceDocuments` is the boundary both `Orders.GenerateInvoice` and `Orders.SendDocument`
|
|
5
|
+
* come through, and everything below it NORMALISES: `AsDateValue` answers `null` for `2026-02-30`,
|
|
6
|
+
* so the day would fall back to today — on the printed date and on the days-until-due countdown —
|
|
7
|
+
* with nothing to tell the caller their date never existed.
|
|
8
|
+
*
|
|
9
|
+
* The refusal has to happen before any work, which is what the empty provider below proves: if the
|
|
10
|
+
* guard did not fire, `BuildInvoiceDocuments` would be reached and throw on it.
|
|
11
|
+
*/
|
|
12
|
+
import { beforeEach, describe, expect, it, vi } from 'vitest';
|
|
13
|
+
const mocks = vi.hoisted(() => ({
|
|
14
|
+
// Whether the builder was reached is the assertion: a refusal must happen BEFORE any work,
|
|
15
|
+
// and a guard that refuses everything must not.
|
|
16
|
+
build: vi.fn().mockResolvedValue({ Success: false, Message: 'builder reached', Documents: [] }),
|
|
17
|
+
}));
|
|
18
|
+
vi.mock('@mj-biz-apps/orders-core-entities-server', async (importOriginal) => {
|
|
19
|
+
const actual = await importOriginal();
|
|
20
|
+
return { ...actual, BuildInvoiceDocuments: mocks.build };
|
|
21
|
+
});
|
|
22
|
+
import { RenderInvoiceDocuments } from '../services/invoice-renderer.js';
|
|
23
|
+
const ORDER = '3f2504e0-4f89-41d3-9a0c-0305e82c3301';
|
|
24
|
+
const provider = {};
|
|
25
|
+
const user = { ID: 'user-1' };
|
|
26
|
+
describe('RenderInvoiceDocuments validates the day it was asked for', () => {
|
|
27
|
+
beforeEach(() => mocks.build.mockClear());
|
|
28
|
+
it.each([
|
|
29
|
+
['2026-02-30', 'a well-formed day that does not exist — Date.parse rolls it to 2 March'],
|
|
30
|
+
['2026-13-01', 'a month that does not exist'],
|
|
31
|
+
['not-a-date', 'plain garbage'],
|
|
32
|
+
])('refuses %s (%s)', async (asOf) => {
|
|
33
|
+
const res = await RenderInvoiceDocuments(ORDER, provider, user, { AsOfDate: asOf });
|
|
34
|
+
expect(res.Success).toBe(false);
|
|
35
|
+
expect(res.Code).toBe('INVALID_AS_OF_DATE');
|
|
36
|
+
expect(res.Documents).toEqual([]);
|
|
37
|
+
expect(mocks.build).not.toHaveBeenCalled();
|
|
38
|
+
});
|
|
39
|
+
it('lets a real day through to the builder, so the guard is not simply refusing everything', async () => {
|
|
40
|
+
// Guards the guard: without this, a guard that refused every input would pass the three
|
|
41
|
+
// assertions above and quietly break invoicing.
|
|
42
|
+
await RenderInvoiceDocuments(ORDER, provider, user, { AsOfDate: '2026-03-15' });
|
|
43
|
+
expect(mocks.build).toHaveBeenCalledWith(ORDER, provider, user, expect.objectContaining({ AsOf: '2026-03-15' }));
|
|
44
|
+
});
|
|
45
|
+
it('lets an omitted day through, which is the ordinary call', async () => {
|
|
46
|
+
await RenderInvoiceDocuments(ORDER, provider, user, {});
|
|
47
|
+
expect(mocks.build).toHaveBeenCalledWith(ORDER, provider, user, expect.objectContaining({ AsOf: null }));
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
//# sourceMappingURL=invoice-as-of-date.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoice-as-of-date.test.js","sourceRoot":"","sources":["../../src/__tests__/invoice-as-of-date.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9D,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAC5B,2FAA2F;IAC3F,gDAAgD;IAChD,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;CAClG,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,0CAA0C,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;IACzE,MAAM,MAAM,GAAG,MAAM,cAAc,EAA6D,CAAC;IACjG,OAAO,EAAE,GAAG,MAAM,EAAE,qBAAqB,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;AAC7D,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AAEzE,MAAM,KAAK,GAAG,sCAAsC,CAAC;AACrD,MAAM,QAAQ,GAAG,EAAkC,CAAC;AACpD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAyB,CAAC;AAErD,QAAQ,CAAC,2DAA2D,EAAE,GAAG,EAAE;IACvE,UAAU,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;IAE1C,EAAE,CAAC,IAAI,CAAC;QACJ,CAAC,YAAY,EAAE,wEAAwE,CAAC;QACxF,CAAC,YAAY,EAAE,6BAA6B,CAAC;QAC7C,CAAC,YAAY,EAAE,eAAe,CAAC;KAClC,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACpF,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wFAAwF,EAAE,KAAK,IAAI,EAAE;QACpG,wFAAwF;QACxF,gDAAgD;QAChD,MAAM,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;QAChF,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,sBAAsB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7G,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn-renewals-as-of-date.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/spawn-renewals-as-of-date.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `Orders.SpawnRenewals` refuses a day that does not exist, before it places anything (#209).
|
|
3
|
+
*
|
|
4
|
+
* The action's own guard used to be `Number.isNaN(new Date(asOf).getTime())`, which ROLLS OVER:
|
|
5
|
+
* `2026-02-30` parses as 2 March, so the check passed and a renewal pass ran — and placed real
|
|
6
|
+
* orders — for a day nobody named. The operation below now refuses the same value, so this guard
|
|
7
|
+
* is no longer the only thing standing between a typo and a billing run; what it still owns is the
|
|
8
|
+
* refusal happening HERE, with the action's own message, before any provider work.
|
|
9
|
+
*
|
|
10
|
+
* That last part is what this test pins: the action returns on the date alone, with no metadata
|
|
11
|
+
* provider configured and no operation reached.
|
|
12
|
+
*/
|
|
13
|
+
import { describe, expect, it } from 'vitest';
|
|
14
|
+
import { SpawnRenewalsAction } from '../custom/spawn-renewals.action.js';
|
|
15
|
+
const run = (asOf) => {
|
|
16
|
+
const action = new SpawnRenewalsAction();
|
|
17
|
+
return action.InternalRunAction({
|
|
18
|
+
ContextUser: { ID: 'user-1' },
|
|
19
|
+
Params: [{ Name: 'AsOfDate', Value: asOf, Type: 'Input' }],
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
describe('Orders.SpawnRenewals refuses an impossible AsOfDate at the action boundary', () => {
|
|
23
|
+
it.each([
|
|
24
|
+
['2026-02-30', 'Date.parse rolls this to 2 March, so the old check let it through'],
|
|
25
|
+
['2026-06-31', 'June has 30 days'],
|
|
26
|
+
['not-a-date', 'plain garbage, which the old check did catch'],
|
|
27
|
+
])('refuses %s (%s)', async (asOf) => {
|
|
28
|
+
const res = await run(asOf);
|
|
29
|
+
expect(res.Success).toBe(false);
|
|
30
|
+
expect(res.ResultCode).toBe('INVALID_AS_OF_DATE');
|
|
31
|
+
});
|
|
32
|
+
it('does not refuse a real day — including a leap day, which is real', async () => {
|
|
33
|
+
// Guards the guard: a check that refused everything would satisfy the three above while
|
|
34
|
+
// making the renewal pass unrunnable. These get past the date and stop on the absent
|
|
35
|
+
// provider instead, which `InternalRunAction` reports as ERROR.
|
|
36
|
+
for (const day of ['2026-03-15', '2028-02-29']) {
|
|
37
|
+
const res = await run(day);
|
|
38
|
+
expect(res.ResultCode, day).not.toBe('INVALID_AS_OF_DATE');
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
//# sourceMappingURL=spawn-renewals-as-of-date.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn-renewals-as-of-date.test.js","sourceRoot":"","sources":["../../src/__tests__/spawn-renewals-as-of-date.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAMzE,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE;IACzB,MAAM,MAAM,GAAG,IAAI,mBAAmB,EAA+B,CAAC;IACtE,OAAO,MAAM,CAAC,iBAAiB,CAAC;QAC5B,WAAW,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;QAC7B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;KAC/B,CAAC,CAAC;AACrC,CAAC,CAAC;AAEF,QAAQ,CAAC,4EAA4E,EAAE,GAAG,EAAE;IACxF,EAAE,CAAC,IAAI,CAAC;QACJ,CAAC,YAAY,EAAE,mEAAmE,CAAC;QACnF,CAAC,YAAY,EAAE,kBAAkB,CAAC;QAClC,CAAC,YAAY,EAAE,8CAA8C,CAAC;KACjE,CAAC,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACjC,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAC9E,wFAAwF;QACxF,qFAAqF;QACrF,gEAAgE;QAChE,KAAK,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;YAC3B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC/D,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-renewals.action.d.ts","sourceRoot":"","sources":["../../src/custom/spawn-renewals.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAe,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-renewals.action.d.ts","sourceRoot":"","sources":["../../src/custom/spawn-renewals.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,KAAK,EAAe,kBAAkB,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAiErG;;;;;GAKG;AACH,qBACa,mBAAoB,SAAQ,UAAU;IAC/C,kGAAkG;cAClF,iBAAiB,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;YAYzE,KAAK;CAkItB;AAED,sGAAsG;AACtG,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C"}
|
|
@@ -34,6 +34,7 @@ import { BaseAction } from '@memberjunction/actions';
|
|
|
34
34
|
import { Metadata } from '@memberjunction/core';
|
|
35
35
|
import { RegisterClass } from '@memberjunction/global';
|
|
36
36
|
import { OrdersSpawnRenewalsOperation } from '@mj-biz-apps/orders-entities';
|
|
37
|
+
import { RequireDate } from '@mj-biz-apps/orders-core-entities-server';
|
|
37
38
|
const UUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
38
39
|
function param(params, name) {
|
|
39
40
|
return params.Params?.find((p) => p.Name?.toLowerCase() === name.toLowerCase())?.Value;
|
|
@@ -127,7 +128,14 @@ let SpawnRenewalsAction = class SpawnRenewalsAction extends BaseAction {
|
|
|
127
128
|
// A date we cannot read is refused rather than quietly replaced with today. Today is
|
|
128
129
|
// the one value most likely to look right and be wrong — a preview run for the cutover
|
|
129
130
|
// would silently report the wrong quarter, and a live run would bill it.
|
|
130
|
-
|
|
131
|
+
//
|
|
132
|
+
// Through `RequireDate` rather than `new Date(asOf)`, which ROLLS OVER: `2026-02-30`
|
|
133
|
+
// parsed happily as 2 March, so the check passed and the pass ran for a day nobody
|
|
134
|
+
// named. The operation below refuses it too; this keeps the action's own message.
|
|
135
|
+
try {
|
|
136
|
+
RequireDate(asOf, 'AsOfDate');
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
131
139
|
return {
|
|
132
140
|
Success: false,
|
|
133
141
|
ResultCode: 'INVALID_AS_OF_DATE',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn-renewals.action.js","sourceRoot":"","sources":["../../src/custom/spawn-renewals.action.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;;;;;;;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAA0B,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,4BAA4B,EAA2B,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn-renewals.action.js","sourceRoot":"","sources":["../../src/custom/spawn-renewals.action.ts"],"names":[],"mappings":"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"}
|
|
@@ -616,7 +616,9 @@ export declare class mjBizAppsOrdersEventOrderLine_ {
|
|
|
616
616
|
DimensionID?: string;
|
|
617
617
|
DimensionValueID?: string;
|
|
618
618
|
Person?: string;
|
|
619
|
+
BilledToDate: number;
|
|
619
620
|
ReadableFields___?: string[];
|
|
621
|
+
RecognizedToDate: number;
|
|
620
622
|
}
|
|
621
623
|
export declare class CreatemjBizAppsOrdersEventOrderLineInput {
|
|
622
624
|
ID?: string;
|
|
@@ -666,6 +668,8 @@ export declare class CreatemjBizAppsOrdersEventOrderLineInput {
|
|
|
666
668
|
PriceOverrideReason: string | null;
|
|
667
669
|
DimensionID: string | null;
|
|
668
670
|
DimensionValueID: string | null;
|
|
671
|
+
BilledToDate?: number;
|
|
672
|
+
RecognizedToDate?: number;
|
|
669
673
|
RestoreContext___?: RestoreContextInput;
|
|
670
674
|
}
|
|
671
675
|
export declare class UpdatemjBizAppsOrdersEventOrderLineInput {
|
|
@@ -716,6 +720,8 @@ export declare class UpdatemjBizAppsOrdersEventOrderLineInput {
|
|
|
716
720
|
PriceOverrideReason?: string | null;
|
|
717
721
|
DimensionID?: string | null;
|
|
718
722
|
DimensionValueID?: string | null;
|
|
723
|
+
BilledToDate?: number;
|
|
724
|
+
RecognizedToDate?: number;
|
|
719
725
|
OldValues___?: KeyValuePairInput[];
|
|
720
726
|
RestoreContext___?: RestoreContextInput;
|
|
721
727
|
}
|
|
@@ -1516,6 +1522,8 @@ export declare class mjBizAppsOrdersOrderLine_ {
|
|
|
1516
1522
|
PriceOverrideReason?: string;
|
|
1517
1523
|
DimensionID?: string;
|
|
1518
1524
|
DimensionValueID?: string;
|
|
1525
|
+
BilledToDate: number;
|
|
1526
|
+
RecognizedToDate: number;
|
|
1519
1527
|
OrderHeader?: string;
|
|
1520
1528
|
Product?: string;
|
|
1521
1529
|
Company?: string;
|
|
@@ -1568,6 +1576,8 @@ export declare class CreatemjBizAppsOrdersOrderLineInput {
|
|
|
1568
1576
|
PriceOverrideReason: string | null;
|
|
1569
1577
|
DimensionID: string | null;
|
|
1570
1578
|
DimensionValueID: string | null;
|
|
1579
|
+
BilledToDate?: number;
|
|
1580
|
+
RecognizedToDate?: number;
|
|
1571
1581
|
RestoreContext___?: RestoreContextInput;
|
|
1572
1582
|
}
|
|
1573
1583
|
export declare class UpdatemjBizAppsOrdersOrderLineInput {
|
|
@@ -1604,6 +1614,8 @@ export declare class UpdatemjBizAppsOrdersOrderLineInput {
|
|
|
1604
1614
|
PriceOverrideReason?: string | null;
|
|
1605
1615
|
DimensionID?: string | null;
|
|
1606
1616
|
DimensionValueID?: string | null;
|
|
1617
|
+
BilledToDate?: number;
|
|
1618
|
+
RecognizedToDate?: number;
|
|
1607
1619
|
OldValues___?: KeyValuePairInput[];
|
|
1608
1620
|
RestoreContext___?: RestoreContextInput;
|
|
1609
1621
|
}
|