@flowselections/floriday-verkoop-module 1.0.8 → 1.0.10
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/floriday/FlorydaySyncHealthBanner.d.ts +9 -0
- package/dist-lib/components/floriday/FlorydaySyncHealthBanner.d.ts.map +1 -0
- package/dist-lib/components/floriday/FlorydaySyncHealthBanner.js +26 -0
- package/dist-lib/components/verkoop/CreateOrderPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/CreateOrderPage.js +6 -9
- package/dist-lib/components/verkoop/VerkoopOrdersPage.d.ts.map +1 -1
- package/dist-lib/components/verkoop/VerkoopOrdersPage.js +2 -1
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +2797 -144
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +2797 -144
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +2797 -144
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +2870 -134
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +2 -0
- package/dist-lib/lib/floriday-gateway.server.d.ts +42 -0
- package/dist-lib/lib/floriday-gateway.server.d.ts.map +1 -0
- package/dist-lib/lib/floriday-gateway.server.js +217 -0
- package/dist-lib/lib/floriday-public.functions.d.ts +65056 -0
- package/dist-lib/lib/floriday-public.functions.d.ts.map +1 -0
- package/dist-lib/lib/floriday-public.functions.js +210 -0
- package/dist-lib/lib/floriday-sync.d.ts.map +1 -1
- package/dist-lib/lib/floriday-sync.js +18 -79
- package/dist-lib/lib/floriday-writes.functions.d.ts +46453 -0
- package/dist-lib/lib/floriday-writes.functions.d.ts.map +1 -0
- package/dist-lib/lib/floriday-writes.functions.js +110 -0
- package/dist-lib/lib/salesorders.functions.d.ts +17670 -9710
- package/dist-lib/lib/salesorders.functions.d.ts.map +1 -1
- package/dist-lib/lib/salesorders.functions.js +44 -86
- package/dist-lib/lib/tradeitems.functions.d.ts +2797 -144
- package/dist-lib/lib/tradeitems.functions.d.ts.map +1 -1
- package/dist-lib/lib/useSalesOrdersQuery.d.ts.map +1 -1
- package/dist-lib/lib/useSalesOrdersQuery.js +11 -25
- package/package.json +2 -2
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
// Write helpers — alle Floriday-schrijfacties lopen via deze functies.
|
|
2
|
+
// Niemand mag fetch met Authorization-header zelf bouwen.
|
|
3
|
+
import { createServerFn } from "@tanstack/react-start";
|
|
4
|
+
import { z } from "zod";
|
|
5
|
+
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
6
|
+
const EnvSchema = z.enum(["staging", "live"]);
|
|
7
|
+
async function callGateway(env, args, userId) {
|
|
8
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
9
|
+
const { florydayWrite } = await import("./floriday-gateway.server");
|
|
10
|
+
return florydayWrite(supabaseAdmin, env, args, userId);
|
|
11
|
+
}
|
|
12
|
+
// ─── Sales orders ─────────────────────────────────────────────────────────
|
|
13
|
+
const AckSchema = z.object({
|
|
14
|
+
environment: EnvSchema,
|
|
15
|
+
salesOrderId: z.string().min(1),
|
|
16
|
+
lines: z
|
|
17
|
+
.array(z.object({
|
|
18
|
+
salesOrderLineId: z.string().min(1),
|
|
19
|
+
acknowledgedQuantity: z.number().int().nonnegative(),
|
|
20
|
+
}))
|
|
21
|
+
.optional(),
|
|
22
|
+
});
|
|
23
|
+
export const acknowledgeSalesOrder = createServerFn({ method: "POST" })
|
|
24
|
+
.middleware([requireSupabaseAuth])
|
|
25
|
+
.inputValidator((d) => AckSchema.parse(d))
|
|
26
|
+
.handler(async ({ data, context }) => callGateway(data.environment, {
|
|
27
|
+
module: "sales",
|
|
28
|
+
action: "acknowledge-sales-order",
|
|
29
|
+
method: "POST",
|
|
30
|
+
path: `/sales-orders/${encodeURIComponent(data.salesOrderId)}/acknowledge`,
|
|
31
|
+
referenceId: data.salesOrderId,
|
|
32
|
+
body: data.lines ? { lines: data.lines } : {},
|
|
33
|
+
}, context.userId));
|
|
34
|
+
const RejectSchema = z.object({
|
|
35
|
+
environment: EnvSchema,
|
|
36
|
+
salesOrderId: z.string().min(1),
|
|
37
|
+
reason: z.string().min(1),
|
|
38
|
+
});
|
|
39
|
+
export const rejectSalesOrder = createServerFn({ method: "POST" })
|
|
40
|
+
.middleware([requireSupabaseAuth])
|
|
41
|
+
.inputValidator((d) => RejectSchema.parse(d))
|
|
42
|
+
.handler(async ({ data, context }) => callGateway(data.environment, {
|
|
43
|
+
module: "sales",
|
|
44
|
+
action: "reject-sales-order",
|
|
45
|
+
method: "POST",
|
|
46
|
+
path: `/sales-orders/${encodeURIComponent(data.salesOrderId)}/reject`,
|
|
47
|
+
referenceId: data.salesOrderId,
|
|
48
|
+
body: { reason: data.reason },
|
|
49
|
+
}, context.userId));
|
|
50
|
+
// ─── Fulfillment ──────────────────────────────────────────────────────────
|
|
51
|
+
const ConfirmFulSchema = z.object({
|
|
52
|
+
environment: EnvSchema,
|
|
53
|
+
fulfillmentOrderId: z.string().min(1),
|
|
54
|
+
lines: z
|
|
55
|
+
.array(z.object({
|
|
56
|
+
fulfillmentOrderLineId: z.string().min(1),
|
|
57
|
+
deliveredQuantity: z.number().int().nonnegative(),
|
|
58
|
+
}))
|
|
59
|
+
.optional(),
|
|
60
|
+
});
|
|
61
|
+
export const confirmFulfillmentOrder = createServerFn({ method: "POST" })
|
|
62
|
+
.middleware([requireSupabaseAuth])
|
|
63
|
+
.inputValidator((d) => ConfirmFulSchema.parse(d))
|
|
64
|
+
.handler(async ({ data, context }) => callGateway(data.environment, {
|
|
65
|
+
module: "warehouse",
|
|
66
|
+
action: "confirm-fulfillment-order",
|
|
67
|
+
method: "POST",
|
|
68
|
+
path: `/fulfillment-orders/${encodeURIComponent(data.fulfillmentOrderId)}/confirm`,
|
|
69
|
+
referenceId: data.fulfillmentOrderId,
|
|
70
|
+
body: data.lines ? { lines: data.lines } : {},
|
|
71
|
+
}, context.userId));
|
|
72
|
+
// ─── Catalog ──────────────────────────────────────────────────────────────
|
|
73
|
+
const TradeItemSchema = z.object({
|
|
74
|
+
environment: EnvSchema,
|
|
75
|
+
tradeItemId: z.string().min(1),
|
|
76
|
+
payload: z.record(z.string(), z.any()),
|
|
77
|
+
});
|
|
78
|
+
export const publishTradeItem = createServerFn({ method: "POST" })
|
|
79
|
+
.middleware([requireSupabaseAuth])
|
|
80
|
+
.inputValidator((d) => TradeItemSchema.parse(d))
|
|
81
|
+
.handler(async ({ data, context }) => callGateway(data.environment, {
|
|
82
|
+
module: "catalog",
|
|
83
|
+
action: "publish-trade-item",
|
|
84
|
+
method: "PUT",
|
|
85
|
+
path: `/trade-items/${encodeURIComponent(data.tradeItemId)}`,
|
|
86
|
+
referenceId: data.tradeItemId,
|
|
87
|
+
body: data.payload,
|
|
88
|
+
validateEnums: [{ field: "currency", listName: "Currency" }],
|
|
89
|
+
}, context.userId));
|
|
90
|
+
const SupplyLineSchema = z.object({
|
|
91
|
+
environment: EnvSchema,
|
|
92
|
+
supplyLineId: z.string().min(1),
|
|
93
|
+
payload: z.record(z.string(), z.any()),
|
|
94
|
+
});
|
|
95
|
+
export const upsertSupplyLine = createServerFn({ method: "POST" })
|
|
96
|
+
.middleware([requireSupabaseAuth])
|
|
97
|
+
.inputValidator((d) => SupplyLineSchema.parse(d))
|
|
98
|
+
.handler(async ({ data, context }) => callGateway(data.environment, {
|
|
99
|
+
module: "catalog",
|
|
100
|
+
action: "upsert-supply-line",
|
|
101
|
+
method: "PUT",
|
|
102
|
+
path: `/supply-lines/${encodeURIComponent(data.supplyLineId)}`,
|
|
103
|
+
referenceId: data.supplyLineId,
|
|
104
|
+
body: data.payload,
|
|
105
|
+
validateEnums: [
|
|
106
|
+
{ field: "currency", listName: "Currency" },
|
|
107
|
+
{ field: "salesUnit", listName: "SalesUnit" },
|
|
108
|
+
{ field: "lines[].loadCarrierType", listName: "SupplyLoadCarrierType" },
|
|
109
|
+
],
|
|
110
|
+
}, context.userId));
|