@flowselections/floriday-voorraad 1.0.16 → 1.0.17

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.
Files changed (64) hide show
  1. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts +9 -0
  2. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts.map +1 -0
  3. package/dist-lib/components/voorraad/AdditionalPackagingDialog.js +51 -0
  4. package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
  5. package/dist-lib/components/voorraad/ArtikelWizard.js +372 -30
  6. package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -1
  7. package/dist-lib/components/voorraad/EditArtikelPage.js +78 -4
  8. package/dist-lib/components/voorraad/OrderHistoryCard.d.ts +8 -0
  9. package/dist-lib/components/voorraad/OrderHistoryCard.d.ts.map +1 -0
  10. package/dist-lib/components/voorraad/OrderHistoryCard.js +133 -0
  11. package/dist-lib/components/voorraad/PriceStatusBadge.d.ts +7 -0
  12. package/dist-lib/components/voorraad/PriceStatusBadge.d.ts.map +1 -0
  13. package/dist-lib/components/voorraad/PriceStatusBadge.js +67 -0
  14. package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +2 -1
  15. package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -1
  16. package/dist-lib/components/voorraad/VoorraadStockCard.js +5 -4
  17. package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
  18. package/dist-lib/components/voorraad/VoorraadTable.js +6 -1
  19. package/dist-lib/hooks/useLocalTradeItems.d.ts.map +1 -1
  20. package/dist-lib/hooks/useLocalTradeItems.js +4 -0
  21. package/dist-lib/hooks/useTradeItemStock.d.ts +14 -1
  22. package/dist-lib/hooks/useTradeItemStock.d.ts.map +1 -1
  23. package/dist-lib/hooks/useTradeItemStock.js +76 -17
  24. package/dist-lib/hooks/useTradeItemSupplyLine.d.ts +21 -0
  25. package/dist-lib/hooks/useTradeItemSupplyLine.d.ts.map +1 -0
  26. package/dist-lib/hooks/useTradeItemSupplyLine.js +49 -0
  27. package/dist-lib/hooks/useVoorraadData.d.ts.map +1 -1
  28. package/dist-lib/hooks/useVoorraadData.js +35 -3
  29. package/dist-lib/integrations/supabase/auth-middleware.d.ts +473 -3
  30. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  31. package/dist-lib/integrations/supabase/client.d.ts +473 -3
  32. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  33. package/dist-lib/integrations/supabase/client.server.d.ts +473 -3
  34. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  35. package/dist-lib/integrations/supabase/types.d.ts +481 -3
  36. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  37. package/dist-lib/lib/floricode-required-features.functions.d.ts +480 -4
  38. package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
  39. package/dist-lib/lib/floricode-required-features.functions.js +20 -2
  40. package/dist-lib/lib/floriday-customer-offer.functions.d.ts +11264 -0
  41. package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -0
  42. package/dist-lib/lib/floriday-customer-offer.functions.js +175 -0
  43. package/dist-lib/lib/floriday-gateway.functions.d.ts +13155 -15
  44. package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
  45. package/dist-lib/lib/floriday-gateway.functions.js +150 -0
  46. package/dist-lib/lib/floriday-gateway.server.d.ts +22 -0
  47. package/dist-lib/lib/floriday-gateway.server.d.ts.map +1 -1
  48. package/dist-lib/lib/floriday-gateway.server.js +3 -0
  49. package/dist-lib/lib/floriday-payload.d.ts +60 -6
  50. package/dist-lib/lib/floriday-payload.d.ts.map +1 -1
  51. package/dist-lib/lib/floriday-payload.js +104 -7
  52. package/dist-lib/lib/floriday-supply-line.d.ts +53 -0
  53. package/dist-lib/lib/floriday-supply-line.d.ts.map +1 -0
  54. package/dist-lib/lib/floriday-supply-line.js +109 -0
  55. package/dist-lib/lib/floriday-warehouse.functions.d.ts +1420 -10
  56. package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
  57. package/dist-lib/lib/floriday-writes.functions.d.ts +947 -7
  58. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  59. package/dist-lib/lib/floriday-writes.functions.js +6 -1
  60. package/dist-lib/lib/vrs-catalog.d.ts +27 -0
  61. package/dist-lib/lib/vrs-catalog.d.ts.map +1 -0
  62. package/dist-lib/lib/vrs-catalog.js +98 -0
  63. package/package.json +3 -2
  64. 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
+ }