This commit is contained in:
seb
2026-10-23 20:31:39 +02:00
parent 8002ca56e6
commit 82ab27ef2b
11 changed files with 39 additions and 41 deletions

View File

@@ -37,7 +37,7 @@ export default function create(provider) {
* @param {number} input.orderId - The parent order manifest id.
* @param {Array<{sku?: string, orderLineId?: number, amount?: number, name?: string, pu?: number, net?: number, rebate?: number, taxrate?: number, comment?: string}>} input.lines - The shipment positions. Order lines with a SKU are referenced by `sku`; SKU-less order lines by `orderLineId` (matched across shipments by name).
* @param {string|Date} [input.date] - Optional shipment date (defaults to current date).
* @param {'new'|'delivered'|'returned'} [input.state='new'] - Optional delivery state (defaults to 'new').
* @param {'new'|'delivered'} [input.state='new'] - Optional delivery state (defaults to 'new').
* @param {string} [input.externalNumber] - Optional external delivery note number (defaults to order.externalNumber or order.number).
* @param {object} input.shipping - Required shipping (package) created atomically with the shipment, so a shipment never exists without a carrier.
* @param {number} input.shipping.carrierId - The carrier id.
@@ -290,12 +290,12 @@ export default function create(provider) {
});
// 8b. Create the shipping (carrier) atomically with the shipment. Must run before the
// summary state ('delivered'/'returned') is written, as that would block shipping creation.
// summary state ('delivered') is written, as that would block shipping creation.
await createShipping(googleAuthId, { ...input.shipping, manifestId }, innerTx);
// 9. Synchronize order summary row and shipment summary row
await syncOrderSummary(runner, { companyId, manifestId: orderId });
const validState = input.state && ['new', 'delivered', 'returned'].includes(String(input.state).trim().toLowerCase())
const validState = input.state && ['new', 'delivered'].includes(String(input.state).trim().toLowerCase())
? String(input.state).trim().toLowerCase()
: 'new';