@flowselections/floriday-authenticatie-module 1.0.89 → 1.0.91

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 (31) hide show
  1. package/dist-lib/components/floriday/FlorydayConnectionPage.d.ts.map +1 -1
  2. package/dist-lib/components/floriday/FlorydayConnectionPage.js +2 -1
  3. package/dist-lib/components/settings/FloricodeHealthBanner.d.ts +5 -0
  4. package/dist-lib/components/settings/FloricodeHealthBanner.d.ts.map +1 -0
  5. package/dist-lib/components/settings/FloricodeHealthBanner.js +27 -0
  6. package/dist-lib/components/settings/FloricodeSettingsCard.d.ts.map +1 -1
  7. package/dist-lib/components/settings/FloricodeSettingsCard.js +17 -2
  8. package/dist-lib/index.d.ts +1 -0
  9. package/dist-lib/index.d.ts.map +1 -1
  10. package/dist-lib/index.js +1 -0
  11. package/dist-lib/integrations/supabase/types.d.ts +166 -0
  12. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  13. package/dist-lib/lib/cron/sync-floricode-all.d.ts.map +1 -1
  14. package/dist-lib/lib/cron/sync-floricode-all.js +0 -2
  15. package/dist-lib/lib/floricode-regulatory-features.d.ts +1 -0
  16. package/dist-lib/lib/floricode-regulatory-features.d.ts.map +1 -1
  17. package/dist-lib/lib/floricode-regulatory-features.js +27 -12
  18. package/dist-lib/lib/floricode-sync-plan.d.ts +64 -0
  19. package/dist-lib/lib/floricode-sync-plan.d.ts.map +1 -0
  20. package/dist-lib/lib/floricode-sync-plan.js +54 -0
  21. package/dist-lib/lib/floricode-sync.server.d.ts +39 -7
  22. package/dist-lib/lib/floricode-sync.server.d.ts.map +1 -1
  23. package/dist-lib/lib/floricode-sync.server.js +131 -86
  24. package/dist-lib/lib/floricode.functions.d.ts +14 -0
  25. package/dist-lib/lib/floricode.functions.d.ts.map +1 -1
  26. package/dist-lib/lib/floricode.functions.js +26 -9
  27. package/dist-lib/lib/gateway/webhook-subscribe.d.ts.map +1 -1
  28. package/dist-lib/lib/gateway/webhook-subscribe.js +11 -1
  29. package/dist-lib/lib/module-version.d.ts +1 -1
  30. package/dist-lib/lib/module-version.js +1 -1
  31. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FlorydayConnectionPage.d.ts","sourceRoot":"","sources":["../../../src/components/floriday/FlorydayConnectionPage.tsx"],"names":[],"mappings":"AAMA,wBAAgB,sBAAsB,gCAgBrC"}
1
+ {"version":3,"file":"FlorydayConnectionPage.d.ts","sourceRoot":"","sources":["../../../src/components/floriday/FlorydayConnectionPage.tsx"],"names":[],"mappings":"AAOA,wBAAgB,sBAAsB,gCAiBrC"}
@@ -4,6 +4,7 @@ import { FloricodeSettingsCard } from "../settings/FloricodeSettingsCard.js";
4
4
  import { FlorydayWebhooksCard } from "./FlorydayWebhooksCard.js";
5
5
  import { FlorydayShellRoutesCard } from "./FlorydayShellRoutesCard.js";
6
6
  import { FlorydayCronStallBanner } from "./FlorydayCronStallBanner.js";
7
+ import { FloricodeHealthBanner } from "../settings/FloricodeHealthBanner.js";
7
8
  export function FlorydayConnectionPage() {
8
- return (_jsxs("main", { className: "p-6 max-w-4xl mx-auto space-y-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold", children: "Floriday koppeling" }), _jsx("p", { className: "text-sm text-muted-foreground mt-1", children: "Verbind je Floriday-account om automatisch gegevens uit te wisselen met het platform." })] }), _jsx(FlorydayCronStallBanner, {}), _jsx(FlorydaySettingsCard, {}), _jsx(FlorydayWebhooksCard, {}), _jsx(FlorydayShellRoutesCard, {}), _jsx(FloricodeSettingsCard, {})] }));
9
+ return (_jsxs("main", { className: "p-6 max-w-4xl mx-auto space-y-6", children: [_jsxs("div", { children: [_jsx("h1", { className: "text-2xl font-bold", children: "Floriday koppeling" }), _jsx("p", { className: "text-sm text-muted-foreground mt-1", children: "Verbind je Floriday-account om automatisch gegevens uit te wisselen met het platform." })] }), _jsx(FlorydayCronStallBanner, {}), _jsx(FloricodeHealthBanner, {}), _jsx(FlorydaySettingsCard, {}), _jsx(FlorydayWebhooksCard, {}), _jsx(FlorydayShellRoutesCard, {}), _jsx(FloricodeSettingsCard, {})] }));
9
10
  }
@@ -0,0 +1,5 @@
1
+ /** Waarschuwing voor de kaart en de pagina Floriday koppeling. Toont niets als alles goed is. */
2
+ export declare function FloricodeHealthBanner({ className }: {
3
+ className?: string;
4
+ }): import("react").JSX.Element | null;
5
+ //# sourceMappingURL=FloricodeHealthBanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FloricodeHealthBanner.d.ts","sourceRoot":"","sources":["../../../src/components/settings/FloricodeHealthBanner.tsx"],"names":[],"mappings":"AAMA,iGAAiG;AACjG,wBAAgB,qBAAqB,CAAC,EAAE,SAAS,EAAE,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,sCA6B1E"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useQuery } from "@tanstack/react-query";
3
+ import { useServerFn } from "@tanstack/react-start";
4
+ import { AlertTriangle } from "lucide-react";
5
+ import { getFloricodeCronStatus, getFloricodeSyncStatus } from "../../lib/floricode.functions.js";
6
+ import { classifyFloricodeSource } from "../../lib/floricode-sync-plan.js";
7
+ /** Waarschuwing voor de kaart en de pagina Floriday koppeling. Toont niets als alles goed is. */
8
+ export function FloricodeHealthBanner({ className }) {
9
+ const getStatus = useServerFn(getFloricodeSyncStatus);
10
+ const getCron = useServerFn(getFloricodeCronStatus);
11
+ const rows = useQuery({ queryKey: ["floricode-sync-status"], queryFn: () => getStatus(), refetchInterval: 60000 });
12
+ const cron = useQuery({ queryKey: ["floricode-cron-status"], queryFn: () => getCron(), refetchInterval: 60000 });
13
+ const now = Date.now();
14
+ const old = (rows.data ?? []).filter((r) => classifyFloricodeSource(r, now).stale && r.status !== "error");
15
+ const messages = [];
16
+ if (cron.data && !cron.data.scheduled) {
17
+ messages.push(cron.data.shellAddressMissing
18
+ ? "Floricode-gegevens worden niet automatisch bijgewerkt: het adres van je werkomgeving ontbreekt."
19
+ : "Floricode-gegevens worden nog niet automatisch bijgewerkt. Dit wordt binnen een uur vanzelf ingepland.");
20
+ }
21
+ if (old.length > 0) {
22
+ messages.push(`Deze Floricode-gegevens zijn ouder dan 7 dagen: ${old.map((r) => r.resource).join(", ")}.`);
23
+ }
24
+ if (messages.length === 0)
25
+ return null;
26
+ return (_jsx("div", { role: "alert", className: "rounded-md border border-amber-300 bg-amber-50 px-3 py-2 text-sm text-amber-900 " + (className ?? ""), children: _jsxs("div", { className: "flex items-start gap-2", children: [_jsx(AlertTriangle, { className: "mt-0.5 h-4 w-4 shrink-0" }), _jsx("div", { className: "space-y-0.5", children: messages.map((m) => _jsx("p", { children: m }, m)) })] }) }));
27
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"FloricodeSettingsCard.d.ts","sourceRoot":"","sources":["../../../src/components/settings/FloricodeSettingsCard.tsx"],"names":[],"mappings":"AAuDA,wBAAgB,qBAAqB,gCA4EpC"}
1
+ {"version":3,"file":"FloricodeSettingsCard.d.ts","sourceRoot":"","sources":["../../../src/components/settings/FloricodeSettingsCard.tsx"],"names":[],"mappings":"AAoEA,wBAAgB,qBAAqB,gCA4EpC"}
@@ -5,6 +5,21 @@ import { useServerFn } from "@tanstack/react-start";
5
5
  import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
6
6
  import { Card, Button, Input, Label, Badge, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, toast, } from "@flowselections/core";
7
7
  import { getFloricodeSettings, saveFloricodeCredentials, clearFloricodeCredentials, testFloricodeConnection, getFloricodeSyncStatus, triggerFloricodeResourceSync, resetFloricodeResourceCursor, } from "../../lib/floricode.functions.js";
8
+ import { FloricodeHealthBanner } from "./FloricodeHealthBanner.js";
9
+ import { classifyFloricodeSource } from "../../lib/floricode-sync-plan.js";
10
+ function sourceLabel(row) {
11
+ const v = classifyFloricodeSource(row, Date.now());
12
+ const nl = (n) => n.toLocaleString("nl-NL");
13
+ if (v.kind === "complete")
14
+ return v.stale ? "Compleet, maar ouder dan 7 dagen" : "Compleet";
15
+ if (v.kind === "busy")
16
+ return v.total ? `Bezig (${nl(v.done)} van ${nl(v.total)})` : `Bezig (${nl(v.done)})`;
17
+ if (v.kind === "stalled")
18
+ return `Staat stil sinds ${formatDate(v.since)}`;
19
+ if (v.kind === "error")
20
+ return "Er ging iets mis bij het bijwerken";
21
+ return "Nog nooit bijgewerkt";
22
+ }
8
23
  const floricodeLogo = "/flowselections-assets/floriday-authenticatie/floricode-logo.png";
9
24
  function formatDate(iso) {
10
25
  if (!iso)
@@ -219,11 +234,11 @@ function SyncBlock({ configured }) {
219
234
  const d = (STATUS_ORDER[a.meta.key] ?? 9) - (STATUS_ORDER[b.meta.key] ?? 9);
220
235
  return d !== 0 ? d : a.row.resource.localeCompare(b.row.resource);
221
236
  });
222
- return (_jsx(StepBlock, { number: 3, title: "Gegevens up-to-date houden", description: "We halen je Floricode-gegevens automatisch op en bewaren ze in je werkomgeving. Zo werkt alles effici\u00EBnt & snel.", children: _jsxs("div", { className: "space-y-3", children: [classified.length === 0 && (_jsx("p", { className: "text-xs text-muted-foreground", children: "Nog geen synchronisatiegegevens beschikbaar." })), classified.map(({ row, meta }) => {
237
+ return (_jsx(StepBlock, { number: 3, title: "Gegevens up-to-date houden", description: "We halen je Floricode-gegevens automatisch op en bewaren ze in je werkomgeving. Zo werkt alles effici\u00EBnt & snel.", children: _jsxs("div", { className: "space-y-3", children: [_jsx(FloricodeHealthBanner, {}), classified.length === 0 && (_jsx("p", { className: "text-xs text-muted-foreground", children: "Nog geen synchronisatiegegevens beschikbaar." })), classified.map(({ row, meta }) => {
223
238
  const hasProblem = meta.key === "error" ||
224
239
  meta.key === "unavailable" ||
225
240
  meta.key === "hanging";
226
- return (_jsxs("div", { className: "rounded-lg border border-border/60 bg-card p-4", children: [_jsxs("div", { className: "grid grid-cols-[minmax(0,1fr)_auto] items-start gap-3 sm:flex sm:items-center sm:justify-between", children: [_jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [_jsx("h5", { className: "font-medium text-sm truncate", children: row.resource }), hasProblem && (_jsxs("span", { className: `inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[10px] font-medium ${meta.tone}`, children: [_jsx("span", { className: `h-1.5 w-1.5 rounded-full ${meta.dot}` }), meta.label] }))] }), _jsx("p", { className: "text-[11px] text-muted-foreground mt-0.5", children: "Wordt automatisch bijgewerkt op de achtergrond." })] }), _jsx(Button, { variant: "outline", size: "sm", className: "shrink-0", disabled: !configured || syncMut.isPending, onClick: () => syncMut.mutate(row.resource), children: syncMut.isPending && syncMut.variables === row.resource
241
+ return (_jsxs("div", { className: "rounded-lg border border-border/60 bg-card p-4", children: [_jsxs("div", { className: "grid grid-cols-[minmax(0,1fr)_auto] items-start gap-3 sm:flex sm:items-center sm:justify-between", children: [_jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [_jsx("h5", { className: "font-medium text-sm truncate", children: row.resource }), hasProblem && (_jsxs("span", { className: `inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[10px] font-medium ${meta.tone}`, children: [_jsx("span", { className: `h-1.5 w-1.5 rounded-full ${meta.dot}` }), meta.label] }))] }), _jsx("p", { className: "text-[11px] text-muted-foreground mt-0.5", children: sourceLabel(row) })] }), _jsx(Button, { variant: "outline", size: "sm", className: "shrink-0", disabled: !configured || syncMut.isPending, onClick: () => syncMut.mutate(row.resource), children: syncMut.isPending && syncMut.variables === row.resource
227
242
  ? "Bezig…"
228
243
  : "Nu bijwerken" })] }), _jsxs("div", { className: "mt-3 grid grid-cols-1 sm:grid-cols-2 gap-2", children: [_jsx(MetricTile, { label: "Laatst bijgewerkt", value: timeAgo(row.lastSyncAt) }), _jsx(MetricTile, { label: "Aantal records", value: (row.rowCount ?? 0).toLocaleString("nl-NL") })] }), hasProblem && (_jsxs("div", { className: "mt-3 flex items-center justify-between gap-3 flex-wrap", children: [row.errorMessage ? (_jsx("p", { className: `text-[11px] break-words ${meta.key === "unavailable"
229
244
  ? "text-amber-700"
@@ -4,6 +4,7 @@ export { FlorydayConnectionPage } from './components/floriday/FlorydayConnection
4
4
  export { FlorydayApiLogPage } from './components/floriday/FlorydayApiLogPage.js';
5
5
  export { FlorydaySyncHealthBanner } from './components/floriday/FlorydaySyncHealthBanner.js';
6
6
  export { FlorydayCredentialStatusBanner } from './components/floriday/FlorydayCredentialStatusBanner.js';
7
+ export { FloricodeHealthBanner } from './components/settings/FloricodeHealthBanner.js';
7
8
  export * from './lib/floriday.functions.js';
8
9
  export * from './lib/floriday-sync.functions.js';
9
10
  export * from './lib/floriday-api-log.functions.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIvD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,yDAAyD,CAAC;AAGzG,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AAErD,eAAO,MAAM,2BAA2B,EAAE,UA2BzC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIvD,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,8BAA8B,EAAE,MAAM,yDAAyD,CAAC;AACzG,OAAO,EAAE,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AAGvF,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kCAAkC,CAAC;AACjD,cAAc,qCAAqC,CAAC;AACpD,cAAc,sCAAsC,CAAC;AAErD,eAAO,MAAM,2BAA2B,EAAE,UA2BzC,CAAC"}
package/dist-lib/index.js CHANGED
@@ -6,6 +6,7 @@ export { FlorydayConnectionPage } from './components/floriday/FlorydayConnection
6
6
  export { FlorydayApiLogPage } from './components/floriday/FlorydayApiLogPage.js';
7
7
  export { FlorydaySyncHealthBanner } from './components/floriday/FlorydaySyncHealthBanner.js';
8
8
  export { FlorydayCredentialStatusBanner } from './components/floriday/FlorydayCredentialStatusBanner.js';
9
+ export { FloricodeHealthBanner } from './components/settings/FloricodeHealthBanner.js';
9
10
  export * from './lib/floriday.functions.js';
10
11
  export * from './lib/floriday-sync.functions.js';
11
12
  export * from './lib/floriday-api-log.functions.js';
@@ -5979,33 +5979,42 @@ export type Database = {
5979
5979
  };
5980
5980
  floricode_sync_state: {
5981
5981
  Row: {
5982
+ completed_at: string | null;
5982
5983
  cursor_skip: number;
5983
5984
  error_message: string | null;
5984
5985
  last_change_date_time: string | null;
5985
5986
  last_sequence_number: number;
5986
5987
  last_sync_at: string | null;
5988
+ pending_change_date_time: string | null;
5987
5989
  resource: string;
5988
5990
  status: string;
5991
+ total_count: number | null;
5989
5992
  updated_at: string;
5990
5993
  };
5991
5994
  Insert: {
5995
+ completed_at?: string | null;
5992
5996
  cursor_skip?: number;
5993
5997
  error_message?: string | null;
5994
5998
  last_change_date_time?: string | null;
5995
5999
  last_sequence_number?: number;
5996
6000
  last_sync_at?: string | null;
6001
+ pending_change_date_time?: string | null;
5997
6002
  resource: string;
5998
6003
  status?: string;
6004
+ total_count?: number | null;
5999
6005
  updated_at?: string;
6000
6006
  };
6001
6007
  Update: {
6008
+ completed_at?: string | null;
6002
6009
  cursor_skip?: number;
6003
6010
  error_message?: string | null;
6004
6011
  last_change_date_time?: string | null;
6005
6012
  last_sequence_number?: number;
6006
6013
  last_sync_at?: string | null;
6014
+ pending_change_date_time?: string | null;
6007
6015
  resource?: string;
6008
6016
  status?: string;
6017
+ total_count?: number | null;
6009
6018
  updated_at?: string;
6010
6019
  };
6011
6020
  Relationships: [];
@@ -12421,6 +12430,39 @@ export type Database = {
12421
12430
  };
12422
12431
  Relationships: [];
12423
12432
  };
12433
+ logistics_external_fulfillment: {
12434
+ Row: {
12435
+ applied_at: string;
12436
+ created_at: string;
12437
+ event_id: string | null;
12438
+ full_fulfilled: boolean;
12439
+ order_id: string;
12440
+ reason: string;
12441
+ sales_order_ids: string[];
12442
+ updated_at: string;
12443
+ };
12444
+ Insert: {
12445
+ applied_at?: string;
12446
+ created_at?: string;
12447
+ event_id?: string | null;
12448
+ full_fulfilled?: boolean;
12449
+ order_id: string;
12450
+ reason?: string;
12451
+ sales_order_ids?: string[];
12452
+ updated_at?: string;
12453
+ };
12454
+ Update: {
12455
+ applied_at?: string;
12456
+ created_at?: string;
12457
+ event_id?: string | null;
12458
+ full_fulfilled?: boolean;
12459
+ order_id?: string;
12460
+ reason?: string;
12461
+ sales_order_ids?: string[];
12462
+ updated_at?: string;
12463
+ };
12464
+ Relationships: [];
12465
+ };
12424
12466
  logistics_floriday_carrier_map: {
12425
12467
  Row: {
12426
12468
  carrier_code: string;
@@ -28836,6 +28878,13 @@ export type Database = {
28836
28878
  };
28837
28879
  Returns: Json;
28838
28880
  };
28881
+ _scan_kar_floriday_afgehandeld: {
28882
+ Args: {
28883
+ p_cart_id: string;
28884
+ p_order_id?: string;
28885
+ };
28886
+ Returns: Json;
28887
+ };
28839
28888
  _scan_kar_pakbon_geprint: {
28840
28889
  Args: {
28841
28890
  p_cart_id: string;
@@ -28895,6 +28944,12 @@ export type Database = {
28895
28944
  };
28896
28945
  Returns: string;
28897
28946
  };
28947
+ afh_order_floriday_afgehandeld: {
28948
+ Args: {
28949
+ p_order_id: string;
28950
+ };
28951
+ Returns: boolean;
28952
+ };
28898
28953
  afh_pick_workdays: {
28899
28954
  Args: {
28900
28955
  p_from: string;
@@ -28937,6 +28992,14 @@ export type Database = {
28937
28992
  };
28938
28993
  Returns: Json;
28939
28994
  };
28995
+ afh_signup_groups_wacht: {
28996
+ Args: {
28997
+ p_from: string;
28998
+ p_to: string;
28999
+ p_tz: string;
29000
+ };
29001
+ Returns: Json;
29002
+ };
28940
29003
  afh_signup_mail: {
28941
29004
  Args: {
28942
29005
  g: Json;
@@ -28953,6 +29016,14 @@ export type Database = {
28953
29016
  };
28954
29017
  Returns: Json;
28955
29018
  };
29019
+ afh_signup_mail_wacht: {
29020
+ Args: {
29021
+ g: Json;
29022
+ p_prev: number;
29023
+ p_tz: string;
29024
+ };
29025
+ Returns: Json;
29026
+ };
28956
29027
  afh_signup_send_group: {
28957
29028
  Args: {
28958
29029
  g: Json;
@@ -30055,6 +30126,30 @@ export type Database = {
30055
30126
  };
30056
30127
  Returns: boolean;
30057
30128
  };
30129
+ floricode_sync_cron_schedule: {
30130
+ Args: {
30131
+ p_apikey: string;
30132
+ p_schedule: string;
30133
+ p_url: string;
30134
+ };
30135
+ Returns: number;
30136
+ };
30137
+ floricode_sync_cron_set_schedule: {
30138
+ Args: {
30139
+ p_schedule: string;
30140
+ };
30141
+ Returns: boolean;
30142
+ };
30143
+ floricode_sync_cron_status: {
30144
+ Args: never;
30145
+ Returns: {
30146
+ active: boolean;
30147
+ last_run_at: string;
30148
+ last_run_status: string;
30149
+ schedule: string;
30150
+ scheduled: boolean;
30151
+ }[];
30152
+ };
30058
30153
  floriday_adopt_connection: {
30059
30154
  Args: {
30060
30155
  p_new: string;
@@ -31217,6 +31312,12 @@ export type Database = {
31217
31312
  Args: never;
31218
31313
  Returns: undefined;
31219
31314
  };
31315
+ logistics_apply_external_fulfillment: {
31316
+ Args: {
31317
+ p_event_id: string;
31318
+ };
31319
+ Returns: string;
31320
+ };
31220
31321
  logistics_apply_order_buffer: {
31221
31322
  Args: {
31222
31323
  p_order_id: string;
@@ -32236,6 +32337,17 @@ export type Database = {
32236
32337
  ref: string;
32237
32338
  }[];
32238
32339
  };
32340
+ logistics_external_fulfillment_key_report: {
32341
+ Args: never;
32342
+ Returns: {
32343
+ ander_nummer: number;
32344
+ floriday_sales_order_id: string;
32345
+ order_id: string;
32346
+ order_number: string;
32347
+ regels: number;
32348
+ zonder_nummer: number;
32349
+ }[];
32350
+ };
32239
32351
  logistics_fail_task: {
32240
32352
  Args: {
32241
32353
  p_error: string;
@@ -32484,6 +32596,13 @@ export type Database = {
32484
32596
  };
32485
32597
  Returns: boolean;
32486
32598
  };
32599
+ logistics_item_external_fulfilled: {
32600
+ Args: {
32601
+ p_order_id: string;
32602
+ p_source_line_key: string;
32603
+ };
32604
+ Returns: boolean;
32605
+ };
32487
32606
  logistics_key_product: {
32488
32607
  Args: {
32489
32608
  p_key: string;
@@ -32691,6 +32810,12 @@ export type Database = {
32691
32810
  };
32692
32811
  Returns: boolean;
32693
32812
  };
32813
+ logistics_order_external_state: {
32814
+ Args: {
32815
+ p_order_id: string;
32816
+ };
32817
+ Returns: Json;
32818
+ };
32694
32819
  logistics_order_finalize_enqueue: {
32695
32820
  Args: {
32696
32821
  p_order_id: string;
@@ -32883,6 +33008,12 @@ export type Database = {
32883
33008
  state: string;
32884
33009
  }[];
32885
33010
  };
33011
+ logistics_order_plan_coverage_v165: {
33012
+ Args: {
33013
+ p_order_id: string;
33014
+ };
33015
+ Returns: Json;
33016
+ };
32886
33017
  logistics_order_released: {
32887
33018
  Args: {
32888
33019
  p_order_ref: string;
@@ -33654,6 +33785,13 @@ export type Database = {
33654
33785
  };
33655
33786
  Returns: Json;
33656
33787
  };
33788
+ logistics_sales_order_external_fulfilled: {
33789
+ Args: {
33790
+ p_order_id: string;
33791
+ p_sales_order_id: string;
33792
+ };
33793
+ Returns: boolean;
33794
+ };
33657
33795
  logistics_scan_delays: {
33658
33796
  Args: never;
33659
33797
  Returns: number;
@@ -33913,6 +34051,12 @@ export type Database = {
33913
34051
  pieces: number;
33914
34052
  }[];
33915
34053
  };
34054
+ logistics_sticker_external_fulfilled: {
34055
+ Args: {
34056
+ p_sticker_print_id: string;
34057
+ };
34058
+ Returns: boolean;
34059
+ };
33916
34060
  logistics_sticker_follows_slip: {
33917
34061
  Args: never;
33918
34062
  Returns: boolean;
@@ -35435,6 +35579,14 @@ export type Database = {
35435
35579
  status: string;
35436
35580
  }[];
35437
35581
  };
35582
+ print_kopieen_aantal: {
35583
+ Args: {
35584
+ _kopieen: number;
35585
+ _payload: Json;
35586
+ _type: string;
35587
+ };
35588
+ Returns: number;
35589
+ };
35438
35590
  print_preview_toestaan: {
35439
35591
  Args: {
35440
35592
  _max?: number;
@@ -37395,6 +37547,20 @@ export type Database = {
37395
37547
  Args: never;
37396
37548
  Returns: Json;
37397
37549
  };
37550
+ voorraad_consume_external_fulfilled: {
37551
+ Args: {
37552
+ p_ids: string[];
37553
+ p_order_id: string;
37554
+ p_source: string;
37555
+ };
37556
+ Returns: number;
37557
+ };
37558
+ voorraad_external_fulfilled_ids: {
37559
+ Args: {
37560
+ p_cf: Json;
37561
+ };
37562
+ Returns: string[];
37563
+ };
37398
37564
  voorraad_hook_base_url: {
37399
37565
  Args: never;
37400
37566
  Returns: string;