@flowselections/floriday-voorraad 1.0.16 → 1.0.18
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/components/voorraad/AdditionalPackagingDialog.d.ts +9 -0
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts.map +1 -0
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.js +51 -0
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.js +372 -30
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/EditArtikelPage.js +78 -4
- package/dist-lib/components/voorraad/OrderHistoryCard.d.ts +8 -0
- package/dist-lib/components/voorraad/OrderHistoryCard.d.ts.map +1 -0
- package/dist-lib/components/voorraad/OrderHistoryCard.js +133 -0
- package/dist-lib/components/voorraad/PriceStatusBadge.d.ts +7 -0
- package/dist-lib/components/voorraad/PriceStatusBadge.d.ts.map +1 -0
- package/dist-lib/components/voorraad/PriceStatusBadge.js +67 -0
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +2 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.js +5 -4
- package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadTable.js +6 -1
- package/dist-lib/hooks/useLocalTradeItems.d.ts.map +1 -1
- package/dist-lib/hooks/useLocalTradeItems.js +4 -0
- package/dist-lib/hooks/useTradeItemStock.d.ts +14 -1
- package/dist-lib/hooks/useTradeItemStock.d.ts.map +1 -1
- package/dist-lib/hooks/useTradeItemStock.js +76 -17
- package/dist-lib/hooks/useTradeItemSupplyLine.d.ts +21 -0
- package/dist-lib/hooks/useTradeItemSupplyLine.d.ts.map +1 -0
- package/dist-lib/hooks/useTradeItemSupplyLine.js +49 -0
- package/dist-lib/hooks/useVoorraadData.d.ts.map +1 -1
- package/dist-lib/hooks/useVoorraadData.js +35 -3
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +490 -3
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +490 -3
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +490 -3
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +498 -3
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/floricode-required-features.functions.d.ts +497 -4
- package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
- package/dist-lib/lib/floricode-required-features.functions.js +20 -2
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts +11281 -0
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -0
- package/dist-lib/lib/floriday-customer-offer.functions.js +175 -0
- package/dist-lib/lib/floriday-gateway.functions.d.ts +13240 -15
- package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-gateway.functions.js +150 -0
- package/dist-lib/lib/floriday-gateway.server.d.ts +22 -0
- package/dist-lib/lib/floriday-gateway.server.d.ts.map +1 -1
- package/dist-lib/lib/floriday-gateway.server.js +3 -0
- package/dist-lib/lib/floriday-payload.d.ts +60 -6
- package/dist-lib/lib/floriday-payload.d.ts.map +1 -1
- package/dist-lib/lib/floriday-payload.js +104 -7
- package/dist-lib/lib/floriday-supply-line.d.ts +53 -0
- package/dist-lib/lib/floriday-supply-line.d.ts.map +1 -0
- package/dist-lib/lib/floriday-supply-line.js +109 -0
- package/dist-lib/lib/floriday-warehouse.functions.d.ts +1509 -48
- package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +983 -9
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.js +6 -1
- package/dist-lib/lib/vrs-catalog.d.ts +27 -0
- package/dist-lib/lib/vrs-catalog.d.ts.map +1 -0
- package/dist-lib/lib/vrs-catalog.js +98 -0
- package/package.json +3 -2
- package/public/flowselections-assets/Voorraad/floriday-logo.png +0 -0
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Client-side helper voor het pushen van een Floriday supply-line via de
|
|
3
|
+
* externe Authenticatie-module gateway. Zie docs/floriday-integratie.md.
|
|
4
|
+
*
|
|
5
|
+
* Sinds de gateway-herschrijving:
|
|
6
|
+
* - CATALOG_PRICE → Weekly Base Supply + Continuous Stock (per trade item,
|
|
7
|
+
* ISO-jaar/-week). Er is GEEN `supplyLineId`; identificatie loopt via
|
|
8
|
+
* `tradeItemId + year + week`.
|
|
9
|
+
* - WEEKLY_SUPPLY_LINE → klant-specifiek; wél `supplyLineId`.
|
|
10
|
+
* - BATCH_PRICE → apart batch-endpoint, wél `supplyLineId`.
|
|
11
|
+
*/
|
|
12
|
+
import { supabase } from "../integrations/supabase/client";
|
|
13
|
+
import { gatewaySupplyLineFn } from "./floriday-gateway.functions";
|
|
14
|
+
export async function postSupplyLine(input) {
|
|
15
|
+
const { environment: _env, ...rest } = input;
|
|
16
|
+
const result = (await gatewaySupplyLineFn({ data: rest }));
|
|
17
|
+
if (!result?.ok) {
|
|
18
|
+
throw new Error(result?.error ?? "Supply-line gateway: onbekende fout");
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Push naar Floriday en persisteer resultaat lokaal. Voor WEEKLY_BASE
|
|
24
|
+
* wordt geen supply_line_id opgeslagen (bestaat niet in Floriday), voor
|
|
25
|
+
* WEEKLY_SUPPLY_LINE / BATCH wél zodat toekomstige updates herprijzen
|
|
26
|
+
* i.p.v. duplicaten aanmaken.
|
|
27
|
+
*/
|
|
28
|
+
export async function upsertSupplyLineForTradeItem(params) {
|
|
29
|
+
const userRes = await supabase.auth.getUser();
|
|
30
|
+
const userId = userRes.data.user?.id;
|
|
31
|
+
if (!userId)
|
|
32
|
+
throw new Error("Niet ingelogd");
|
|
33
|
+
const { data: existing } = await supabase
|
|
34
|
+
.from("trade_item_supply_lines")
|
|
35
|
+
.select("supply_line_id")
|
|
36
|
+
.eq("user_id", userId)
|
|
37
|
+
.eq("trade_item_id", params.tradeItemId)
|
|
38
|
+
.maybeSingle();
|
|
39
|
+
const existingId = existing?.supply_line_id ?? undefined;
|
|
40
|
+
let result;
|
|
41
|
+
try {
|
|
42
|
+
result = await postSupplyLine({
|
|
43
|
+
tradeItemId: params.tradeItemId,
|
|
44
|
+
pricePerPiece: params.pricePerPiece,
|
|
45
|
+
availableQuantity: params.availableQuantity,
|
|
46
|
+
packingConfigurationId: params.packingConfigurationId,
|
|
47
|
+
supplyLineId: existingId,
|
|
48
|
+
customerOrganizationIds: params.customerOrganizationIds,
|
|
49
|
+
supplyType: params.supplyType,
|
|
50
|
+
currency: params.currency,
|
|
51
|
+
periodStart: params.periodStart,
|
|
52
|
+
periodEnd: params.periodEnd,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
const msg = String(e?.message ?? e);
|
|
57
|
+
if (existingId && /403|Forbidden/i.test(msg)) {
|
|
58
|
+
await supabase
|
|
59
|
+
.from("trade_item_supply_lines")
|
|
60
|
+
.delete()
|
|
61
|
+
.eq("user_id", userId)
|
|
62
|
+
.eq("trade_item_id", params.tradeItemId);
|
|
63
|
+
result = await postSupplyLine({
|
|
64
|
+
tradeItemId: params.tradeItemId,
|
|
65
|
+
pricePerPiece: params.pricePerPiece,
|
|
66
|
+
availableQuantity: params.availableQuantity,
|
|
67
|
+
packingConfigurationId: params.packingConfigurationId,
|
|
68
|
+
customerOrganizationIds: params.customerOrganizationIds,
|
|
69
|
+
supplyType: params.supplyType,
|
|
70
|
+
currency: params.currency,
|
|
71
|
+
periodStart: params.periodStart,
|
|
72
|
+
periodEnd: params.periodEnd,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
throw e;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
const supplyType = params.supplyType ??
|
|
80
|
+
(result.endpointFamily === "WEEKLY_SUPPLY_LINE"
|
|
81
|
+
? "WEEKLY_SUPPLY_LINE"
|
|
82
|
+
: result.endpointFamily === "BATCH"
|
|
83
|
+
? "BATCH_PRICE"
|
|
84
|
+
: "CATALOG_PRICE");
|
|
85
|
+
const row = {
|
|
86
|
+
user_id: userId,
|
|
87
|
+
connection_id: params.connectionId,
|
|
88
|
+
trade_item_id: params.tradeItemId,
|
|
89
|
+
supply_line_id: result.supplyLineId ?? null,
|
|
90
|
+
supply_type: supplyType,
|
|
91
|
+
price_per_piece: params.pricePerPiece,
|
|
92
|
+
currency: params.currency ?? "EUR",
|
|
93
|
+
sales_unit: "PIECE",
|
|
94
|
+
available_quantity: params.availableQuantity,
|
|
95
|
+
period_start: params.periodStart ?? null,
|
|
96
|
+
period_end: params.periodEnd ?? null,
|
|
97
|
+
packing_configuration_id: params.packingConfigurationId ?? null,
|
|
98
|
+
environment: result.environment ?? null,
|
|
99
|
+
last_status: result.status ?? null,
|
|
100
|
+
last_error: null,
|
|
101
|
+
endpoint_family: result.endpointFamily ?? null,
|
|
102
|
+
year: result.year ?? null,
|
|
103
|
+
week: result.week ?? null,
|
|
104
|
+
};
|
|
105
|
+
await supabase
|
|
106
|
+
.from("trade_item_supply_lines")
|
|
107
|
+
.upsert(row, { onConflict: "user_id,trade_item_id" });
|
|
108
|
+
return result;
|
|
109
|
+
}
|