@flowselections/floriday-voorraad 1.0.37 → 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 (127) 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/index.d.ts +0 -1
  78. package/dist-lib/index.d.ts.map +1 -1
  79. package/dist-lib/index.js +0 -3
  80. package/dist-lib/integrations/supabase/auth-middleware.d.ts +8744 -5912
  81. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  82. package/dist-lib/integrations/supabase/client.d.ts +8744 -5912
  83. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  84. package/dist-lib/integrations/supabase/client.js +3 -2
  85. package/dist-lib/integrations/supabase/client.server.d.ts +8744 -5912
  86. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  87. package/dist-lib/integrations/supabase/client.server.js +1 -1
  88. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts +6 -0
  89. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -0
  90. package/dist-lib/integrations/supabase/previewAuthStorage.js +92 -0
  91. package/dist-lib/integrations/supabase/types.d.ts +5330 -2467
  92. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  93. package/dist-lib/integrations/supabase/types.js +3 -0
  94. package/dist-lib/lib/floricode-required-features.functions.d.ts +8744 -5918
  95. package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
  96. package/dist-lib/lib/floriday-2026v1.server.d.ts +77 -0
  97. package/dist-lib/lib/floriday-2026v1.server.d.ts.map +1 -0
  98. package/dist-lib/lib/floriday-2026v1.server.js +178 -0
  99. package/dist-lib/lib/floriday-customer-offer.functions.d.ts +8746 -5912
  100. package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -1
  101. package/dist-lib/lib/floriday-env.functions.d.ts +7282 -1618
  102. package/dist-lib/lib/floriday-env.functions.d.ts.map +1 -1
  103. package/dist-lib/lib/floriday-gateway.functions.d.ts +22466 -5474
  104. package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
  105. package/dist-lib/lib/floriday-stock-supply.server.d.ts +18 -7
  106. package/dist-lib/lib/floriday-stock-supply.server.d.ts.map +1 -1
  107. package/dist-lib/lib/floriday-stock-supply.server.js +70 -68
  108. package/dist-lib/lib/floriday-vbn-required.functions.d.ts +7282 -1618
  109. package/dist-lib/lib/floriday-vbn-required.functions.d.ts.map +1 -1
  110. package/dist-lib/lib/floriday-warehouse.functions.d.ts +11078 -2582
  111. package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
  112. package/dist-lib/lib/floriday-writes.functions.d.ts +7282 -1618
  113. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  114. package/dist-lib/lib/inventory-settings.functions.d.ts +47391 -0
  115. package/dist-lib/lib/inventory-settings.functions.d.ts.map +1 -0
  116. package/dist-lib/lib/inventory-settings.functions.js +97 -0
  117. package/dist-lib/lib/module-health.functions.d.ts +7282 -1618
  118. package/dist-lib/lib/module-health.functions.d.ts.map +1 -1
  119. package/dist-lib/lib/stock-sync.functions.d.ts +7282 -1618
  120. package/dist-lib/lib/stock-sync.functions.d.ts.map +1 -1
  121. package/package.json +1 -1
  122. package/dist-lib/components/settings/VoorraadSettingsCard.d.ts +0 -2
  123. package/dist-lib/components/settings/VoorraadSettingsCard.d.ts.map +0 -1
  124. package/dist-lib/components/settings/VoorraadSettingsCard.js +0 -39
  125. package/dist-lib/components/voorraad/ConnectionPicker.d.ts +0 -8
  126. package/dist-lib/components/voorraad/ConnectionPicker.d.ts.map +0 -1
  127. 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
+ });