@flowselections/logistiek-engine 1.0.33 → 1.0.53
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/README.md +24 -24
- package/dist-lib/components/FloridayPoortCard.d.ts.map +1 -1
- package/dist-lib/components/FloridayPoortCard.js +2 -1
- package/dist-lib/components/FlowCanvas.d.ts +28 -0
- package/dist-lib/components/FlowCanvas.d.ts.map +1 -0
- package/dist-lib/components/FlowCanvas.js +429 -0
- package/dist-lib/components/FlowOrders.d.ts +8 -0
- package/dist-lib/components/FlowOrders.d.ts.map +1 -0
- package/dist-lib/components/FlowOrders.js +125 -0
- package/dist-lib/components/FlowPage.d.ts +2 -0
- package/dist-lib/components/FlowPage.d.ts.map +1 -0
- package/dist-lib/components/FlowPage.js +141 -0
- package/dist-lib/components/InklapbaarVenster.d.ts +9 -0
- package/dist-lib/components/InklapbaarVenster.d.ts.map +1 -0
- package/dist-lib/components/InklapbaarVenster.js +10 -0
- package/dist-lib/components/LogistiekEnginePage.d.ts.map +1 -1
- package/dist-lib/components/LogistiekEnginePage.js +9 -3
- package/dist-lib/components/LogistiekEngineQueuePage.d.ts +2 -0
- package/dist-lib/components/LogistiekEngineQueuePage.d.ts.map +1 -0
- package/dist-lib/components/LogistiekEngineQueuePage.js +11 -0
- package/dist-lib/components/NodeTracePanel.d.ts +11 -0
- package/dist-lib/components/NodeTracePanel.d.ts.map +1 -0
- package/dist-lib/components/NodeTracePanel.js +40 -0
- package/dist-lib/components/OrderJourneyBar.d.ts +9 -0
- package/dist-lib/components/OrderJourneyBar.d.ts.map +1 -0
- package/dist-lib/components/OrderJourneyBar.js +26 -0
- package/dist-lib/components/OrderLogboek.d.ts +10 -0
- package/dist-lib/components/OrderLogboek.d.ts.map +1 -0
- package/dist-lib/components/OrderLogboek.js +92 -0
- package/dist-lib/components/OrderStopBanner.d.ts +5 -0
- package/dist-lib/components/OrderStopBanner.d.ts.map +1 -0
- package/dist-lib/components/OrderStopBanner.js +22 -0
- package/dist-lib/components/OrderTraceDetails.d.ts +22 -0
- package/dist-lib/components/OrderTraceDetails.d.ts.map +1 -0
- package/dist-lib/components/OrderTraceDetails.js +87 -0
- package/dist-lib/components/RegiePage.d.ts.map +1 -1
- package/dist-lib/components/RegiePage.js +11 -69
- package/dist-lib/components/WerktijdenCard.d.ts +2 -0
- package/dist-lib/components/WerktijdenCard.d.ts.map +1 -0
- package/dist-lib/components/WerktijdenCard.js +37 -0
- package/dist-lib/components/WerkwijzeHerindelingCard.d.ts.map +1 -1
- package/dist-lib/components/WerkwijzeHerindelingCard.js +100 -6
- package/dist-lib/hooks/useFloridayGate.d.ts +10 -0
- package/dist-lib/hooks/useFloridayGate.d.ts.map +1 -1
- package/dist-lib/hooks/useFloridayGate.js +4 -0
- package/dist-lib/hooks/useLogisticsTrace.d.ts +78 -0
- package/dist-lib/hooks/useLogisticsTrace.d.ts.map +1 -0
- package/dist-lib/hooks/useLogisticsTrace.js +152 -0
- package/dist-lib/hooks/useOrderNodeTrace.d.ts +11 -0
- package/dist-lib/hooks/useOrderNodeTrace.d.ts.map +1 -0
- package/dist-lib/hooks/useOrderNodeTrace.js +26 -0
- package/dist-lib/hooks/useOrderTrace.d.ts +74 -0
- package/dist-lib/hooks/useOrderTrace.d.ts.map +1 -0
- package/dist-lib/hooks/useOrderTrace.js +134 -0
- package/dist-lib/hooks/useOrderVersies.d.ts +47 -0
- package/dist-lib/hooks/useOrderVersies.d.ts.map +1 -0
- package/dist-lib/hooks/useOrderVersies.js +180 -0
- package/dist-lib/hooks/useRuleEngine.d.ts +1 -0
- package/dist-lib/hooks/useRuleEngine.d.ts.map +1 -1
- package/dist-lib/hooks/useRuleEngine.js +1 -0
- package/dist-lib/hooks/useShippingNoteStatus.d.ts +29 -0
- package/dist-lib/hooks/useShippingNoteStatus.d.ts.map +1 -0
- package/dist-lib/hooks/useShippingNoteStatus.js +107 -0
- package/dist-lib/hooks/useWerktijden.d.ts +33 -0
- package/dist-lib/hooks/useWerktijden.d.ts.map +1 -0
- package/dist-lib/hooks/useWerktijden.js +88 -0
- package/dist-lib/hooks/useWerkwijzeStatus.d.ts +12 -1
- package/dist-lib/hooks/useWerkwijzeStatus.d.ts.map +1 -1
- package/dist-lib/hooks/useWerkwijzeStatus.js +60 -4
- package/dist-lib/index.d.ts +13 -0
- package/dist-lib/index.d.ts.map +1 -1
- package/dist-lib/index.js +13 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +1600 -54
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +1600 -54
- 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/moduleClient.d.ts +1600 -54
- package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +1618 -50
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/cartPlanRequests.server.d.ts +1 -1
- package/dist-lib/lib/cartPlanRequests.server.d.ts.map +1 -1
- package/dist-lib/lib/cartPlanRequests.server.js +49 -8
- package/dist-lib/lib/floridayDocuments.functions.d.ts +4644 -6
- package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.functions.js +1 -1
- package/dist-lib/lib/floridayDocuments.server.d.ts +14 -0
- package/dist-lib/lib/floridayDocuments.server.d.ts.map +1 -1
- package/dist-lib/lib/floridayDocuments.server.js +58 -0
- package/dist-lib/lib/floridayGuard.server.d.ts +2 -2
- package/dist-lib/lib/floridayGuard.server.d.ts.map +1 -1
- package/dist-lib/lib/floridayGuard.server.js +34 -5
- package/dist-lib/lib/floridayPush.functions.d.ts +1600 -54
- package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
- package/dist-lib/lib/floridayPush.functions.js +1 -1
- package/dist-lib/lib/flowGraph.d.ts +43 -0
- package/dist-lib/lib/flowGraph.d.ts.map +1 -0
- package/dist-lib/lib/flowGraph.js +153 -0
- package/dist-lib/lib/flowNodes.d.ts +23 -0
- package/dist-lib/lib/flowNodes.d.ts.map +1 -0
- package/dist-lib/lib/flowNodes.js +58 -0
- package/dist-lib/lib/flowRoute.d.ts +107 -0
- package/dist-lib/lib/flowRoute.d.ts.map +1 -0
- package/dist-lib/lib/flowRoute.js +280 -0
- package/dist-lib/lib/flowTree.d.ts +64 -0
- package/dist-lib/lib/flowTree.d.ts.map +1 -0
- package/dist-lib/lib/flowTree.js +519 -0
- package/dist-lib/lib/handlers/index.d.ts +1 -0
- package/dist-lib/lib/handlers/index.d.ts.map +1 -1
- package/dist-lib/lib/handlers/index.js +1 -0
- package/dist-lib/lib/handlers/logistics-shipping-note-now.server.d.ts +3 -0
- package/dist-lib/lib/handlers/logistics-shipping-note-now.server.d.ts.map +1 -0
- package/dist-lib/lib/handlers/logistics-shipping-note-now.server.js +100 -0
- package/dist-lib/lib/handlers/logistics-tick.server.d.ts.map +1 -1
- package/dist-lib/lib/handlers/logistics-tick.server.js +97 -2
- package/dist-lib/lib/loadCarrierPlanner.d.ts +2 -0
- package/dist-lib/lib/loadCarrierPlanner.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanner.js +18 -0
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +7740 -10
- package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.functions.js +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts +9 -0
- package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
- package/dist-lib/lib/loadCarrierPlanning.server.js +44 -17
- package/dist-lib/lib/logisticsPlanner.d.ts.map +1 -1
- package/dist-lib/lib/logisticsPlanner.js +14 -2
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +3096 -4
- package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalcJob.functions.js +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts +1600 -54
- package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
- package/dist-lib/lib/logisticsRecalculate.functions.js +1 -1
- package/dist-lib/lib/modulePrompts.d.ts +1 -0
- package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
- package/dist-lib/lib/modulePrompts.js +3482 -2610
- package/dist-lib/lib/nodeTrace.d.ts +61 -0
- package/dist-lib/lib/nodeTrace.d.ts.map +1 -0
- package/dist-lib/lib/nodeTrace.js +191 -0
- package/dist-lib/lib/pickQueueCleanup.server.d.ts +14 -0
- package/dist-lib/lib/pickQueueCleanup.server.d.ts.map +1 -0
- package/dist-lib/lib/pickQueueCleanup.server.js +80 -0
- package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
- package/dist-lib/lib/planQueue.server.js +140 -0
- package/dist-lib/lib/ruleEngineImpact.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineImpact.js +11 -4
- package/dist-lib/lib/ruleEngineSchema.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineSchema.js +57 -6
- package/dist-lib/lib/ruleEngineWizard.d.ts.map +1 -1
- package/dist-lib/lib/ruleEngineWizard.js +3 -1
- package/dist-lib/lib/shippingNoteQueue.server.d.ts +18 -0
- package/dist-lib/lib/shippingNoteQueue.server.d.ts.map +1 -0
- package/dist-lib/lib/shippingNoteQueue.server.js +304 -0
- package/dist-lib/lib/trace.server.d.ts +75 -0
- package/dist-lib/lib/trace.server.d.ts.map +1 -0
- package/dist-lib/lib/trace.server.js +75 -0
- package/dist-lib/lib/vakUitleg.d.ts +19 -0
- package/dist-lib/lib/vakUitleg.d.ts.map +1 -0
- package/dist-lib/lib/vakUitleg.js +132 -0
- package/package.json +26 -2
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts +0 -2
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.d.ts.map +0 -1
- package/dist-lib/components/rule-engine/FloridayConnectionBanner.js +0 -41
- package/dist-lib/integrations/supabase/client.d.ts +0 -20293
- package/dist-lib/integrations/supabase/client.d.ts.map +0 -1
- package/dist-lib/integrations/supabase/client.js +0 -13
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
// ============================================================================
|
|
6
6
|
import { createServerFn } from "@tanstack/react-start";
|
|
7
7
|
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
8
|
-
import { readableServerErrors } from "
|
|
8
|
+
import { readableServerErrors } from "./readableServerErrors";
|
|
9
9
|
/** Actieve Floriday-koppeling voor de banner in het instellingenscherm. */
|
|
10
10
|
export const getFloridayConnection = createServerFn({ method: "GET" })
|
|
11
11
|
.middleware([readableServerErrors, requireSupabaseAuth])
|
|
@@ -50,6 +50,20 @@ export interface FulfillmentSendResult {
|
|
|
50
50
|
* mag. Fail closed — is de poort niet leesbaar, dan versturen we niet.
|
|
51
51
|
*/
|
|
52
52
|
export declare function sendFlorydayFulfillmentOrder(supabase: SupabaseClient, body: unknown, caller?: string, orderRef?: string | null): Promise<FulfillmentSendResult>;
|
|
53
|
+
/**
|
|
54
|
+
* Officiele verzendbrief laten aanmaken in Floriday.
|
|
55
|
+
*
|
|
56
|
+
* Dit is geen afhandeling van de order: er wordt alleen een fulfillment-order
|
|
57
|
+
* (afleverbrief) aangemaakt zodat Floriday een officieel document heeft. De
|
|
58
|
+
* poort kent hiervoor een eigen schakelaar; staat die uit, dan gaat er niets
|
|
59
|
+
* weg en blijft de aanvraag wachten.
|
|
60
|
+
*/
|
|
61
|
+
export declare function createFlorydayDeliveryNote(supabase: SupabaseClient, orderRef: string, caller?: string): Promise<{
|
|
62
|
+
ok: boolean;
|
|
63
|
+
fulfillmentOrderId: string | null;
|
|
64
|
+
error: string | null;
|
|
65
|
+
skipped: boolean;
|
|
66
|
+
}>;
|
|
53
67
|
export type DocumentKind = "delivery-note" | "logistic-label" | "auction-letter" | "customer-sticker";
|
|
54
68
|
export interface PrintClaim {
|
|
55
69
|
fresh: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floridayDocuments.server.d.ts","sourceRoot":"","sources":["../../src/lib/floridayDocuments.server.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAKL,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,EACzB,MAAM,uDAAuD,CAAC;AAE/D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,IAAI,CAAC;IACT,WAAW,EAAE,mBAAmB,CAAC;IACjC,UAAU,EAAE;QACV,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;QACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,OAAO,CAAC;KACpB,GAAG,IAAI,CAAC;CACV;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAC/C,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,wBAAwB,GAAG,uBAAuB,CAAC,CAqB7D;AAED,sEAAsE;AACtE,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,GACnC,OAAO,CAAC,SAAS,CAAC,CAOpB;AAED,yDAAyD;AACzD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE;IAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GAC/D,OAAO,CAAC,mBAAmB,CAAC,CAW9B;AAED,2EAA2E;AAC3E,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QACP,EAAE,EAAE,OAAO,CAAC;QACZ,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,wEAAwE;IACxE,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,wBAAsB,4BAA4B,CAChD,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,OAAO,EACb,MAAM,SAAqB,EAC3B,QAAQ,GAAE,MAAM,GAAG,IAAW,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAgChC;
|
|
1
|
+
{"version":3,"file":"floridayDocuments.server.d.ts","sourceRoot":"","sources":["../../src/lib/floridayDocuments.server.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,64 @@ export async function sendFlorydayFulfillmentOrder(supabase, body, caller = "log
|
|
|
98
98
|
});
|
|
99
99
|
return result;
|
|
100
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* Officiele verzendbrief laten aanmaken in Floriday.
|
|
103
|
+
*
|
|
104
|
+
* Dit is geen afhandeling van de order: er wordt alleen een fulfillment-order
|
|
105
|
+
* (afleverbrief) aangemaakt zodat Floriday een officieel document heeft. De
|
|
106
|
+
* poort kent hiervoor een eigen schakelaar; staat die uit, dan gaat er niets
|
|
107
|
+
* weg en blijft de aanvraag wachten.
|
|
108
|
+
*/
|
|
109
|
+
export async function createFlorydayDeliveryNote(supabase, orderRef, caller = "logistiek-engine") {
|
|
110
|
+
const { floridayStatusGuard, logFloridaySend } = await import("./floridayGuard.server.js");
|
|
111
|
+
const decision = await floridayStatusGuard(supabase, {
|
|
112
|
+
orderRef,
|
|
113
|
+
action: "delivery_note_create",
|
|
114
|
+
requireApproval: false,
|
|
115
|
+
module: caller,
|
|
116
|
+
});
|
|
117
|
+
if (!decision.allowed) {
|
|
118
|
+
return {
|
|
119
|
+
ok: false,
|
|
120
|
+
fulfillmentOrderId: null,
|
|
121
|
+
skipped: true,
|
|
122
|
+
error: decision.reason ?? "Een verzendbrief aanmaken in Floriday is niet toegestaan.",
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
const { buildFloridayPayload } = await import("./floridayPush.server.js");
|
|
126
|
+
const built = await buildFloridayPayload(supabase, orderRef);
|
|
127
|
+
if (!built.ok) {
|
|
128
|
+
return { ok: false, fulfillmentOrderId: null, skipped: false, error: built.error };
|
|
129
|
+
}
|
|
130
|
+
try {
|
|
131
|
+
const result = (await runFulfillmentOrderSend(supabase, built.payload, caller));
|
|
132
|
+
const payload = result?.payload ?? null;
|
|
133
|
+
const ok = (payload?.ok ?? result?.ok) === true;
|
|
134
|
+
const error = payload?.error ?? result?.error ?? null;
|
|
135
|
+
await logFloridaySend(supabase, {
|
|
136
|
+
orderRef,
|
|
137
|
+
action: "delivery_note_create",
|
|
138
|
+
ok,
|
|
139
|
+
httpStatus: typeof result?.status === "number" ? result.status : null,
|
|
140
|
+
detail: error ?? null,
|
|
141
|
+
module: caller,
|
|
142
|
+
});
|
|
143
|
+
return {
|
|
144
|
+
ok,
|
|
145
|
+
fulfillmentOrderId: payload?.fulfillmentOrderId ?? null,
|
|
146
|
+
skipped: false,
|
|
147
|
+
error: ok ? null : (error ?? "Floriday gaf geen bevestiging op de verzendbrief."),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
catch (e) {
|
|
151
|
+
return {
|
|
152
|
+
ok: false,
|
|
153
|
+
fulfillmentOrderId: null,
|
|
154
|
+
skipped: false,
|
|
155
|
+
error: String(e?.message ?? e),
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
}
|
|
101
159
|
/** Claim een printregel. fresh=false betekent: er is al geprint. */
|
|
102
160
|
export async function claimDocumentPrint(supabase, args) {
|
|
103
161
|
const { data: existing } = await supabase
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import type { SupabaseClient } from "@supabase/supabase-js";
|
|
2
|
-
export type FloridayGuardAction = "fulfillment_order_send" | "queue_push" | "status_update" | "load_carrier_update";
|
|
2
|
+
export type FloridayGuardAction = "fulfillment_order_send" | "queue_push" | "status_update" | "load_carrier_update" | "stock_publish" | "trade_item_update" | "delivery_note_create";
|
|
3
3
|
export interface FloridayGuardDecision {
|
|
4
4
|
allowed: boolean;
|
|
5
5
|
/** Leesbare reden waarom er niet verstuurd mag worden. */
|
|
6
6
|
reason: string | null;
|
|
7
7
|
/** Machineleesbaar, om op te kunnen filteren. */
|
|
8
|
-
code: "toegestaan" | "schakelaar_uit" | "schakelaar_onleesbaar" | "poort_ontbreekt" | "niet_goedgekeurd";
|
|
8
|
+
code: "toegestaan" | "schakelaar_uit" | "schakelaar_onleesbaar" | "poort_ontbreekt" | "onbekende_actie" | "niet_goedgekeurd";
|
|
9
9
|
}
|
|
10
10
|
/** Verstuurde poging vastleggen, zodat achteraf aantoonbaar is wat wij deden. */
|
|
11
11
|
export declare function logFloridaySend(sb: SupabaseClient, args: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floridayGuard.server.d.ts","sourceRoot":"","sources":["../../src/lib/floridayGuard.server.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAC3B,wBAAwB,GACxB,YAAY,GACZ,eAAe,GACf,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"floridayGuard.server.d.ts","sourceRoot":"","sources":["../../src/lib/floridayGuard.server.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAC3B,wBAAwB,GACxB,YAAY,GACZ,eAAe,GACf,qBAAqB,GACrB,eAAe,GACf,mBAAmB,GACnB,sBAAsB,CAAC;AAqB3B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,0DAA0D;IAC1D,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iDAAiD;IACjD,IAAI,EACA,YAAY,GACZ,gBAAgB,GAChB,uBAAuB,GACvB,iBAAiB,GACjB,iBAAiB,GACjB,kBAAkB,CAAC;CACxB;AAgCD,iFAAiF;AACjF,wBAAsB,eAAe,CACnC,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE;IACJ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAcf;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,cAAc,EAClB,IAAI,EAAE;IACJ,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,mBAAmB,CAAC;IAC5B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,qBAAqB,CAAC,CAkEhC"}
|
|
@@ -16,6 +16,23 @@
|
|
|
16
16
|
// Geen omgevingswaarden in dit bestand: de shell-aanduiding komt uit de
|
|
17
17
|
// omgeving en blijft leeg als die er niet is.
|
|
18
18
|
// ============================================================================
|
|
19
|
+
/** Elke actie die deze module kent. Staat een actie hier niet in, dan gaat er niets weg. */
|
|
20
|
+
const BEKENDE_ACTIES = [
|
|
21
|
+
"fulfillment_order_send",
|
|
22
|
+
"queue_push",
|
|
23
|
+
"status_update",
|
|
24
|
+
"load_carrier_update",
|
|
25
|
+
"stock_publish",
|
|
26
|
+
"trade_item_update",
|
|
27
|
+
"delivery_note_create",
|
|
28
|
+
];
|
|
29
|
+
/** Acties die om een goedgekeurde karrencontrole vragen. */
|
|
30
|
+
const ORDERGEBONDEN = [
|
|
31
|
+
"fulfillment_order_send",
|
|
32
|
+
"queue_push",
|
|
33
|
+
"status_update",
|
|
34
|
+
"load_carrier_update",
|
|
35
|
+
];
|
|
19
36
|
/** Naam van de shell waarin deze module draait; leeg als die ontbreekt. */
|
|
20
37
|
function shellName() {
|
|
21
38
|
const env = globalThis.process
|
|
@@ -64,27 +81,39 @@ export async function logFloridaySend(sb, args) {
|
|
|
64
81
|
export async function floridayStatusGuard(sb, args) {
|
|
65
82
|
const module = args.module ?? "logistiek-engine";
|
|
66
83
|
const orderRef = args.orderRef ?? null;
|
|
67
|
-
//
|
|
84
|
+
// 0. Onbekende actie? Dan weten we niet welke schakelaar geldt: niet versturen.
|
|
85
|
+
if (!BEKENDE_ACTIES.includes(args.action)) {
|
|
86
|
+
const reason = `Onbekende actie "${args.action}" richting Floriday; er wordt niets verstuurd.`;
|
|
87
|
+
await logRefusal(sb, orderRef, reason, args.action, module);
|
|
88
|
+
return { allowed: false, reason, code: "onbekende_actie" };
|
|
89
|
+
}
|
|
90
|
+
// 1. Staat de bijbehorende schakelaar aan? Alles behalve true is "nee".
|
|
68
91
|
let enabled = null;
|
|
69
92
|
try {
|
|
70
|
-
const { data, error } = await sb.rpc("
|
|
93
|
+
const { data, error } = await sb.rpc("logistics_floriday_write_allowed", {
|
|
94
|
+
_action: args.action,
|
|
95
|
+
});
|
|
71
96
|
enabled = error ? null : data === true;
|
|
72
97
|
}
|
|
73
98
|
catch {
|
|
74
99
|
enabled = null;
|
|
75
100
|
}
|
|
76
101
|
if (enabled === null) {
|
|
77
|
-
const reason = "De poort op
|
|
102
|
+
const reason = "De poort op schrijfacties kan niet gelezen worden in deze omgeving; er wordt niets naar Floriday gestuurd.";
|
|
78
103
|
await logRefusal(sb, orderRef, reason, args.action, module);
|
|
79
104
|
return { allowed: false, reason, code: "poort_ontbreekt" };
|
|
80
105
|
}
|
|
81
106
|
if (!enabled) {
|
|
82
|
-
const reason =
|
|
107
|
+
const reason = args.action === "delivery_note_create"
|
|
108
|
+
? "Een verzendbrief laten aanmaken in Floriday staat uit in de actieve werkwijze."
|
|
109
|
+
: ORDERGEBONDEN.includes(args.action)
|
|
110
|
+
? "Statussen wijzigen in Floriday staat uit in de actieve werkwijze."
|
|
111
|
+
: "Voorraad doorgeven aan Floriday staat uit in de actieve werkwijze.";
|
|
83
112
|
await logRefusal(sb, orderRef, reason, args.action, module);
|
|
84
113
|
return { allowed: false, reason, code: "schakelaar_uit" };
|
|
85
114
|
}
|
|
86
115
|
// 2. Ordergebonden acties vragen om een goedgekeurde karrencontrole.
|
|
87
|
-
if (args.requireApproval !== false && orderRef) {
|
|
116
|
+
if (args.requireApproval !== false && orderRef && ORDERGEBONDEN.includes(args.action)) {
|
|
88
117
|
let approved = null;
|
|
89
118
|
try {
|
|
90
119
|
const { data, error } = await sb.rpc("logistics_floriday_order_approved", {
|