@flowselections/floriday-voorraad 1.0.18 → 1.0.19
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-lib/integrations/supabase/auth-middleware.d.ts +115 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +115 -1
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +115 -1
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +115 -1
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/floricode-required-features.functions.d.ts +115 -1
- package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts +115 -1
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-customer-offer.functions.js +53 -8
- package/dist-lib/lib/floriday-gateway.functions.d.ts +575 -5
- package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-warehouse.functions.d.ts +345 -3
- package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +230 -2
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -118,6 +118,59 @@ export const publishCustomerOfferFn = createServerFn({ method: "POST" })
|
|
|
118
118
|
}
|
|
119
119
|
const orderStart = data.orderStart ?? new Date().toISOString();
|
|
120
120
|
const orderEnd = data.orderEnd ?? addYears(orderStart, 1);
|
|
121
|
+
// ------------------------------------------------------------------
|
|
122
|
+
// Floriday 2026v1: bij `usesCatalogAvailability=true` haalt Floriday de
|
|
123
|
+
// beschikbaarheid van een aparte bron (zie docs "Availability for
|
|
124
|
+
// Customer Offers"). Als voor dit trade item nog geen availability is
|
|
125
|
+
// geregistreerd, weigert `AddCustomerOffer` met 400:
|
|
126
|
+
// "Customer offer line availability must be specified when using
|
|
127
|
+
// catalog availability."
|
|
128
|
+
// Er hoort dus GEEN `availability`/`catalogAvailability` in de payload;
|
|
129
|
+
// in plaats daarvan zetten we vooraf de beschikbaarheid via
|
|
130
|
+
// EditTradeItemAvailabilityForCustomerOffers (CatalogPrices). Dit is
|
|
131
|
+
// idempotent — herhaald zetten van isAvailable=true is safe.
|
|
132
|
+
// ------------------------------------------------------------------
|
|
133
|
+
const isoWeek = (iso) => {
|
|
134
|
+
const d = new Date(iso);
|
|
135
|
+
// ISO-week berekening (ma = 1)
|
|
136
|
+
const target = new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate()));
|
|
137
|
+
const dayNr = (target.getUTCDay() + 6) % 7;
|
|
138
|
+
target.setUTCDate(target.getUTCDate() - dayNr + 3);
|
|
139
|
+
const firstThursday = new Date(Date.UTC(target.getUTCFullYear(), 0, 4));
|
|
140
|
+
const week = 1 +
|
|
141
|
+
Math.round(((target.getTime() - firstThursday.getTime()) / 86400000 -
|
|
142
|
+
3 +
|
|
143
|
+
((firstThursday.getUTCDay() + 6) % 7)) /
|
|
144
|
+
7);
|
|
145
|
+
return { week, year: target.getUTCFullYear() };
|
|
146
|
+
};
|
|
147
|
+
const fromWeek = isoWeek(orderStart);
|
|
148
|
+
const tillWeek = isoWeek(orderEnd);
|
|
149
|
+
try {
|
|
150
|
+
await gatewayWrite({
|
|
151
|
+
environment,
|
|
152
|
+
module: "inventory",
|
|
153
|
+
action: "set-trade-item-availability-for-customer-offers",
|
|
154
|
+
method: "PUT",
|
|
155
|
+
path: "/suppliers-api-2026v1/catalog-prices/trade-item-availability-for-customer-offers",
|
|
156
|
+
referenceId: data.tradeItemId,
|
|
157
|
+
idempotencyKey: `inventory:co-availability:${data.tradeItemId}:${fromWeek.year}-${fromWeek.week}:${tillWeek.year}-${tillWeek.week}`,
|
|
158
|
+
body: {
|
|
159
|
+
tradeItemIds: [data.tradeItemId],
|
|
160
|
+
fromWeek,
|
|
161
|
+
tillWeek,
|
|
162
|
+
isAvailable: true,
|
|
163
|
+
alwaysAvailableForCustomerOrganizationIds: [],
|
|
164
|
+
neverAvailableForCustomerOrganizationIds: [],
|
|
165
|
+
},
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
catch (e) {
|
|
169
|
+
// Availability-call faalt niet blokkerend — als de gateway de path
|
|
170
|
+
// niet kent (bv. andere Floriday-versie), gaan we door met AddCustomerOffer
|
|
171
|
+
// en tonen de originele Floriday-fout aan de gebruiker.
|
|
172
|
+
console.warn("[publishCustomerOffer] pre-call availability faalde:", e?.message ?? e);
|
|
173
|
+
}
|
|
121
174
|
const customerOfferLineId = crypto.randomUUID();
|
|
122
175
|
const body = {
|
|
123
176
|
customerOfferId: data.customerOfferId,
|
|
@@ -139,14 +192,6 @@ export const publishCustomerOfferFn = createServerFn({ method: "POST" })
|
|
|
139
192
|
orderPeriod: { startDateTime: orderStart, endDateTime: orderEnd },
|
|
140
193
|
deliveryPeriod: { startDateTime: orderStart, endDateTime: orderEnd },
|
|
141
194
|
usesCatalogAvailability: true,
|
|
142
|
-
// Floriday eist ook mét `usesCatalogAvailability=true` een
|
|
143
|
-
// expliciet availability-window (anders 400 "Customer offer line
|
|
144
|
-
// availability must be specified when using catalog availability").
|
|
145
|
-
availability: {
|
|
146
|
-
startDateTime: orderStart,
|
|
147
|
-
endDateTime: orderEnd,
|
|
148
|
-
numberOfPieces: data.numberOfPieces,
|
|
149
|
-
},
|
|
150
195
|
packingConfiguration: data.packingConfiguration,
|
|
151
196
|
},
|
|
152
197
|
],
|