@flowselections/floriday-voorraad 1.0.22 → 1.0.26
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/assets/floriday-logo.png.asset.json +4 -4
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.js +655 -93
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts +12 -0
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/FloridayInfoCard.js +85 -0
- package/dist-lib/components/voorraad/StepSamenstelling.d.ts +10 -0
- package/dist-lib/components/voorraad/StepSamenstelling.d.ts.map +1 -0
- package/dist-lib/components/voorraad/StepSamenstelling.js +333 -0
- package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadPage.js +14 -3
- package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadTable.js +8 -1
- package/dist-lib/hooks/useFloridayPriceGroups.d.ts +20 -0
- package/dist-lib/hooks/useFloridayPriceGroups.d.ts.map +1 -0
- package/dist-lib/hooks/useFloridayPriceGroups.js +55 -0
- package/dist-lib/hooks/useFloridayVbnRequired.d.ts +5 -0
- package/dist-lib/hooks/useFloridayVbnRequired.d.ts.map +1 -0
- package/dist-lib/hooks/useFloridayVbnRequired.js +16 -0
- package/dist-lib/hooks/useLocalTradeItems.d.ts.map +1 -1
- package/dist-lib/hooks/useLocalTradeItems.js +14 -0
- package/dist-lib/hooks/useTradeItemSpec.d.ts.map +1 -1
- package/dist-lib/hooks/useTradeItemSpec.js +48 -1
- package/dist-lib/hooks/useVoorraadData.d.ts.map +1 -1
- package/dist-lib/hooks/useVoorraadData.js +36 -5
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +2388 -345
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +2388 -345
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +2388 -345
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +2437 -343
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +11 -9
- package/dist-lib/lib/centralSecrets.server.d.ts +21 -0
- package/dist-lib/lib/centralSecrets.server.d.ts.map +1 -0
- package/dist-lib/lib/centralSecrets.server.js +111 -0
- package/dist-lib/lib/floricode-required-features.functions.d.ts +2388 -345
- package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-client.d.ts +4 -0
- package/dist-lib/lib/floriday-client.d.ts.map +1 -1
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts +2388 -345
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-gateway.functions.d.ts +10860 -645
- package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-gateway.server.d.ts.map +1 -1
- package/dist-lib/lib/floriday-gateway.server.js +34 -9
- package/dist-lib/lib/floriday-info.d.ts +54 -0
- package/dist-lib/lib/floriday-info.d.ts.map +1 -0
- package/dist-lib/lib/floriday-info.js +114 -0
- package/dist-lib/lib/floriday-payload.d.ts +21 -3
- package/dist-lib/lib/floriday-payload.d.ts.map +1 -1
- package/dist-lib/lib/floriday-payload.js +167 -34
- package/dist-lib/lib/floriday-vbn-required.functions.d.ts +27769 -0
- package/dist-lib/lib/floriday-vbn-required.functions.d.ts.map +1 -0
- package/dist-lib/lib/floriday-vbn-required.functions.js +85 -0
- package/dist-lib/lib/floriday-warehouse.functions.d.ts +6602 -473
- package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +4681 -594
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.js +36 -1
- package/dist-lib/lib/trade-item-prices.d.ts +43 -0
- package/dist-lib/lib/trade-item-prices.d.ts.map +1 -0
- package/dist-lib/lib/trade-item-prices.js +229 -0
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floriday-gateway.server.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-gateway.server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"floriday-gateway.server.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-gateway.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,13 +21,38 @@
|
|
|
21
21
|
// beschikbaar wanneer dist-lib client-side wordt gebundeld door de shell.
|
|
22
22
|
const CALLER = "voorraad";
|
|
23
23
|
const WRITE_PATH = "/api/public/gateway/write";
|
|
24
|
-
function
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
async function resolveGatewayUrl() {
|
|
25
|
+
const explicit = process.env.FLORIDAY_GATEWAY_URL;
|
|
26
|
+
if (explicit)
|
|
27
|
+
return explicit.replace(/\/$/, "");
|
|
28
|
+
const publicBase = process.env.PUBLIC_BASE_URL;
|
|
29
|
+
if (publicBase)
|
|
30
|
+
return publicBase.replace(/\/$/, "");
|
|
31
|
+
const { getShellHost } = await import("./centralSecrets.server");
|
|
32
|
+
const host = await getShellHost();
|
|
33
|
+
return host.replace(/\/$/, "");
|
|
34
|
+
}
|
|
35
|
+
async function resolveGatewaySecret() {
|
|
36
|
+
const explicit = process.env.FLORIDAY_GATEWAY_SECRET;
|
|
37
|
+
if (explicit)
|
|
38
|
+
return explicit;
|
|
39
|
+
const { getFloridayGatewaySecret } = await import("./centralSecrets.server");
|
|
40
|
+
return getFloridayGatewaySecret();
|
|
41
|
+
}
|
|
42
|
+
async function getConfig() {
|
|
43
|
+
try {
|
|
44
|
+
const [url, secret] = await Promise.all([
|
|
45
|
+
resolveGatewayUrl(),
|
|
46
|
+
resolveGatewaySecret(),
|
|
47
|
+
]);
|
|
48
|
+
return { url, secret };
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
throw new Error("Gateway-configuratie niet resolvbaar — vereist één van " +
|
|
52
|
+
"(FLORIDAY_GATEWAY_URL | PUBLIC_BASE_URL | central /api/shell-host) " +
|
|
53
|
+
"en één van (FLORIDAY_GATEWAY_SECRET | central /api/secret/floriday_gateway_secret). " +
|
|
54
|
+
`Onderliggende fout: ${e.message}`);
|
|
29
55
|
}
|
|
30
|
-
return { url: url.replace(/\/$/, ""), secret };
|
|
31
56
|
}
|
|
32
57
|
async function hmacSha256Hex(secret, data) {
|
|
33
58
|
const key = await globalThis.crypto.subtle.importKey("raw", new TextEncoder().encode(secret), { name: "HMAC", hash: "SHA-256" }, false, ["sign"]);
|
|
@@ -40,7 +65,7 @@ async function sign(ts, rawBody, secret) {
|
|
|
40
65
|
return hmacSha256Hex(secret, `${ts}.${rawBody}`);
|
|
41
66
|
}
|
|
42
67
|
async function doSignedFetch(path, rawBody) {
|
|
43
|
-
const { url, secret } = getConfig();
|
|
68
|
+
const { url, secret } = await getConfig();
|
|
44
69
|
// x-floriday-timestamp MOET per call vers gezet worden op Date.now()
|
|
45
70
|
// (unix-MILLISECONDEN, niet seconden, niet gecached). De HMAC wordt
|
|
46
71
|
// berekend over exact `${timestamp}.${rawBody}` met diezelfde string.
|
|
@@ -152,7 +177,7 @@ function toHex(buf) {
|
|
|
152
177
|
* base64-inflatie en geen formData-buffering meer.
|
|
153
178
|
*/
|
|
154
179
|
export async function gatewayMediaUpload(input) {
|
|
155
|
-
const { url, secret } = getConfig();
|
|
180
|
+
const { url, secret } = await getConfig();
|
|
156
181
|
const timestamp = Date.now().toString();
|
|
157
182
|
const bodyHashBuf = await crypto.subtle.digest("SHA-256", input.bytes);
|
|
158
183
|
const bodyHash = toHex(bodyHashBuf);
|
|
@@ -215,7 +240,7 @@ export async function gatewayMediaUpload(input) {
|
|
|
215
240
|
*/
|
|
216
241
|
export async function reportGatewayFailure(report) {
|
|
217
242
|
try {
|
|
218
|
-
const { url, secret } = getConfig();
|
|
243
|
+
const { url, secret } = await getConfig();
|
|
219
244
|
const body = JSON.stringify({ caller: CALLER, ...report });
|
|
220
245
|
const timestamp = Date.now().toString();
|
|
221
246
|
const sigHex = await hmacSha256Hex(secret, `${timestamp}.${body}`);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Uniform mapping van de rauwe Floriday `trade_items_cache.data` payload naar een
|
|
3
|
+
* makkelijk te tonen object. Wordt gebruikt door zowel de voorraadlijst (thumbnail
|
|
4
|
+
* + tooltip) als het product-detail (volledige info-kaart).
|
|
5
|
+
*
|
|
6
|
+
* Bevat GEEN vertaling of interpretatie van VBN-kenmerken — die worden elders
|
|
7
|
+
* (via `useCodeList`) gelabeld. Hier houden we alleen de rauwe codes bij.
|
|
8
|
+
*/
|
|
9
|
+
export interface FloridayPhoto {
|
|
10
|
+
url: string;
|
|
11
|
+
type: string | null;
|
|
12
|
+
primary: boolean;
|
|
13
|
+
sortIndex: number | null;
|
|
14
|
+
}
|
|
15
|
+
export interface FloridayCharacteristic {
|
|
16
|
+
vbnCode: string;
|
|
17
|
+
vbnValueCode: string;
|
|
18
|
+
}
|
|
19
|
+
export interface FloridayPackingConfig {
|
|
20
|
+
packagingCode: string | null;
|
|
21
|
+
customPackageId: string | null;
|
|
22
|
+
loadCarrier: string;
|
|
23
|
+
piecesPerPackage: number;
|
|
24
|
+
packagesPerLayer: number;
|
|
25
|
+
layersPerLoadCarrier: number;
|
|
26
|
+
primary: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface FloridaySeasonalPeriod {
|
|
29
|
+
startWeek: number;
|
|
30
|
+
endWeek: number;
|
|
31
|
+
}
|
|
32
|
+
export interface FloridayInfo {
|
|
33
|
+
id: string;
|
|
34
|
+
name: string;
|
|
35
|
+
photoUrl: string | null;
|
|
36
|
+
photos: FloridayPhoto[];
|
|
37
|
+
articleGtin: string | null;
|
|
38
|
+
supplierArticleCode: string | null;
|
|
39
|
+
supplierReference: string | null;
|
|
40
|
+
vbnProductCode: number | null;
|
|
41
|
+
botanicalNames: string[];
|
|
42
|
+
characteristics: FloridayCharacteristic[];
|
|
43
|
+
packingConfigurations: FloridayPackingConfig[];
|
|
44
|
+
countryOfOrigin: string[];
|
|
45
|
+
seasonalPeriods: FloridaySeasonalPeriod[];
|
|
46
|
+
lastModifiedDateTime: string | null;
|
|
47
|
+
creationDateTime: string | null;
|
|
48
|
+
tradeItemVersion: number | null;
|
|
49
|
+
isHiddenInCatalog: boolean;
|
|
50
|
+
raw: unknown;
|
|
51
|
+
}
|
|
52
|
+
export declare function floridayInfoFromCache(raw: unknown): FloridayInfo | null;
|
|
53
|
+
export declare const LOAD_CARRIER_LABELS: Record<string, string>;
|
|
54
|
+
//# sourceMappingURL=floriday-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floriday-info.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-info.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,qBAAqB,EAAE,qBAAqB,EAAE,CAAC;IAC/C,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,eAAe,EAAE,sBAAsB,EAAE,CAAC;IAC1C,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,GAAG,EAAE,OAAO,CAAC;CACd;AAaD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,GAAG,IAAI,CA0GvE;AAED,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOtD,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Uniform mapping van de rauwe Floriday `trade_items_cache.data` payload naar een
|
|
3
|
+
* makkelijk te tonen object. Wordt gebruikt door zowel de voorraadlijst (thumbnail
|
|
4
|
+
* + tooltip) als het product-detail (volledige info-kaart).
|
|
5
|
+
*
|
|
6
|
+
* Bevat GEEN vertaling of interpretatie van VBN-kenmerken — die worden elders
|
|
7
|
+
* (via `useCodeList`) gelabeld. Hier houden we alleen de rauwe codes bij.
|
|
8
|
+
*/
|
|
9
|
+
function pickLocalized(value) {
|
|
10
|
+
if (!value)
|
|
11
|
+
return "";
|
|
12
|
+
if (typeof value === "string")
|
|
13
|
+
return value;
|
|
14
|
+
if (typeof value === "object") {
|
|
15
|
+
const obj = value;
|
|
16
|
+
const v = obj.nl ?? obj.en ?? obj.de ?? Object.values(obj)[0];
|
|
17
|
+
return typeof v === "string" ? v : "";
|
|
18
|
+
}
|
|
19
|
+
return String(value);
|
|
20
|
+
}
|
|
21
|
+
export function floridayInfoFromCache(raw) {
|
|
22
|
+
if (!raw || typeof raw !== "object")
|
|
23
|
+
return null;
|
|
24
|
+
const r = raw;
|
|
25
|
+
const id = (typeof r.tradeItemId === "string" && r.tradeItemId) ||
|
|
26
|
+
(typeof r.id === "string" && r.id) ||
|
|
27
|
+
null;
|
|
28
|
+
if (!id)
|
|
29
|
+
return null;
|
|
30
|
+
const rawPhotos = Array.isArray(r.photos) ? r.photos : [];
|
|
31
|
+
const photos = rawPhotos
|
|
32
|
+
.filter((p) => p && typeof p.url === "string")
|
|
33
|
+
.map((p) => ({
|
|
34
|
+
url: String(p.url),
|
|
35
|
+
type: typeof p.type === "string" ? p.type : null,
|
|
36
|
+
primary: Boolean(p.primary),
|
|
37
|
+
sortIndex: typeof p.sortIndex === "number" ? p.sortIndex : null,
|
|
38
|
+
}))
|
|
39
|
+
.sort((a, b) => {
|
|
40
|
+
if (a.primary !== b.primary)
|
|
41
|
+
return a.primary ? -1 : 1;
|
|
42
|
+
const ai = a.sortIndex ?? 999;
|
|
43
|
+
const bi = b.sortIndex ?? 999;
|
|
44
|
+
return ai - bi;
|
|
45
|
+
});
|
|
46
|
+
const characteristics = Array.isArray(r.characteristics)
|
|
47
|
+
? r.characteristics
|
|
48
|
+
.filter((c) => c && typeof c.vbnCode === "string")
|
|
49
|
+
.map((c) => ({
|
|
50
|
+
vbnCode: String(c.vbnCode),
|
|
51
|
+
vbnValueCode: String(c.vbnValueCode ?? ""),
|
|
52
|
+
}))
|
|
53
|
+
: [];
|
|
54
|
+
const packingConfigurations = Array.isArray(r.packingConfigurations)
|
|
55
|
+
? r.packingConfigurations.map((p) => ({
|
|
56
|
+
packagingCode: p?.package?.vbnPackageCode != null
|
|
57
|
+
? String(p.package.vbnPackageCode)
|
|
58
|
+
: null,
|
|
59
|
+
customPackageId: p?.package?.customPackageId ?? null,
|
|
60
|
+
loadCarrier: String(p?.loadCarrier ?? "NONE"),
|
|
61
|
+
piecesPerPackage: Number(p?.piecesPerPackage ?? 0) || 0,
|
|
62
|
+
packagesPerLayer: Number(p?.packagesPerLayer ?? 0) || 0,
|
|
63
|
+
layersPerLoadCarrier: Number(p?.layersPerLoadCarrier ?? 0) || 0,
|
|
64
|
+
primary: Boolean(p?.primary),
|
|
65
|
+
}))
|
|
66
|
+
: [];
|
|
67
|
+
const seasonalPeriods = Array.isArray(r.seasonalPeriods)
|
|
68
|
+
? r.seasonalPeriods.map((s) => ({
|
|
69
|
+
startWeek: Number(s?.startWeek ?? 0) || 0,
|
|
70
|
+
endWeek: Number(s?.endWeek ?? 0) || 0,
|
|
71
|
+
}))
|
|
72
|
+
: [];
|
|
73
|
+
const botanicalNames = Array.isArray(r.botanicalNames)
|
|
74
|
+
? r.botanicalNames
|
|
75
|
+
.map((b) => typeof b === "string" ? b : pickLocalized(b?.name ?? b))
|
|
76
|
+
.filter((s) => s.length > 0)
|
|
77
|
+
: [];
|
|
78
|
+
return {
|
|
79
|
+
id,
|
|
80
|
+
name: pickLocalized(r.tradeItemName ?? r.name),
|
|
81
|
+
photoUrl: photos[0]?.url ?? null,
|
|
82
|
+
photos,
|
|
83
|
+
articleGtin: typeof r.articleGtin === "string" && r.articleGtin ? r.articleGtin : null,
|
|
84
|
+
supplierArticleCode: typeof r.supplierArticleCode === "string" && r.supplierArticleCode
|
|
85
|
+
? r.supplierArticleCode
|
|
86
|
+
: null,
|
|
87
|
+
supplierReference: typeof r.tradeItemReference === "string" && r.tradeItemReference
|
|
88
|
+
? r.tradeItemReference
|
|
89
|
+
: null,
|
|
90
|
+
vbnProductCode: typeof r.vbnProductCode === "number" ? r.vbnProductCode : null,
|
|
91
|
+
botanicalNames,
|
|
92
|
+
characteristics,
|
|
93
|
+
packingConfigurations,
|
|
94
|
+
countryOfOrigin: Array.isArray(r.countryOfOriginIsoCodes)
|
|
95
|
+
? r.countryOfOriginIsoCodes.map((c) => String(c))
|
|
96
|
+
: [],
|
|
97
|
+
seasonalPeriods,
|
|
98
|
+
lastModifiedDateTime: typeof r.lastModifiedDateTime === "string"
|
|
99
|
+
? r.lastModifiedDateTime
|
|
100
|
+
: null,
|
|
101
|
+
creationDateTime: typeof r.creationDateTime === "string" ? r.creationDateTime : null,
|
|
102
|
+
tradeItemVersion: typeof r.tradeItemVersion === "number" ? r.tradeItemVersion : null,
|
|
103
|
+
isHiddenInCatalog: Boolean(r.isHiddenInCatalog),
|
|
104
|
+
raw,
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
export const LOAD_CARRIER_LABELS = {
|
|
108
|
+
AUCTION_TROLLEY: "Stapelwagen",
|
|
109
|
+
DANISH_TROLLEY: "Deense container",
|
|
110
|
+
EURO_TROLLEY: "Euro-rolcontainer",
|
|
111
|
+
PALLET: "Pallet",
|
|
112
|
+
EURO_PALLET: "Euro-pallet",
|
|
113
|
+
NONE: "Geen ladingdrager",
|
|
114
|
+
};
|
|
@@ -33,6 +33,8 @@ export interface PackingConfigurationInput {
|
|
|
33
33
|
customerOrganizationIds: string[];
|
|
34
34
|
/** Eerste belading = primair. Wordt door de UI beheerd. */
|
|
35
35
|
isPrimary: boolean;
|
|
36
|
+
/** Belading niet aanbieden via Direct Sale (Floriday `isHiddenForDirectSales`). */
|
|
37
|
+
isHiddenForDirectSales?: boolean;
|
|
36
38
|
}
|
|
37
39
|
/** Hardcoded lijst met aangesloten verpakkingsleveranciers zoals in Floriday. */
|
|
38
40
|
export declare const PACKAGING_SUPPLIERS: {
|
|
@@ -64,6 +66,8 @@ export interface PhotoInput {
|
|
|
64
66
|
name?: string;
|
|
65
67
|
primary?: boolean;
|
|
66
68
|
sortOrder?: number;
|
|
69
|
+
/** Floriday foto-type; bepaalt de categorie-badge ("Detail", "Standaard", …). */
|
|
70
|
+
type?: PhotoTypeEnum;
|
|
67
71
|
/** Floriday mediaId (UUID), teruggegeven door POST /media (AddImage). */
|
|
68
72
|
imageId?: string | null;
|
|
69
73
|
/** Lokale blob/object URL voor previewweergave in de wizard (niet verstuurd) */
|
|
@@ -90,17 +94,26 @@ export interface WizardData {
|
|
|
90
94
|
warehouseId: string;
|
|
91
95
|
packingConfigurations: PackingConfigurationInput[];
|
|
92
96
|
additionalPackaging: AdditionalPackagingInput[];
|
|
93
|
-
|
|
97
|
+
availabilityMode: "YEAR_ROUND" | "SPECIFIC" | "UNSPECIFIED";
|
|
94
98
|
weeks: number[];
|
|
95
99
|
offerForSale: boolean;
|
|
96
|
-
/**
|
|
100
|
+
/** Basisprijs per stuk (EUR) — wordt naar `weekly-base-supply` gepusht. */
|
|
97
101
|
salePricePerPiece: number;
|
|
98
102
|
/** Voorraad in stuks die direct beschikbaar wordt gesteld. */
|
|
99
103
|
saleStockPieces: number;
|
|
100
104
|
/** ISO date (YYYY-MM-DD); default vandaag. */
|
|
101
105
|
offerStartDate: string;
|
|
106
|
+
/**
|
|
107
|
+
* Prijs per Floriday-prijsgroepId (leeg / 0 = niet publiceren voor die groep).
|
|
108
|
+
* Wordt gepusht als `weekly-supply-lines` met de klanten van de groep.
|
|
109
|
+
*/
|
|
110
|
+
priceGroupPrices: Record<string, number>;
|
|
102
111
|
/** Lokaal ERP-product waar dit concept uit is ontstaan; geen Floriday-koppeling. */
|
|
103
112
|
linkedProductId?: string;
|
|
113
|
+
/** BTW-percentage voor facturatie (lokaal, niet naar Floriday). Leeg = default uit app_settings. */
|
|
114
|
+
vatRate?: number | null;
|
|
115
|
+
/** Twinfield-boekhoudcode (VH/VL/VN/VG). Leeg = default uit app_settings. */
|
|
116
|
+
vatCode?: string | null;
|
|
104
117
|
}
|
|
105
118
|
export declare function isValidGtin13(gtin: string): boolean;
|
|
106
119
|
export declare const stepSchemas: {
|
|
@@ -154,7 +167,11 @@ export declare const stepSchemas: {
|
|
|
154
167
|
}, z.core.$strip>>;
|
|
155
168
|
}, z.core.$strip>;
|
|
156
169
|
beschikbaarheid: z.ZodObject<{
|
|
157
|
-
|
|
170
|
+
availabilityMode: z.ZodEnum<{
|
|
171
|
+
YEAR_ROUND: "YEAR_ROUND";
|
|
172
|
+
SPECIFIC: "SPECIFIC";
|
|
173
|
+
UNSPECIFIED: "UNSPECIFIED";
|
|
174
|
+
}>;
|
|
158
175
|
weeks: z.ZodArray<z.ZodNumber>;
|
|
159
176
|
}, z.core.$strip>;
|
|
160
177
|
aanbieden: z.ZodObject<{
|
|
@@ -254,5 +271,6 @@ export declare function buildAddTradeItemPayload(d: WizardData): AddTradeItemPay
|
|
|
254
271
|
*/
|
|
255
272
|
export declare function buildUpdateTradeItemPayload(d: WizardData): UpdateTradeItemPayload;
|
|
256
273
|
export declare const emptyWizardData: WizardData;
|
|
274
|
+
export declare function normalizeFloridayProductGroup(raw: unknown): ProductGroup | null;
|
|
257
275
|
export declare function floridayCacheToWizardData(raw: any): WizardData;
|
|
258
276
|
//# sourceMappingURL=floriday-payload.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floriday-payload.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-payload.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,cAAc,CAAC;AACvE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,mBAAmB,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,UAAU,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,MAAM,EAAE,aAAa,CAAC;IACtB,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,aAAa,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0BAA0B;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4CAA4C;IAC5C,kBAAkB,EAAE,OAAO,CAAC;IAC5B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"floriday-payload.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-payload.ts"],"names":[],"mappings":"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"}
|