@flowselections/floriday-voorraad 1.0.38 → 1.0.39

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 (120) hide show
  1. package/dist-lib/components/TemplatePage.d.ts +1 -1
  2. package/dist-lib/components/TemplatePage.d.ts.map +1 -1
  3. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts +1 -1
  4. package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts.map +1 -1
  5. package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts +1 -1
  6. package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts.map +1 -1
  7. package/dist-lib/components/voorraad/ArtikelWizard.d.ts +1 -1
  8. package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
  9. package/dist-lib/components/voorraad/ConnectionBadge.d.ts +1 -1
  10. package/dist-lib/components/voorraad/ConnectionBadge.d.ts.map +1 -1
  11. package/dist-lib/components/voorraad/EditArtikelPage.d.ts +1 -1
  12. package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -1
  13. package/dist-lib/components/voorraad/ExcelExportButton.d.ts +1 -1
  14. package/dist-lib/components/voorraad/ExcelExportButton.d.ts.map +1 -1
  15. package/dist-lib/components/voorraad/FloridayInfoCard.d.ts +1 -1
  16. package/dist-lib/components/voorraad/FloridayInfoCard.d.ts.map +1 -1
  17. package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts +1 -1
  18. package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts.map +1 -1
  19. package/dist-lib/components/voorraad/FustenPage.d.ts +1 -1
  20. package/dist-lib/components/voorraad/FustenPage.d.ts.map +1 -1
  21. package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts +10 -0
  22. package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts.map +1 -0
  23. package/dist-lib/components/voorraad/InventorySettingsDrawer.js +99 -0
  24. package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts +6 -0
  25. package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts.map +1 -0
  26. package/dist-lib/components/voorraad/InventoryStatusBadge.js +43 -0
  27. package/dist-lib/components/voorraad/ModuleHealthCard.d.ts +1 -1
  28. package/dist-lib/components/voorraad/ModuleHealthCard.d.ts.map +1 -1
  29. package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts +1 -1
  30. package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts.map +1 -1
  31. package/dist-lib/components/voorraad/OrderHistoryCard.d.ts +1 -1
  32. package/dist-lib/components/voorraad/OrderHistoryCard.d.ts.map +1 -1
  33. package/dist-lib/components/voorraad/PriceStatusBadge.d.ts +1 -1
  34. package/dist-lib/components/voorraad/PriceStatusBadge.d.ts.map +1 -1
  35. package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts +1 -1
  36. package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts.map +1 -1
  37. package/dist-lib/components/voorraad/ProductLinkCard.d.ts +1 -1
  38. package/dist-lib/components/voorraad/ProductLinkCard.d.ts.map +1 -1
  39. package/dist-lib/components/voorraad/PublicatiesPage.d.ts +1 -1
  40. package/dist-lib/components/voorraad/PublicatiesPage.d.ts.map +1 -1
  41. package/dist-lib/components/voorraad/PublishProgressCard.d.ts +1 -1
  42. package/dist-lib/components/voorraad/PublishProgressCard.d.ts.map +1 -1
  43. package/dist-lib/components/voorraad/PublishReadinessCard.d.ts +1 -1
  44. package/dist-lib/components/voorraad/PublishReadinessCard.d.ts.map +1 -1
  45. package/dist-lib/components/voorraad/StepSamenstelling.d.ts +1 -1
  46. package/dist-lib/components/voorraad/StepSamenstelling.d.ts.map +1 -1
  47. package/dist-lib/components/voorraad/StockBulkButtons.d.ts +1 -1
  48. package/dist-lib/components/voorraad/StockBulkButtons.d.ts.map +1 -1
  49. package/dist-lib/components/voorraad/StockHistoryChart.d.ts +4 -0
  50. package/dist-lib/components/voorraad/StockHistoryChart.d.ts.map +1 -0
  51. package/dist-lib/components/voorraad/StockHistoryChart.js +53 -0
  52. package/dist-lib/components/voorraad/StockPushMonitor.d.ts +1 -1
  53. package/dist-lib/components/voorraad/StockPushMonitor.d.ts.map +1 -1
  54. package/dist-lib/components/voorraad/StockSyncStatus.d.ts +1 -1
  55. package/dist-lib/components/voorraad/StockSyncStatus.d.ts.map +1 -1
  56. package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts +1 -1
  57. package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts.map +1 -1
  58. package/dist-lib/components/voorraad/ValidationPage.d.ts +1 -1
  59. package/dist-lib/components/voorraad/ValidationPage.d.ts.map +1 -1
  60. package/dist-lib/components/voorraad/VoorraadDashboard.d.ts +1 -1
  61. package/dist-lib/components/voorraad/VoorraadDashboard.d.ts.map +1 -1
  62. package/dist-lib/components/voorraad/VoorraadPage.d.ts +1 -1
  63. package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
  64. package/dist-lib/components/voorraad/VoorraadPage.js +29 -1
  65. package/dist-lib/components/voorraad/VoorraadPagination.d.ts +1 -1
  66. package/dist-lib/components/voorraad/VoorraadPagination.d.ts.map +1 -1
  67. package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +1 -1
  68. package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -1
  69. package/dist-lib/components/voorraad/VoorraadTable.d.ts +10 -2
  70. package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
  71. package/dist-lib/components/voorraad/VoorraadTable.js +17 -6
  72. package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts +1 -1
  73. package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts.map +1 -1
  74. package/dist-lib/hooks/useInventorySettings.d.ts +29 -0
  75. package/dist-lib/hooks/useInventorySettings.d.ts.map +1 -0
  76. package/dist-lib/hooks/useInventorySettings.js +62 -0
  77. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1195 -717
  78. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  79. package/dist-lib/integrations/supabase/client.d.ts +1195 -717
  80. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  81. package/dist-lib/integrations/supabase/client.js +1 -1
  82. package/dist-lib/integrations/supabase/client.server.d.ts +1195 -717
  83. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  84. package/dist-lib/integrations/supabase/client.server.js +1 -1
  85. package/dist-lib/integrations/supabase/types.d.ts +1208 -748
  86. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  87. package/dist-lib/lib/floricode-required-features.functions.d.ts +1196 -724
  88. package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
  89. package/dist-lib/lib/floriday-2026v1.server.d.ts +77 -0
  90. package/dist-lib/lib/floriday-2026v1.server.d.ts.map +1 -0
  91. package/dist-lib/lib/floriday-2026v1.server.js +178 -0
  92. package/dist-lib/lib/floriday-customer-offer.functions.d.ts +1198 -718
  93. package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -1
  94. package/dist-lib/lib/floriday-env.functions.d.ts +2180 -1224
  95. package/dist-lib/lib/floriday-env.functions.d.ts.map +1 -1
  96. package/dist-lib/lib/floriday-gateway.functions.d.ts +6852 -3984
  97. package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
  98. package/dist-lib/lib/floriday-stock-supply.server.d.ts +18 -7
  99. package/dist-lib/lib/floriday-stock-supply.server.d.ts.map +1 -1
  100. package/dist-lib/lib/floriday-stock-supply.server.js +70 -68
  101. package/dist-lib/lib/floriday-vbn-required.functions.d.ts +2180 -1224
  102. package/dist-lib/lib/floriday-vbn-required.functions.d.ts.map +1 -1
  103. package/dist-lib/lib/floriday-warehouse.functions.d.ts +3476 -2042
  104. package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
  105. package/dist-lib/lib/floriday-writes.functions.d.ts +2180 -1224
  106. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  107. package/dist-lib/lib/inventory-settings.functions.d.ts +47391 -0
  108. package/dist-lib/lib/inventory-settings.functions.d.ts.map +1 -0
  109. package/dist-lib/lib/inventory-settings.functions.js +97 -0
  110. package/dist-lib/lib/module-health.functions.d.ts +2180 -1224
  111. package/dist-lib/lib/module-health.functions.d.ts.map +1 -1
  112. package/dist-lib/lib/stock-sync.functions.d.ts +2180 -1224
  113. package/dist-lib/lib/stock-sync.functions.d.ts.map +1 -1
  114. package/package.json +1 -1
  115. package/dist-lib/components/settings/VoorraadSettingsCard.d.ts +0 -2
  116. package/dist-lib/components/settings/VoorraadSettingsCard.d.ts.map +0 -1
  117. package/dist-lib/components/settings/VoorraadSettingsCard.js +0 -39
  118. package/dist-lib/components/voorraad/ConnectionPicker.d.ts +0 -8
  119. package/dist-lib/components/voorraad/ConnectionPicker.d.ts.map +0 -1
  120. package/dist-lib/components/voorraad/ConnectionPicker.js +0 -8
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Schrijven van de Floriday-voorraadsturing. Bewust server-side: de
3
+ * berekening van de gewenste stand en het inplannen van de push gebeuren in
4
+ * de database (`floriday_recompute_inventory`), die niet vanuit de browser
5
+ * aanroepbaar is.
6
+ */
7
+ import { createServerFn } from "@tanstack/react-start";
8
+ import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
9
+ import { z } from "zod";
10
+ const modeSchema = z.enum(["FOLLOW_ERP", "MAX", "FIXED", "MANUAL", "DISABLED"]);
11
+ const settingsSchema = z.object({
12
+ connectionId: z.string().uuid(),
13
+ productIds: z.array(z.string().uuid()).min(1).max(500),
14
+ stockMode: modeSchema.optional(),
15
+ bufferQuantity: z.number().int().min(0).max(1000000).optional(),
16
+ maximumQuantity: z.number().int().min(0).max(10000000).nullable().optional(),
17
+ fixedQuantity: z.number().int().min(0).max(10000000).nullable().optional(),
18
+ manualQuantity: z.number().int().min(0).max(10000000).nullable().optional(),
19
+ });
20
+ export const saveInventorySettings = createServerFn({ method: "POST" })
21
+ .middleware([requireSupabaseAuth])
22
+ .inputValidator((data) => settingsSchema.parse(data))
23
+ .handler(async ({ data, context }) => {
24
+ const { supabaseAdmin } = await import("../integrations/supabase/client.server");
25
+ const admin = supabaseAdmin;
26
+ // Alleen producten van deze gebruiker/connectie mogen worden gestuurd.
27
+ const { data: owned, error: ownErr } = await admin
28
+ .from("floriday_inventory_settings")
29
+ .select("id, product_id")
30
+ .eq("connection_id", data.connectionId)
31
+ .eq("user_id", context.userId)
32
+ .in("product_id", data.productIds);
33
+ if (ownErr)
34
+ throw new Error(ownErr.message);
35
+ const ids = (owned ?? []).map((r) => r.id);
36
+ if (ids.length === 0) {
37
+ throw new Error("Geen instelbare producten gevonden. Koppel het product eerst aan Floriday.");
38
+ }
39
+ const patch = { updated_at: new Date().toISOString(), updated_by: context.userId };
40
+ if (data.stockMode !== undefined)
41
+ patch.stock_mode = data.stockMode;
42
+ if (data.bufferQuantity !== undefined)
43
+ patch.buffer_quantity = data.bufferQuantity;
44
+ if (data.maximumQuantity !== undefined)
45
+ patch.maximum_quantity = data.maximumQuantity;
46
+ if (data.fixedQuantity !== undefined)
47
+ patch.fixed_quantity = data.fixedQuantity;
48
+ if (data.manualQuantity !== undefined)
49
+ patch.manual_quantity = data.manualQuantity;
50
+ const { error } = await admin
51
+ .from("floriday_inventory_settings")
52
+ .update(patch)
53
+ .in("id", ids);
54
+ if (error)
55
+ throw new Error(error.message);
56
+ // De trigger op deze tabel herberekent en plant de push in; expliciet
57
+ // forceren zorgt dat ook een ongewijzigde stand opnieuw wordt gepubliceerd.
58
+ for (const row of owned ?? []) {
59
+ await admin.rpc("floriday_recompute_inventory", {
60
+ p_connection_id: data.connectionId,
61
+ p_product_id: row.product_id,
62
+ p_force: false,
63
+ });
64
+ }
65
+ return { updated: ids.length };
66
+ });
67
+ /** Forceer een herpublicatie zonder de instellingen te wijzigen. */
68
+ export const republishInventory = createServerFn({ method: "POST" })
69
+ .middleware([requireSupabaseAuth])
70
+ .inputValidator((data) => z
71
+ .object({
72
+ connectionId: z.string().uuid(),
73
+ productIds: z.array(z.string().uuid()).min(1).max(500),
74
+ })
75
+ .parse(data))
76
+ .handler(async ({ data, context }) => {
77
+ const { supabaseAdmin } = await import("../integrations/supabase/client.server");
78
+ const admin = supabaseAdmin;
79
+ const { data: owned, error } = await admin
80
+ .from("floriday_inventory_settings")
81
+ .select("product_id")
82
+ .eq("connection_id", data.connectionId)
83
+ .eq("user_id", context.userId)
84
+ .in("product_id", data.productIds);
85
+ if (error)
86
+ throw new Error(error.message);
87
+ let queued = 0;
88
+ for (const row of owned ?? []) {
89
+ await admin.rpc("floriday_recompute_inventory", {
90
+ p_connection_id: data.connectionId,
91
+ p_product_id: row.product_id,
92
+ p_force: true,
93
+ });
94
+ queued++;
95
+ }
96
+ return { queued };
97
+ });