@flowselections/floriday-verkoop-module 1.0.60 → 1.0.62

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 (149) hide show
  1. package/dist-lib/components/floriday/FlorydaySyncHealthBanner.d.ts +9 -0
  2. package/dist-lib/components/floriday/FlorydaySyncHealthBanner.d.ts.map +1 -0
  3. package/dist-lib/components/floriday/FlorydaySyncHealthBanner.js +26 -0
  4. package/dist-lib/components/karindeling/AfmetingenTab.d.ts +6 -0
  5. package/dist-lib/components/karindeling/AfmetingenTab.d.ts.map +1 -0
  6. package/dist-lib/components/karindeling/AfmetingenTab.js +128 -0
  7. package/dist-lib/components/karindeling/KarindelingPage.d.ts +2 -0
  8. package/dist-lib/components/karindeling/KarindelingPage.d.ts.map +1 -0
  9. package/dist-lib/components/karindeling/KarindelingPage.js +102 -0
  10. package/dist-lib/components/ui/dropdown-menu.d.ts +9 -0
  11. package/dist-lib/components/ui/dropdown-menu.d.ts.map +1 -0
  12. package/dist-lib/components/ui/dropdown-menu.js +14 -0
  13. package/dist-lib/components/verkoop/AnalyticsCards.d.ts +1 -1
  14. package/dist-lib/components/verkoop/AnalyticsCards.d.ts.map +1 -1
  15. package/dist-lib/components/verkoop/AutoFulfillmentStatusCard.d.ts +1 -1
  16. package/dist-lib/components/verkoop/AutoFulfillmentStatusCard.d.ts.map +1 -1
  17. package/dist-lib/components/verkoop/CartAssignmentWizard.d.ts +1 -1
  18. package/dist-lib/components/verkoop/CartAssignmentWizard.d.ts.map +1 -1
  19. package/dist-lib/components/verkoop/CartLayersDialog.d.ts +1 -1
  20. package/dist-lib/components/verkoop/CartLayersDialog.d.ts.map +1 -1
  21. package/dist-lib/components/verkoop/CreateOrderDialog.d.ts +5 -0
  22. package/dist-lib/components/verkoop/CreateOrderDialog.d.ts.map +1 -0
  23. package/dist-lib/components/verkoop/CreateOrderDialog.js +33 -0
  24. package/dist-lib/components/verkoop/CreateOrderPage.d.ts +1 -1
  25. package/dist-lib/components/verkoop/CreateOrderPage.d.ts.map +1 -1
  26. package/dist-lib/components/verkoop/DiagnoseConnectionDialog.d.ts +1 -1
  27. package/dist-lib/components/verkoop/DiagnoseConnectionDialog.d.ts.map +1 -1
  28. package/dist-lib/components/verkoop/EditLocalOrderDialog.d.ts +1 -1
  29. package/dist-lib/components/verkoop/EditLocalOrderDialog.d.ts.map +1 -1
  30. package/dist-lib/components/verkoop/EngineBufferCard.d.ts +1 -1
  31. package/dist-lib/components/verkoop/EngineBufferCard.d.ts.map +1 -1
  32. package/dist-lib/components/verkoop/InvoiceTimingSettings.d.ts +1 -1
  33. package/dist-lib/components/verkoop/InvoiceTimingSettings.d.ts.map +1 -1
  34. package/dist-lib/components/verkoop/OrderAfleverbrievenCard.d.ts +1 -1
  35. package/dist-lib/components/verkoop/OrderAfleverbrievenCard.d.ts.map +1 -1
  36. package/dist-lib/components/verkoop/OrderCarrierPicker.d.ts +1 -1
  37. package/dist-lib/components/verkoop/OrderCarrierPicker.d.ts.map +1 -1
  38. package/dist-lib/components/verkoop/OrderControlStatusCard.d.ts +1 -1
  39. package/dist-lib/components/verkoop/OrderControlStatusCard.d.ts.map +1 -1
  40. package/dist-lib/components/verkoop/OrderKarindelingCard.d.ts +1 -1
  41. package/dist-lib/components/verkoop/OrderKarindelingCard.d.ts.map +1 -1
  42. package/dist-lib/components/verkoop/OrderPickupMomentPicker.d.ts +1 -1
  43. package/dist-lib/components/verkoop/OrderPickupMomentPicker.d.ts.map +1 -1
  44. package/dist-lib/components/verkoop/OrderShipmentsCard.d.ts +1 -1
  45. package/dist-lib/components/verkoop/OrderShipmentsCard.d.ts.map +1 -1
  46. package/dist-lib/components/verkoop/ProductDimensionsSettings.d.ts +1 -1
  47. package/dist-lib/components/verkoop/ProductDimensionsSettings.d.ts.map +1 -1
  48. package/dist-lib/components/verkoop/SalesOrderDetailPage.d.ts +1 -1
  49. package/dist-lib/components/verkoop/SalesOrderDetailPage.d.ts.map +1 -1
  50. package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts +1 -1
  51. package/dist-lib/components/verkoop/SalesOrderDetailView.d.ts.map +1 -1
  52. package/dist-lib/components/verkoop/SalesOrdersFilterPanel.d.ts +1 -1
  53. package/dist-lib/components/verkoop/SalesOrdersFilterPanel.d.ts.map +1 -1
  54. package/dist-lib/components/verkoop/SalesOrdersFilters.d.ts +1 -1
  55. package/dist-lib/components/verkoop/SalesOrdersFilters.d.ts.map +1 -1
  56. package/dist-lib/components/verkoop/SalesOrdersTable.d.ts +1 -2
  57. package/dist-lib/components/verkoop/SalesOrdersTable.d.ts.map +1 -1
  58. package/dist-lib/components/verkoop/SearchableSelect.d.ts +1 -1
  59. package/dist-lib/components/verkoop/SearchableSelect.d.ts.map +1 -1
  60. package/dist-lib/components/verkoop/StockConsumptionAlertsBanner.d.ts +1 -1
  61. package/dist-lib/components/verkoop/StockConsumptionAlertsBanner.d.ts.map +1 -1
  62. package/dist-lib/components/verkoop/VerkoopOrdersPage.d.ts +1 -1
  63. package/dist-lib/components/verkoop/VerkoopOrdersPage.d.ts.map +1 -1
  64. package/dist-lib/components/verkoop/VerkoopOrdersPage.js +18 -5
  65. package/dist-lib/components/verkoop/WeekCalendar.d.ts +1 -1
  66. package/dist-lib/components/verkoop/WeekCalendar.d.ts.map +1 -1
  67. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1061 -15
  68. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  69. package/dist-lib/integrations/supabase/client.server.d.ts +1061 -15
  70. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  71. package/dist-lib/integrations/supabase/types.d.ts +1061 -10
  72. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  73. package/dist-lib/lib/buffer-events.functions.d.ts +1061 -15
  74. package/dist-lib/lib/buffer-events.functions.d.ts.map +1 -1
  75. package/dist-lib/lib/cart-layers.functions.d.ts +4188 -36
  76. package/dist-lib/lib/cart-layers.functions.d.ts.map +1 -1
  77. package/dist-lib/lib/cart-lock.functions.d.ts +1061 -15
  78. package/dist-lib/lib/cart-lock.functions.d.ts.map +1 -1
  79. package/dist-lib/lib/cart-planning-settings.functions.d.ts +11506 -0
  80. package/dist-lib/lib/cart-planning-settings.functions.d.ts.map +1 -1
  81. package/dist-lib/lib/cart-replan.functions.d.ts +3139 -1
  82. package/dist-lib/lib/cart-replan.functions.d.ts.map +1 -1
  83. package/dist-lib/lib/cart-replan.functions.js +8 -47
  84. package/dist-lib/lib/create-order.functions.d.ts +17799 -102
  85. package/dist-lib/lib/create-order.functions.d.ts.map +1 -1
  86. package/dist-lib/lib/create-order.functions.js +3 -16
  87. package/dist-lib/lib/cron/push-order-statuses.d.ts +4 -0
  88. package/dist-lib/lib/cron/push-order-statuses.d.ts.map +1 -0
  89. package/dist-lib/lib/cron/push-order-statuses.js +23 -0
  90. package/dist-lib/lib/cron/replan-carts.d.ts +1 -1
  91. package/dist-lib/lib/cron/replan-carts.d.ts.map +1 -1
  92. package/dist-lib/lib/cron/replan-carts.js +10 -15
  93. package/dist-lib/lib/floriday/floriday.server.d.ts +14 -0
  94. package/dist-lib/lib/floriday/floriday.server.d.ts.map +1 -0
  95. package/dist-lib/lib/floriday/floriday.server.js +92 -0
  96. package/dist-lib/lib/floriday/sales-orders.functions.d.ts +4736 -0
  97. package/dist-lib/lib/floriday/sales-orders.functions.d.ts.map +1 -0
  98. package/dist-lib/lib/floriday/sales-orders.functions.js +193 -0
  99. package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts +13288 -2362
  100. package/dist-lib/lib/floriday-auto-fulfillment.functions.d.ts.map +1 -1
  101. package/dist-lib/lib/floriday-logistic-labels.functions.d.ts +2092 -0
  102. package/dist-lib/lib/floriday-logistic-labels.functions.d.ts.map +1 -1
  103. package/dist-lib/lib/floriday-mirror.functions.d.ts +1061 -15
  104. package/dist-lib/lib/floriday-mirror.functions.d.ts.map +1 -1
  105. package/dist-lib/lib/floriday-mirror.functions.js +282 -117
  106. package/dist-lib/lib/floriday-public.functions.d.ts +7322 -0
  107. package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -1
  108. package/dist-lib/lib/floriday-status-sync.server.d.ts +14 -0
  109. package/dist-lib/lib/floriday-status-sync.server.d.ts.map +1 -0
  110. package/dist-lib/lib/floriday-status-sync.server.js +130 -0
  111. package/dist-lib/lib/floriday-writes.functions.d.ts +2092 -0
  112. package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
  113. package/dist-lib/lib/invoice-timing.functions.d.ts +4184 -0
  114. package/dist-lib/lib/invoice-timing.functions.d.ts.map +1 -1
  115. package/dist-lib/lib/load-carriers.functions.d.ts +1061 -15
  116. package/dist-lib/lib/load-carriers.functions.d.ts.map +1 -1
  117. package/dist-lib/lib/logistics-engine.functions.d.ts +5235 -15
  118. package/dist-lib/lib/logistics-engine.functions.d.ts.map +1 -1
  119. package/dist-lib/lib/logistics-engine.server.d.ts.map +1 -1
  120. package/dist-lib/lib/logistics-engine.server.js +2 -9
  121. package/dist-lib/lib/logistics-stock.functions.d.ts +2092 -0
  122. package/dist-lib/lib/logistics-stock.functions.d.ts.map +1 -1
  123. package/dist-lib/lib/order-addresses.functions.d.ts +1061 -15
  124. package/dist-lib/lib/order-addresses.functions.d.ts.map +1 -1
  125. package/dist-lib/lib/order-buffers.functions.d.ts +3147 -3
  126. package/dist-lib/lib/order-buffers.functions.d.ts.map +1 -1
  127. package/dist-lib/lib/order-buffers.functions.js +3 -12
  128. package/dist-lib/lib/order-carrier.functions.d.ts +2092 -0
  129. package/dist-lib/lib/order-carrier.functions.d.ts.map +1 -1
  130. package/dist-lib/lib/order-fulfill.functions.d.ts +1061 -15
  131. package/dist-lib/lib/order-fulfill.functions.d.ts.map +1 -1
  132. package/dist-lib/lib/order-pickup.functions.d.ts +2092 -0
  133. package/dist-lib/lib/order-pickup.functions.d.ts.map +1 -1
  134. package/dist-lib/lib/order-shipments.functions.d.ts +4184 -0
  135. package/dist-lib/lib/order-shipments.functions.d.ts.map +1 -1
  136. package/dist-lib/lib/product-dimensions.functions.d.ts +2092 -0
  137. package/dist-lib/lib/product-dimensions.functions.d.ts.map +1 -1
  138. package/dist-lib/lib/salesorders-list.functions.d.ts +2092 -0
  139. package/dist-lib/lib/salesorders-list.functions.d.ts.map +1 -1
  140. package/dist-lib/lib/salesorders-list.server.d.ts.map +1 -1
  141. package/dist-lib/lib/salesorders-list.server.js +62 -3
  142. package/dist-lib/lib/salesorders.functions.d.ts +6303 -17
  143. package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
  144. package/dist-lib/lib/salesorders.functions.js +22 -22
  145. package/dist-lib/lib/stock-consumption-alerts.functions.d.ts +2092 -0
  146. package/dist-lib/lib/stock-consumption-alerts.functions.d.ts.map +1 -1
  147. package/dist-lib/lib/tradeitems.functions.d.ts +1061 -15
  148. package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
  149. package/package.json +1 -1
@@ -44,7 +44,9 @@ function mapSalesOrderRow(record, connectionId) {
44
44
  data: record,
45
45
  };
46
46
  }
47
- async function runSalesOrdersSyncInternal() {
47
+ async function runSalesOrdersSyncInternal(budget) {
48
+ const budgetMs = budget?.budgetMs ?? 25000;
49
+ const mirrorLimit = budget?.mirrorLimit ?? 500;
48
50
  const { supabaseAdmin } = await import("../integrations/supabase/client.server");
49
51
  const connections = await loadActiveConnections(supabaseAdmin);
50
52
  const results = [];
@@ -58,7 +60,7 @@ async function runSalesOrdersSyncInternal() {
58
60
  cacheTable: CACHE_TABLE,
59
61
  conflictTarget: "connection_id,floriday_id",
60
62
  mapRow: mapSalesOrderRow,
61
- budgetMs: 25000,
63
+ budgetMs,
62
64
  });
63
65
  results.push(r);
64
66
  }
@@ -79,13 +81,16 @@ async function runSalesOrdersSyncInternal() {
79
81
  });
80
82
  }
81
83
  }
82
- // Spiegel recent gewijzigde FO's naar de lokale orders-tabel zodat
83
- // buffergroepering en gedeelde karren werken.
84
+ // Nawerk (spiegelen naar lokale orders) hoort bij de cron-ronde, niet bij de
85
+ // knop. Karplanning doet de Logistiek Engine zelf in haar minuut-cron.
86
+ if (budget?.fetchOnly) {
87
+ return { ok: results.every((r) => r.ok), results, mirrorOk: true, mirrored: 0 };
88
+ }
84
89
  let mirrorOk = true;
85
90
  let mirrored = 0;
86
91
  try {
87
92
  const { mirrorFloridayOrdersFromCron } = await import("./floriday-mirror.functions");
88
- const m = (await mirrorFloridayOrdersFromCron(500));
93
+ const m = (await mirrorFloridayOrdersFromCron(mirrorLimit));
89
94
  mirrorOk = m?.ok !== false;
90
95
  mirrored = Number(m?.created ?? 0) + Number(m?.updated ?? 0) || Number(m?.processed ?? 0) || 0;
91
96
  }
@@ -93,28 +98,18 @@ async function runSalesOrdersSyncInternal() {
93
98
  mirrorOk = false;
94
99
  console.error("[floriday-mirror] failed", mirrorErr);
95
100
  }
96
- // Direct doorpakken: karplanning voor de zojuist binnengekomen orders,
97
- // zodat de gebruiker niet op de volgende klokslag hoeft te wachten.
98
- let replanOk = true;
99
- let replanned = 0;
100
- try {
101
- const { drainCartReplanQueue } = await import("./cart-replan.functions");
102
- const r = await drainCartReplanQueue(100);
103
- replanOk = r.ok;
104
- replanned = r.processed;
105
- }
106
- catch (replanErr) {
107
- replanOk = false;
108
- console.error("[cart-replan] failed", replanErr);
109
- }
110
- return { ok: results.every((r) => r.ok), results, mirrorOk, mirrored, replanOk, replanned };
101
+ return { ok: results.every((r) => r.ok), results, mirrorOk, mirrored };
111
102
  }
112
103
  export async function runSalesOrdersSyncFromCron() {
113
104
  return runSalesOrdersSyncInternal();
114
105
  }
106
+ // Handmatig ophalen via de knop doet één ding: verse orders bij Floriday
107
+ // ophalen, met een hard tijdsbudget van 8 seconden.
108
+ const syncInput = z.object({ quick: z.boolean().optional() });
115
109
  export const runSalesOrdersSync = createServerFn({ method: "POST" })
116
110
  .middleware([requireSupabaseAuth])
117
- .handler(async () => runSalesOrdersSyncInternal());
111
+ .inputValidator((input) => syncInput.parse(input ?? {}))
112
+ .handler(async ({ data }) => runSalesOrdersSyncInternal(data?.quick ? { budgetMs: 8000, fetchOnly: true } : undefined));
118
113
  // ─── Write actions ────────────────────────────────────────────────────────
119
114
  const CreateOrderSchema = z.object({
120
115
  customerOrganizationId: z.string().min(1),
@@ -236,6 +231,7 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
236
231
  .inputValidator((d) => DetailInputSchema.parse(d))
237
232
  .handler(async ({ data, context }) => {
238
233
  const supabase = context.supabase;
234
+ const { supabaseAdmin } = await import("../integrations/supabase/client.server");
239
235
  // 1) Actieve environment + connectie.
240
236
  const envRes = await supabase
241
237
  .from("floriday_settings")
@@ -244,7 +240,11 @@ export const getSalesOrderDetail = createServerFn({ method: "POST" })
244
240
  .maybeSingle();
245
241
  const rawEnv = String(envRes.data?.active_environment ?? "staging");
246
242
  const environment = rawEnv === "production" || rawEnv === "prod" || rawEnv === "live" ? "live" : "staging";
247
- const connRes = await supabase
243
+ // De connectietabel bevat ook geheime configuratie en heeft daarom geen
244
+ // directe leespolicy voor gebruikers. Lees uitsluitend de veilige velden
245
+ // server-side; alle order- en klantdata hieronder blijft via de ingelogde
246
+ // gebruiker en dus onder RLS lopen.
247
+ const connRes = await supabaseAdmin
248
248
  .from("floriday_connections")
249
249
  .select("id, organization_name, label")
250
250
  .eq("is_active", true)