@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.
- package/dist-lib/components/TemplatePage.d.ts +1 -1
- package/dist-lib/components/TemplatePage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts +1 -1
- package/dist-lib/components/voorraad/AdditionalPackagingDialog.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ArtikelCompositionCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts +1 -1
- package/dist-lib/components/voorraad/ArtikelWizard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ConnectionBadge.d.ts +1 -1
- package/dist-lib/components/voorraad/ConnectionBadge.d.ts.map +1 -1
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts +1 -1
- package/dist-lib/components/voorraad/EditArtikelPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ExcelExportButton.d.ts +1 -1
- package/dist-lib/components/voorraad/ExcelExportButton.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts +1 -1
- package/dist-lib/components/voorraad/FloridayInfoCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts +1 -1
- package/dist-lib/components/voorraad/FloridayStatusBadge.d.ts.map +1 -1
- package/dist-lib/components/voorraad/FustenPage.d.ts +1 -1
- package/dist-lib/components/voorraad/FustenPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts +10 -0
- package/dist-lib/components/voorraad/InventorySettingsDrawer.d.ts.map +1 -0
- package/dist-lib/components/voorraad/InventorySettingsDrawer.js +99 -0
- package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts +6 -0
- package/dist-lib/components/voorraad/InventoryStatusBadge.d.ts.map +1 -0
- package/dist-lib/components/voorraad/InventoryStatusBadge.js +43 -0
- package/dist-lib/components/voorraad/ModuleHealthCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ModuleHealthCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts +1 -1
- package/dist-lib/components/voorraad/NieuwArtikelPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/OrderHistoryCard.d.ts +1 -1
- package/dist-lib/components/voorraad/OrderHistoryCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PriceStatusBadge.d.ts +1 -1
- package/dist-lib/components/voorraad/PriceStatusBadge.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ProductCustomFieldsCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ProductLinkCard.d.ts +1 -1
- package/dist-lib/components/voorraad/ProductLinkCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PublicatiesPage.d.ts +1 -1
- package/dist-lib/components/voorraad/PublicatiesPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PublishProgressCard.d.ts +1 -1
- package/dist-lib/components/voorraad/PublishProgressCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/PublishReadinessCard.d.ts +1 -1
- package/dist-lib/components/voorraad/PublishReadinessCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StepSamenstelling.d.ts +1 -1
- package/dist-lib/components/voorraad/StepSamenstelling.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts +1 -1
- package/dist-lib/components/voorraad/StockBulkButtons.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockHistoryChart.d.ts +4 -0
- package/dist-lib/components/voorraad/StockHistoryChart.d.ts.map +1 -0
- package/dist-lib/components/voorraad/StockHistoryChart.js +53 -0
- package/dist-lib/components/voorraad/StockPushMonitor.d.ts +1 -1
- package/dist-lib/components/voorraad/StockPushMonitor.d.ts.map +1 -1
- package/dist-lib/components/voorraad/StockSyncStatus.d.ts +1 -1
- package/dist-lib/components/voorraad/StockSyncStatus.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts +1 -1
- package/dist-lib/components/voorraad/ValidationOverviewTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/ValidationPage.d.ts +1 -1
- package/dist-lib/components/voorraad/ValidationPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadDashboard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadDashboard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadPage.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadPage.js +29 -1
- package/dist-lib/components/voorraad/VoorraadPagination.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadPagination.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadStockCard.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadTable.d.ts +10 -2
- package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
- package/dist-lib/components/voorraad/VoorraadTable.js +17 -6
- package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts +1 -1
- package/dist-lib/components/voorraad/VoorraadVeldenCard.d.ts.map +1 -1
- package/dist-lib/hooks/useInventorySettings.d.ts +29 -0
- package/dist-lib/hooks/useInventorySettings.d.ts.map +1 -0
- package/dist-lib/hooks/useInventorySettings.js +62 -0
- package/dist-lib/index.d.ts +0 -1
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +0 -3
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +8744 -5912
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +8744 -5912
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.js +3 -2
- package/dist-lib/integrations/supabase/client.server.d.ts +8744 -5912
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.js +1 -1
- package/dist-lib/integrations/supabase/previewAuthStorage.d.ts +6 -0
- package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -0
- package/dist-lib/integrations/supabase/previewAuthStorage.js +92 -0
- package/dist-lib/integrations/supabase/types.d.ts +5330 -2467
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +3 -0
- package/dist-lib/lib/floricode-required-features.functions.d.ts +8744 -5918
- package/dist-lib/lib/floricode-required-features.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-2026v1.server.d.ts +77 -0
- package/dist-lib/lib/floriday-2026v1.server.d.ts.map +1 -0
- package/dist-lib/lib/floriday-2026v1.server.js +178 -0
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts +8746 -5912
- package/dist-lib/lib/floriday-customer-offer.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-env.functions.d.ts +7282 -1618
- package/dist-lib/lib/floriday-env.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-gateway.functions.d.ts +22466 -5474
- package/dist-lib/lib/floriday-gateway.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-stock-supply.server.d.ts +18 -7
- package/dist-lib/lib/floriday-stock-supply.server.d.ts.map +1 -1
- package/dist-lib/lib/floriday-stock-supply.server.js +70 -68
- package/dist-lib/lib/floriday-vbn-required.functions.d.ts +7282 -1618
- package/dist-lib/lib/floriday-vbn-required.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-warehouse.functions.d.ts +11078 -2582
- package/dist-lib/lib/floriday-warehouse.functions.d.ts.map +1 -1
- package/dist-lib/lib/floriday-writes.functions.d.ts +7282 -1618
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -1
- package/dist-lib/lib/inventory-settings.functions.d.ts +47391 -0
- package/dist-lib/lib/inventory-settings.functions.d.ts.map +1 -0
- package/dist-lib/lib/inventory-settings.functions.js +97 -0
- package/dist-lib/lib/module-health.functions.d.ts +7282 -1618
- package/dist-lib/lib/module-health.functions.d.ts.map +1 -1
- package/dist-lib/lib/stock-sync.functions.d.ts +7282 -1618
- package/dist-lib/lib/stock-sync.functions.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist-lib/components/settings/VoorraadSettingsCard.d.ts +0 -2
- package/dist-lib/components/settings/VoorraadSettingsCard.d.ts.map +0 -1
- package/dist-lib/components/settings/VoorraadSettingsCard.js +0 -39
- package/dist-lib/components/voorraad/ConnectionPicker.d.ts +0 -8
- package/dist-lib/components/voorraad/ConnectionPicker.d.ts.map +0 -1
- 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
|
+
});
|