@flowselections/logistiek-engine 1.0.13 → 1.0.15

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 (50) hide show
  1. package/README.md +24 -24
  2. package/dist-lib/components/FloridayPushCard.d.ts.map +1 -1
  3. package/dist-lib/components/FloridayPushCard.js +7 -2
  4. package/dist-lib/components/PrintjobsCard.d.ts.map +1 -1
  5. package/dist-lib/components/PrintjobsCard.js +3 -1
  6. package/dist-lib/hooks/useFloridayPushes.d.ts +7 -0
  7. package/dist-lib/hooks/useFloridayPushes.d.ts.map +1 -1
  8. package/dist-lib/hooks/useFloridayPushes.js +11 -0
  9. package/dist-lib/hooks/usePrintjobs.d.ts +1 -0
  10. package/dist-lib/hooks/usePrintjobs.d.ts.map +1 -1
  11. package/dist-lib/hooks/usePrintjobs.js +17 -1
  12. package/dist-lib/integrations/supabase/auth-middleware.d.ts +336 -0
  13. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  14. package/dist-lib/integrations/supabase/client.d.ts +1516 -159
  15. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  16. package/dist-lib/integrations/supabase/client.server.d.ts +336 -0
  17. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  18. package/dist-lib/integrations/supabase/moduleClient.d.ts +336 -0
  19. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
  20. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts +6 -0
  21. package/dist-lib/integrations/supabase/previewAuthStorage.d.ts.map +1 -0
  22. package/dist-lib/integrations/supabase/previewAuthStorage.js +92 -0
  23. package/dist-lib/integrations/supabase/types.d.ts +343 -0
  24. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  25. package/dist-lib/lib/bulkLoadCarrierPlanning.server.d.ts +2 -0
  26. package/dist-lib/lib/bulkLoadCarrierPlanning.server.d.ts.map +1 -1
  27. package/dist-lib/lib/bulkLoadCarrierPlanning.server.js +11 -0
  28. package/dist-lib/lib/floridayDocuments.functions.d.ts +1008 -0
  29. package/dist-lib/lib/floridayDocuments.functions.d.ts.map +1 -1
  30. package/dist-lib/lib/floridayPush.functions.d.ts +336 -0
  31. package/dist-lib/lib/floridayPush.functions.d.ts.map +1 -1
  32. package/dist-lib/lib/floridayPush.server.d.ts +12 -0
  33. package/dist-lib/lib/floridayPush.server.d.ts.map +1 -1
  34. package/dist-lib/lib/floridayPush.server.js +41 -9
  35. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts +1685 -30
  36. package/dist-lib/lib/loadCarrierPlanning.functions.d.ts.map +1 -1
  37. package/dist-lib/lib/loadCarrierPlanning.server.d.ts +27 -2
  38. package/dist-lib/lib/loadCarrierPlanning.server.d.ts.map +1 -1
  39. package/dist-lib/lib/loadCarrierPlanning.server.js +162 -30
  40. package/dist-lib/lib/loadCarrierTaskSync.server.js +1 -1
  41. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts +672 -0
  42. package/dist-lib/lib/logisticsRecalcJob.functions.d.ts.map +1 -1
  43. package/dist-lib/lib/logisticsRecalculate.functions.d.ts +336 -0
  44. package/dist-lib/lib/logisticsRecalculate.functions.d.ts.map +1 -1
  45. package/dist-lib/lib/modulePrompts.d.ts.map +1 -1
  46. package/dist-lib/lib/modulePrompts.js +1009 -970
  47. package/dist-lib/lib/planQueue.server.d.ts +2 -0
  48. package/dist-lib/lib/planQueue.server.d.ts.map +1 -1
  49. package/dist-lib/lib/planQueue.server.js +22 -4
  50. package/package.json +1 -1
package/README.md CHANGED
@@ -1,24 +1,24 @@
1
- # logistiek Engine
2
-
3
- blank project start
4
-
5
- This project was built with [Lovable](https://lovable.dev).
6
-
7
- ## Build with Lovable
8
-
9
- Continue developing this project in the [Lovable editor](https://lovable.dev/projects/316ec9c5-0f01-408a-b7ec-3d4dccf9b65d).
10
-
11
- - **Ship faster**: describe what you want to build and Lovable handles the code.
12
- - **Stay in sync**: every change made in Lovable is committed straight to this repository.
13
- - **Full ownership**: this code is yours. Push to `main` on GitHub and your changes sync back into Lovable, ready for your next prompt.
14
-
15
- ## Development
16
-
17
- Prefer working locally? You need Node.js and npm — [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating).
18
-
19
- ```sh
20
- git clone <this-repository-url>
21
- cd <repository-name>
22
- npm i
23
- npm run dev
24
- ```
1
+ # logistiek Engine
2
+
3
+ blank project start
4
+
5
+ This project was built with [Lovable](https://lovable.dev).
6
+
7
+ ## Build with Lovable
8
+
9
+ Continue developing this project in the [Lovable editor](https://lovable.dev/projects/316ec9c5-0f01-408a-b7ec-3d4dccf9b65d).
10
+
11
+ - **Ship faster**: describe what you want to build and Lovable handles the code.
12
+ - **Stay in sync**: every change made in Lovable is committed straight to this repository.
13
+ - **Full ownership**: this code is yours. Push to `main` on GitHub and your changes sync back into Lovable, ready for your next prompt.
14
+
15
+ ## Development
16
+
17
+ Prefer working locally? You need Node.js and npm — [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating).
18
+
19
+ ```sh
20
+ git clone <this-repository-url>
21
+ cd <repository-name>
22
+ npm i
23
+ npm run dev
24
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"FloridayPushCard.d.ts","sourceRoot":"","sources":["../../src/components/FloridayPushCard.tsx"],"names":[],"mappings":"AAgCA,wBAAgB,gBAAgB,gCA+D/B"}
1
+ {"version":3,"file":"FloridayPushCard.d.ts","sourceRoot":"","sources":["../../src/components/FloridayPushCard.tsx"],"names":[],"mappings":"AAkCA,wBAAgB,gBAAgB,gCAgE/B"}
@@ -4,7 +4,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  // ============================================================================
5
5
  import { Badge, Button, Card, CardContent, CardDescription, CardHeader, CardTitle, Skeleton, } from "@flowselections/core";
6
6
  import { CheckCircle2, RefreshCw, Send } from "lucide-react";
7
- import { PUSH_STATUS_LABELS, useFloridayPushes } from "../hooks/useFloridayPushes";
7
+ import { PUSH_STATUS_LABELS, isEindstatus, useFloridayPushes } from "../hooks/useFloridayPushes";
8
8
  function tijd(value) {
9
9
  if (!value)
10
10
  return "-";
@@ -20,12 +20,17 @@ function variantVoor(status) {
20
20
  return "destructive";
21
21
  if (status === "sent")
22
22
  return "secondary";
23
+ if (status === "already_fulfilled")
24
+ return "secondary";
25
+ if (status === "not_applicable")
26
+ return "outline";
23
27
  return "outline";
24
28
  }
25
29
  export function FloridayPushCard() {
26
30
  const { pushes, loading, reload, opnieuw } = useFloridayPushes();
27
31
  const safe = Array.isArray(pushes) ? pushes : [];
28
- const openstaand = safe.filter((p) => p.status !== "sent");
32
+ // Alleen rijen die nog aandacht vragen; eindstatussen vallen af.
33
+ const openstaand = safe.filter((p) => !isEindstatus(p.status));
29
34
  return (_jsxs(Card, { children: [_jsxs(CardHeader, { className: "flex flex-row items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsxs(CardTitle, { className: "flex items-center gap-2", children: [_jsx(Send, { className: "h-4 w-4" }), "Doorgeven aan Floriday"] }), _jsx(CardDescription, { children: "De indeling wordt automatisch op de achtergrond doorgegeven. Wijzig je iets handmatig, dan gaat de nieuwe indeling vanzelf mee." })] }), _jsxs(Button, { variant: "outline", size: "sm", onClick: () => void reload(), children: [_jsx(RefreshCw, { className: "mr-1 h-4 w-4" }), "Vernieuwen"] })] }), _jsx(CardContent, { className: "space-y-3", children: loading ? (_jsx(Skeleton, { className: "h-24 w-full" })) : safe.length === 0 ? (_jsx("p", { className: "text-muted-foreground text-sm", children: "Er is nog niets doorgegeven." })) : openstaand.length === 0 ? (_jsxs("p", { className: "flex items-center gap-2 text-sm", children: [_jsx(CheckCircle2, { className: "h-4 w-4 text-emerald-500" }), "Alles is doorgegeven aan Floriday."] })) : (_jsx("ul", { className: "divide-border divide-y", children: openstaand.map((p) => (_jsxs("li", { className: "flex items-start justify-between gap-3 py-2", children: [_jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium", children: p.order_ref }), _jsx(Badge, { variant: variantVoor(p.status), children: PUSH_STATUS_LABELS[p.status] ?? p.status })] }), _jsx("p", { className: "text-muted-foreground text-xs", children: p.status === "failed"
30
35
  ? `Mislukt na ${p.attempts} pogingen · ${tijd(p.last_error_at)}`
31
36
  : `Volgende poging ${tijd(p.next_attempt_at)}` }), p.last_error ? (_jsx("p", { className: "text-muted-foreground mt-1 truncate text-xs", children: p.last_error })) : null] }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => void opnieuw(p.order_ref), children: "Opnieuw proberen" })] }, p.id))) })) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"PrintjobsCard.d.ts","sourceRoot":"","sources":["../../src/components/PrintjobsCard.tsx"],"names":[],"mappings":"AAiCA,wBAAgB,aAAa,gCA8D5B"}
1
+ {"version":3,"file":"PrintjobsCard.d.ts","sourceRoot":"","sources":["../../src/components/PrintjobsCard.tsx"],"names":[],"mappings":"AAiCA,wBAAgB,aAAa,gCAiE5B"}
@@ -31,5 +31,7 @@ export function PrintjobsCard() {
31
31
  const zichtbaar = [...vastgelopen, ...wachtend].slice(0, 10);
32
32
  return (_jsxs(Card, { children: [_jsxs(CardHeader, { className: "flex flex-row items-start justify-between gap-3", children: [_jsxs("div", { children: [_jsxs(CardTitle, { className: "flex items-center gap-2", children: [_jsx(Printer, { className: "h-4 w-4 text-muted-foreground" }), "Printopdrachten"] }), _jsx(CardDescription, { children: vastgelopen.length > 0
33
33
  ? `${vastgelopen.length} vastgelopen, ${wachtend.length} nog in de wachtrij.`
34
- : `${wachtend.length} opdracht(en) in de wachtrij.` })] }), _jsxs(Button, { variant: "outline", size: "sm", onClick: () => void reload(), children: [_jsx(RefreshCw, { className: "mr-1 h-4 w-4" }), "Vernieuwen"] })] }), _jsx(CardContent, { className: "space-y-3", children: loading ? (_jsx(Skeleton, { className: "h-24 w-full" })) : zichtbaar.length === 0 ? (_jsx("p", { className: "text-sm text-muted-foreground", children: "Geen openstaande of vastgelopen printopdrachten." })) : (zichtbaar.map((j) => (_jsx("div", { className: "rounded-lg border border-border p-3", children: _jsxs("div", { className: "flex flex-wrap items-start justify-between gap-2", children: [_jsxs("div", { children: [_jsxs("p", { className: "text-sm font-semibold", children: [j.documentnaam ?? "Pickdocument", j.documenttype ? ` · ${j.documenttype}` : ""] }), _jsxs("p", { className: "text-xs text-muted-foreground", children: [j.printerNaam ? `Printer: ${j.printerNaam}` : "Nog geen printer gekoppeld", j.layoutNaam ? ` · Ontwerp: ${j.layoutNaam}` : " · Nog geen ontwerp gekoppeld", " · ", tijd(j.createdAt)] }), j.foutmelding ? (_jsx("p", { className: "mt-1 text-xs text-destructive", children: j.foutmelding })) : null] }), _jsx(Badge, { variant: statusVariant(j.status), children: PRINTJOB_STATUS_LABEL[j.status] ?? j.status })] }) }, j.id)))) })] }));
34
+ : `${wachtend.length} opdracht(en) in de wachtrij.` })] }), _jsxs(Button, { variant: "outline", size: "sm", onClick: () => void reload(), children: [_jsx(RefreshCw, { className: "mr-1 h-4 w-4" }), "Vernieuwen"] })] }), _jsx(CardContent, { className: "space-y-3", children: loading ? (_jsx(Skeleton, { className: "h-24 w-full" })) : zichtbaar.length === 0 ? (_jsx("p", { className: "text-sm text-muted-foreground", children: "Geen openstaande of vastgelopen printopdrachten." })) : (zichtbaar.map((j) => (_jsx("div", { className: "rounded-lg border border-border p-3", children: _jsxs("div", { className: "flex flex-wrap items-start justify-between gap-2", children: [_jsxs("div", { children: [_jsxs("p", { className: "text-sm font-semibold", children: [j.documentnaam ?? "Pickdocument", j.documenttype ? ` · ${j.documenttype}` : ""] }), _jsxs("p", { className: "text-xs text-muted-foreground", children: [j.printplekNaam
35
+ ? `Printplek: ${j.printplekNaam}`
36
+ : "Nog geen printplek gekoppeld", j.printerNaam ? ` · Printer: ${j.printerNaam}` : "", j.layoutNaam ? ` · Ontwerp: ${j.layoutNaam}` : " · Nog geen ontwerp gekoppeld", " · ", tijd(j.createdAt)] }), j.foutmelding ? (_jsx("p", { className: "mt-1 text-xs text-destructive", children: j.foutmelding })) : null] }), _jsx(Badge, { variant: statusVariant(j.status), children: PRINTJOB_STATUS_LABEL[j.status] ?? j.status })] }) }, j.id)))) })] }));
35
37
  }
@@ -11,6 +11,13 @@ export interface FloridayPush {
11
11
  updated_at: string;
12
12
  }
13
13
  export declare const PUSH_STATUS_LABELS: Record<string, string>;
14
+ /**
15
+ * Eindstatussen: hier gebeurt niets meer. Alleen statussen die NIET in deze
16
+ * lijst staan vragen om aandacht. Expliciet, zodat een nieuwe statuswaarde
17
+ * niet vanzelf als "aandacht nodig" in het overzicht verschijnt.
18
+ */
19
+ export declare const PUSH_EINDSTATUSSEN: readonly ["sent", "already_fulfilled", "not_applicable"];
20
+ export declare function isEindstatus(status: string): boolean;
14
21
  export declare function useFloridayPushes(): {
15
22
  pushes: FloridayPush[];
16
23
  loading: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useFloridayPushes.d.ts","sourceRoot":"","sources":["../../src/hooks/useFloridayPushes.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKrD,CAAC;AAEF,wBAAgB,iBAAiB;;;;wBAsCZ,MAAM;EAa1B"}
1
+ {"version":3,"file":"useFloridayPushes.d.ts","sourceRoot":"","sources":["../../src/hooks/useFloridayPushes.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAOrD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,0DAA2D,CAAC;AAE3F,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,wBAAgB,iBAAiB;;;;wBAsCZ,MAAM;EAa1B"}
@@ -11,7 +11,18 @@ export const PUSH_STATUS_LABELS = {
11
11
  sending: "Bezig met versturen",
12
12
  sent: "Verstuurd",
13
13
  failed: "Mislukt",
14
+ already_fulfilled: "Al afgehandeld bij Floriday",
15
+ not_applicable: "Niet van toepassing",
14
16
  };
17
+ /**
18
+ * Eindstatussen: hier gebeurt niets meer. Alleen statussen die NIET in deze
19
+ * lijst staan vragen om aandacht. Expliciet, zodat een nieuwe statuswaarde
20
+ * niet vanzelf als "aandacht nodig" in het overzicht verschijnt.
21
+ */
22
+ export const PUSH_EINDSTATUSSEN = ["sent", "already_fulfilled", "not_applicable"];
23
+ export function isEindstatus(status) {
24
+ return PUSH_EINDSTATUSSEN.includes(status);
25
+ }
15
26
  export function useFloridayPushes() {
16
27
  const [pushes, setPushes] = useState([]);
17
28
  const [loading, setLoading] = useState(true);
@@ -7,6 +7,7 @@ export interface Printjob {
7
7
  pogingen: number;
8
8
  printerNaam: string | null;
9
9
  layoutNaam: string | null;
10
+ printplekNaam: string | null;
10
11
  externJobId: string | null;
11
12
  createdAt: string;
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"usePrintjobs.d.ts","sourceRoot":"","sources":["../../src/hooks/usePrintjobs.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMxD,CAAC;AAIF,wBAAgB,YAAY,CAAC,KAAK,SAAK;;;;EAoDtC"}
1
+ {"version":3,"file":"usePrintjobs.d.ts","sourceRoot":"","sources":["../../src/hooks/usePrintjobs.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAMxD,CAAC;AAIF,wBAAgB,YAAY,CAAC,KAAK,SAAK;;;;EA2EtC"}
@@ -21,10 +21,23 @@ export function usePrintjobs(limit = 25) {
21
21
  try {
22
22
  const { data } = await db()
23
23
  .from("print_jobs")
24
- .select("id, documentnaam, documenttype, status, foutmelding, pogingen, extern_job_id, created_at, printers(naam), document_layouts(naam)")
24
+ .select("id, documentnaam, documenttype, status, foutmelding, pogingen, extern_job_id, created_at, payload, printers(naam), document_layouts(naam)")
25
25
  .order("created_at", { ascending: false })
26
26
  .limit(limit);
27
27
  const rows = Array.isArray(data) ? data : [];
28
+ const plekIds = Array.from(new Set(rows
29
+ .map((r) => r?.payload?.print_plek_id)
30
+ .filter((v) => typeof v === "string" && v.length > 0)));
31
+ const plekNamen = new Map();
32
+ if (plekIds.length > 0) {
33
+ const { data: plekken } = await db()
34
+ .from("print_plekken")
35
+ .select("id, naam")
36
+ .in("id", plekIds);
37
+ for (const p of Array.isArray(plekken) ? plekken : []) {
38
+ plekNamen.set(String(p.id), String(p.naam ?? ""));
39
+ }
40
+ }
28
41
  setJobs(rows.map((r) => ({
29
42
  id: String(r.id),
30
43
  documentnaam: r.documentnaam ?? null,
@@ -34,6 +47,9 @@ export function usePrintjobs(limit = 25) {
34
47
  pogingen: Number(r.pogingen ?? 0),
35
48
  printerNaam: r.printers?.naam ?? null,
36
49
  layoutNaam: r.document_layouts?.naam ?? null,
50
+ printplekNaam: typeof r?.payload?.print_plek_id === "string"
51
+ ? (plekNamen.get(r.payload.print_plek_id) ?? null)
52
+ : null,
37
53
  externJobId: r.extern_job_id ?? null,
38
54
  createdAt: String(r.created_at ?? ""),
39
55
  })));
@@ -674,6 +674,99 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
674
674
  };
675
675
  Relationships: [];
676
676
  };
677
+ artikelen_cache: {
678
+ Row: {
679
+ artikelcode: string;
680
+ bron: string;
681
+ bruto_prijs_cent: number | null;
682
+ created_at: string;
683
+ eenheid: string;
684
+ fabrikant: string | null;
685
+ fetched_at: string;
686
+ gtin: string | null;
687
+ id: string;
688
+ naam: string;
689
+ netto_prijs_cent: number | null;
690
+ omschrijving: string | null;
691
+ raw: import("./types").Json;
692
+ updated_at: string;
693
+ valuta: string;
694
+ };
695
+ Insert: {
696
+ artikelcode: string;
697
+ bron?: string;
698
+ bruto_prijs_cent?: number | null;
699
+ created_at?: string;
700
+ eenheid?: string;
701
+ fabrikant?: string | null;
702
+ fetched_at?: string;
703
+ gtin?: string | null;
704
+ id?: string;
705
+ naam: string;
706
+ netto_prijs_cent?: number | null;
707
+ omschrijving?: string | null;
708
+ raw?: import("./types").Json;
709
+ updated_at?: string;
710
+ valuta?: string;
711
+ };
712
+ Update: {
713
+ artikelcode?: string;
714
+ bron?: string;
715
+ bruto_prijs_cent?: number | null;
716
+ created_at?: string;
717
+ eenheid?: string;
718
+ fabrikant?: string | null;
719
+ fetched_at?: string;
720
+ gtin?: string | null;
721
+ id?: string;
722
+ naam?: string;
723
+ netto_prijs_cent?: number | null;
724
+ omschrijving?: string | null;
725
+ raw?: import("./types").Json;
726
+ updated_at?: string;
727
+ valuta?: string;
728
+ };
729
+ Relationships: [];
730
+ };
731
+ artikelen_veldconfig: {
732
+ Row: {
733
+ bron_pad: string;
734
+ created_at: string;
735
+ id: string;
736
+ label: string;
737
+ sort_order: number;
738
+ type: string;
739
+ updated_at: string;
740
+ veld_key: string;
741
+ zichtbaar_in_detail: boolean;
742
+ zichtbaar_in_lijst: boolean;
743
+ };
744
+ Insert: {
745
+ bron_pad: string;
746
+ created_at?: string;
747
+ id?: string;
748
+ label: string;
749
+ sort_order?: number;
750
+ type?: string;
751
+ updated_at?: string;
752
+ veld_key: string;
753
+ zichtbaar_in_detail?: boolean;
754
+ zichtbaar_in_lijst?: boolean;
755
+ };
756
+ Update: {
757
+ bron_pad?: string;
758
+ created_at?: string;
759
+ id?: string;
760
+ label?: string;
761
+ sort_order?: number;
762
+ type?: string;
763
+ updated_at?: string;
764
+ veld_key?: string;
765
+ zichtbaar_in_detail?: boolean;
766
+ zichtbaar_in_lijst?: boolean;
767
+ };
768
+ Relationships: [];
769
+ };
677
770
  booking_items: {
678
771
  Row: {
679
772
  booking_id: string;
@@ -3146,6 +3239,48 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
3146
3239
  };
3147
3240
  Relationships: [];
3148
3241
  };
3242
+ document_printplek_printers: {
3243
+ Row: {
3244
+ created_at: string;
3245
+ documenttype: string;
3246
+ id: string;
3247
+ papierformaat: string | null;
3248
+ print_plek_id: string;
3249
+ printer_id: string | null;
3250
+ updated_at: string;
3251
+ };
3252
+ Insert: {
3253
+ created_at?: string;
3254
+ documenttype: string;
3255
+ id?: string;
3256
+ papierformaat?: string | null;
3257
+ print_plek_id: string;
3258
+ printer_id?: string | null;
3259
+ updated_at?: string;
3260
+ };
3261
+ Update: {
3262
+ created_at?: string;
3263
+ documenttype?: string;
3264
+ id?: string;
3265
+ papierformaat?: string | null;
3266
+ print_plek_id?: string;
3267
+ printer_id?: string | null;
3268
+ updated_at?: string;
3269
+ };
3270
+ Relationships: [{
3271
+ foreignKeyName: "document_printplek_printers_print_plek_id_fkey";
3272
+ columns: ["print_plek_id"];
3273
+ isOneToOne: false;
3274
+ referencedRelation: "print_plekken";
3275
+ referencedColumns: ["id"];
3276
+ }, {
3277
+ foreignKeyName: "document_printplek_printers_printer_id_fkey";
3278
+ columns: ["printer_id"];
3279
+ isOneToOne: false;
3280
+ referencedRelation: "printers";
3281
+ referencedColumns: ["id"];
3282
+ }];
3283
+ };
3149
3284
  document_werkplek_printers: {
3150
3285
  Row: {
3151
3286
  created_at: string;
@@ -9127,6 +9262,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
9127
9262
  last_error_at: string | null;
9128
9263
  last_error_code: string | null;
9129
9264
  last_gateway_status: number | null;
9265
+ last_queued_at: string | null;
9130
9266
  last_response: import("./types").Json | null;
9131
9267
  last_sent_hash: string | null;
9132
9268
  locked_by: string | null;
@@ -9150,6 +9286,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
9150
9286
  last_error_at?: string | null;
9151
9287
  last_error_code?: string | null;
9152
9288
  last_gateway_status?: number | null;
9289
+ last_queued_at?: string | null;
9153
9290
  last_response?: import("./types").Json | null;
9154
9291
  last_sent_hash?: string | null;
9155
9292
  locked_by?: string | null;
@@ -9173,6 +9310,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
9173
9310
  last_error_at?: string | null;
9174
9311
  last_error_code?: string | null;
9175
9312
  last_gateway_status?: number | null;
9313
+ last_queued_at?: string | null;
9176
9314
  last_response?: import("./types").Json | null;
9177
9315
  last_sent_hash?: string | null;
9178
9316
  locked_by?: string | null;
@@ -13343,6 +13481,99 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
13343
13481
  referencedColumns: ["id"];
13344
13482
  }];
13345
13483
  };
13484
+ print_plek_computers: {
13485
+ Row: {
13486
+ computer_naam: string;
13487
+ created_at: string;
13488
+ id: string;
13489
+ print_plek_id: string;
13490
+ updated_at: string;
13491
+ };
13492
+ Insert: {
13493
+ computer_naam: string;
13494
+ created_at?: string;
13495
+ id?: string;
13496
+ print_plek_id: string;
13497
+ updated_at?: string;
13498
+ };
13499
+ Update: {
13500
+ computer_naam?: string;
13501
+ created_at?: string;
13502
+ id?: string;
13503
+ print_plek_id?: string;
13504
+ updated_at?: string;
13505
+ };
13506
+ Relationships: [{
13507
+ foreignKeyName: "print_plek_computers_print_plek_id_fkey";
13508
+ columns: ["print_plek_id"];
13509
+ isOneToOne: false;
13510
+ referencedRelation: "print_plekken";
13511
+ referencedColumns: ["id"];
13512
+ }];
13513
+ };
13514
+ print_plek_koppelingen: {
13515
+ Row: {
13516
+ bron: string;
13517
+ bron_id: string;
13518
+ created_at: string;
13519
+ id: string;
13520
+ label: string | null;
13521
+ print_plek_id: string;
13522
+ updated_at: string;
13523
+ };
13524
+ Insert: {
13525
+ bron: string;
13526
+ bron_id: string;
13527
+ created_at?: string;
13528
+ id?: string;
13529
+ label?: string | null;
13530
+ print_plek_id: string;
13531
+ updated_at?: string;
13532
+ };
13533
+ Update: {
13534
+ bron?: string;
13535
+ bron_id?: string;
13536
+ created_at?: string;
13537
+ id?: string;
13538
+ label?: string | null;
13539
+ print_plek_id?: string;
13540
+ updated_at?: string;
13541
+ };
13542
+ Relationships: [{
13543
+ foreignKeyName: "print_plek_koppelingen_print_plek_id_fkey";
13544
+ columns: ["print_plek_id"];
13545
+ isOneToOne: false;
13546
+ referencedRelation: "print_plekken";
13547
+ referencedColumns: ["id"];
13548
+ }];
13549
+ };
13550
+ print_plekken: {
13551
+ Row: {
13552
+ actief: boolean;
13553
+ created_at: string;
13554
+ id: string;
13555
+ naam: string;
13556
+ omschrijving: string | null;
13557
+ updated_at: string;
13558
+ };
13559
+ Insert: {
13560
+ actief?: boolean;
13561
+ created_at?: string;
13562
+ id?: string;
13563
+ naam: string;
13564
+ omschrijving?: string | null;
13565
+ updated_at?: string;
13566
+ };
13567
+ Update: {
13568
+ actief?: boolean;
13569
+ created_at?: string;
13570
+ id?: string;
13571
+ naam?: string;
13572
+ omschrijving?: string | null;
13573
+ updated_at?: string;
13574
+ };
13575
+ Relationships: [];
13576
+ };
13346
13577
  print_queue_runners: {
13347
13578
  Row: {
13348
13579
  actief: boolean;
@@ -15497,6 +15728,45 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
15497
15728
  };
15498
15729
  Relationships: [];
15499
15730
  };
15731
+ stock_consumption_alerts: {
15732
+ Row: {
15733
+ alert_type: string;
15734
+ created_at: string;
15735
+ id: string;
15736
+ mutation_log_id: string | null;
15737
+ order_id: string | null;
15738
+ order_item_id: string | null;
15739
+ qty: number;
15740
+ reason: string | null;
15741
+ resolved_at: string | null;
15742
+ updated_at: string;
15743
+ };
15744
+ Insert: {
15745
+ alert_type: string;
15746
+ created_at?: string;
15747
+ id?: string;
15748
+ mutation_log_id?: string | null;
15749
+ order_id?: string | null;
15750
+ order_item_id?: string | null;
15751
+ qty?: number;
15752
+ reason?: string | null;
15753
+ resolved_at?: string | null;
15754
+ updated_at?: string;
15755
+ };
15756
+ Update: {
15757
+ alert_type?: string;
15758
+ created_at?: string;
15759
+ id?: string;
15760
+ mutation_log_id?: string | null;
15761
+ order_id?: string | null;
15762
+ order_item_id?: string | null;
15763
+ qty?: number;
15764
+ reason?: string | null;
15765
+ resolved_at?: string | null;
15766
+ updated_at?: string;
15767
+ };
15768
+ Relationships: [];
15769
+ };
15500
15770
  stock_import_runs: {
15501
15771
  Row: {
15502
15772
  connection_id: string | null;
@@ -21091,6 +21361,24 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
21091
21361
  };
21092
21362
  Returns: string;
21093
21363
  };
21364
+ logistics_floriday_finish_push_v3: {
21365
+ Args: {
21366
+ _error?: string;
21367
+ _error_code?: string;
21368
+ _fulfillment_order_id?: string;
21369
+ _gateway_status?: number;
21370
+ _id: string;
21371
+ _max_age_hours?: number;
21372
+ _max_attempts?: number;
21373
+ _outcome: string;
21374
+ _permanent?: boolean;
21375
+ _response?: import("./types").Json;
21376
+ _revision: number;
21377
+ _sent_hash?: string;
21378
+ _wait_max_age_hours?: number;
21379
+ };
21380
+ Returns: string;
21381
+ };
21094
21382
  logistics_floriday_prune_pushes: {
21095
21383
  Args: {
21096
21384
  _days?: number;
@@ -21151,6 +21439,14 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
21151
21439
  };
21152
21440
  Returns: import("./types").Json;
21153
21441
  };
21442
+ logistics_plan_block: {
21443
+ Args: {
21444
+ p_details?: import("./types").Json;
21445
+ p_order_ids: string[];
21446
+ p_reason: string;
21447
+ };
21448
+ Returns: number;
21449
+ };
21154
21450
  logistics_plan_buffer_sql: {
21155
21451
  Args: {
21156
21452
  p_buffer_id: string;
@@ -21519,6 +21815,12 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
21519
21815
  verwijderd: number;
21520
21816
  }[];
21521
21817
  };
21818
+ order_departure_proof: {
21819
+ Args: {
21820
+ p_order_id: string;
21821
+ };
21822
+ Returns: import("./types").Json;
21823
+ };
21522
21824
  order_number_prefix: {
21523
21825
  Args: {
21524
21826
  p_custom_fields?: import("./types").Json;
@@ -21726,6 +22028,14 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
21726
22028
  };
21727
22029
  Returns: import("./types").Json;
21728
22030
  };
22031
+ pick_print_plekken: {
22032
+ Args: never;
22033
+ Returns: {
22034
+ id: string;
22035
+ naam: string;
22036
+ omschrijving: string;
22037
+ }[];
22038
+ };
21729
22039
  pick_release_expired_locks: {
21730
22040
  Args: never;
21731
22041
  Returns: number;
@@ -21790,6 +22100,13 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
21790
22100
  isSetofReturn: false;
21791
22101
  };
21792
22102
  };
22103
+ pick_set_station_print_plek: {
22104
+ Args: {
22105
+ _print_plek_id: string;
22106
+ _station_id: string;
22107
+ };
22108
+ Returns: string;
22109
+ };
21793
22110
  pick_station_dashboard: {
21794
22111
  Args: never;
21795
22112
  Returns: {
@@ -21802,6 +22119,25 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
21802
22119
  waiting: number;
21803
22120
  }[];
21804
22121
  };
22122
+ pick_station_print_plek: {
22123
+ Args: {
22124
+ _station_id: string;
22125
+ };
22126
+ Returns: {
22127
+ naam: string;
22128
+ omschrijving: string;
22129
+ print_plek_id: string;
22130
+ }[];
22131
+ };
22132
+ pick_station_print_plekken: {
22133
+ Args: never;
22134
+ Returns: {
22135
+ naam: string;
22136
+ omschrijving: string;
22137
+ print_plek_id: string;
22138
+ station_id: string;
22139
+ }[];
22140
+ };
21805
22141
  pick_station_slugify: {
21806
22142
  Args: {
21807
22143
  _id: string;