@flowselections/floriday-afhandeling-module 1.0.64 → 1.0.69
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/afhandeling/AutoProcessStatus.js +3 -3
- package/dist-lib/components/afhandeling/AutoSendStatus.js +1 -1
- package/dist-lib/components/afhandeling/CapacityWarning.d.ts +1 -1
- package/dist-lib/components/afhandeling/CapacityWarning.js +1 -1
- package/dist-lib/components/afhandeling/ControleLijstPrint.d.ts +2 -2
- package/dist-lib/components/afhandeling/ControleLijstPrint.js +2 -2
- package/dist-lib/components/afhandeling/ControlePage.js +6 -6
- package/dist-lib/components/afhandeling/DagDetailDialog.d.ts +5 -1
- package/dist-lib/components/afhandeling/DagDetailDialog.d.ts.map +1 -1
- package/dist-lib/components/afhandeling/DagDetailDialog.js +83 -31
- package/dist-lib/components/afhandeling/LeveringenPage.d.ts.map +1 -1
- package/dist-lib/components/afhandeling/LeveringenPage.js +28 -6
- package/dist-lib/components/afhandeling/NieuweVervoerderPage.js +1 -1
- package/dist-lib/components/afhandeling/NuVersturenButton.js +1 -1
- package/dist-lib/components/afhandeling/PickAgendaView.d.ts +1 -1
- package/dist-lib/components/afhandeling/PickAgendaView.js +5 -5
- package/dist-lib/components/afhandeling/PickingPage.js +1 -1
- package/dist-lib/components/afhandeling/PlanningAgendaPage.d.ts +1 -1
- package/dist-lib/components/afhandeling/PlanningAgendaPage.js +2 -2
- package/dist-lib/components/afhandeling/ServiceAreaSelect.js +1 -1
- package/dist-lib/components/afhandeling/SignupMailMoments.js +12 -7
- package/dist-lib/components/afhandeling/VervoerderBewerkenPage.js +1 -1
- package/dist-lib/components/afhandeling/VervoerderForm.d.ts.map +1 -1
- package/dist-lib/components/afhandeling/VervoerderForm.js +20 -13
- package/dist-lib/components/afhandeling/VervoerdersPage.js +8 -8
- package/dist-lib/components/afhandeling/VerzetOrderDialog.js +7 -7
- package/dist-lib/components/afhandeling/WeekAgendaView.d.ts +2 -2
- package/dist-lib/components/afhandeling/WeekAgendaView.js +9 -9
- package/dist-lib/components/afhandeling/WerkplekWaarschuwing.d.ts +9 -9
- package/dist-lib/components/afhandeling/WerkplekWaarschuwing.js +1 -1
- package/dist-lib/components/pickstation/PakbonTemplate.d.ts +2 -2
- package/dist-lib/components/pickstation/PakbonTemplate.js +1 -1
- package/dist-lib/components/pickstation/printDocuments.d.ts +1 -1
- package/dist-lib/components/pickstation/printDocuments.js +1 -1
- package/dist-lib/components/settings/AfhandelingSettingsCard.d.ts.map +1 -1
- package/dist-lib/components/settings/AfhandelingSettingsCard.js +5 -5
- package/dist-lib/components/settings/VervoerdersSettingsCard.js +2 -2
- package/dist-lib/hooks/useCapacityCheck.d.ts +1 -1
- package/dist-lib/hooks/useCapacityCheck.js +1 -1
- package/dist-lib/hooks/useCartIndex.js +2 -2
- package/dist-lib/hooks/useConsistencyCheck.js +1 -1
- package/dist-lib/hooks/useEngineBufferEvents.js +1 -1
- package/dist-lib/hooks/useEngineTasks.d.ts +1 -1
- package/dist-lib/hooks/useEngineTasks.js +2 -2
- package/dist-lib/hooks/useKnownOrders.js +4 -4
- package/dist-lib/hooks/useOrderBuffers.d.ts +2 -2
- package/dist-lib/hooks/useOrderBuffers.d.ts.map +1 -1
- package/dist-lib/hooks/useOrderBuffers.js +1 -1
- package/dist-lib/hooks/useOrderMeldingen.d.ts +1 -1
- package/dist-lib/hooks/useOrderMeldingen.d.ts.map +1 -1
- package/dist-lib/hooks/useOrderMeldingen.js +1 -1
- package/dist-lib/hooks/useOrderPickDates.js +3 -3
- package/dist-lib/hooks/useOrderPlanning.d.ts +3 -3
- package/dist-lib/hooks/useOrderPlanning.d.ts.map +1 -1
- package/dist-lib/hooks/useOrderPlanning.js +30 -15
- package/dist-lib/hooks/usePickAgenda.js +4 -4
- package/dist-lib/hooks/usePickMode.d.ts +3 -3
- package/dist-lib/hooks/usePickMode.js +1 -1
- package/dist-lib/index.d.ts +16 -16
- package/dist-lib/index.js +16 -16
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +1 -1
- package/dist-lib/integrations/supabase/client.server.js +1 -1
- package/dist-lib/integrations/supabase/moduleClient.d.ts +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +502 -0
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/lib/afhandelingSettings.functions.d.ts +2 -2
- package/dist-lib/lib/afhandelingSettings.functions.js +1 -1
- package/dist-lib/lib/agendaRange.js +1 -1
- package/dist-lib/lib/authGateway.server.js +2 -2
- package/dist-lib/lib/carrierMatch.server.js +1 -1
- package/dist-lib/lib/carrierPlanning.d.ts +5 -1
- package/dist-lib/lib/carrierPlanning.d.ts.map +1 -1
- package/dist-lib/lib/carrierPlanning.js +16 -10
- package/dist-lib/lib/carrierSignup.functions.d.ts +12 -4
- package/dist-lib/lib/carrierSignup.functions.d.ts.map +1 -1
- package/dist-lib/lib/carrierSignup.functions.js +4 -2
- package/dist-lib/lib/carriers.functions.d.ts +7 -7
- package/dist-lib/lib/carriers.functions.d.ts.map +1 -1
- package/dist-lib/lib/carriers.functions.js +15 -8
- package/dist-lib/lib/cartAssignments.functions.d.ts +8 -8
- package/dist-lib/lib/cartAssignments.functions.js +1 -1
- package/dist-lib/lib/cartControl.functions.d.ts +11 -11
- package/dist-lib/lib/cartControl.functions.js +2 -2
- package/dist-lib/lib/cartMoveImpact.d.ts +1 -1
- package/dist-lib/lib/cartMoveImpact.js +1 -1
- package/dist-lib/lib/cartRescheduling.js +1 -1
- package/dist-lib/lib/deliveryNote.functions.d.ts +1 -1
- package/dist-lib/lib/deliveryNote.functions.js +2 -2
- package/dist-lib/lib/deliveryNotePrint.d.ts +33 -33
- package/dist-lib/lib/deliveryNotePrint.js +3 -3
- package/dist-lib/lib/engineLayouts.functions.d.ts +1 -1
- package/dist-lib/lib/engineLayouts.functions.js +1 -1
- package/dist-lib/lib/floriday.functions.d.ts +2 -2
- package/dist-lib/lib/floriday.functions.js +2 -2
- package/dist-lib/lib/floridayAutoProcess.js +2 -2
- package/dist-lib/lib/floridayFulfillmentSend.server.js +3 -3
- package/dist-lib/lib/floridayLoading.functions.d.ts +2 -2
- package/dist-lib/lib/floridayLoading.functions.js +3 -3
- package/dist-lib/lib/gatewayBase.server.js +1 -1
- package/dist-lib/lib/invalidatePlanning.js +1 -1
- package/dist-lib/lib/logisticsEngine/engine.js +1 -1
- package/dist-lib/lib/logisticsEngine/reschedule.js +2 -2
- package/dist-lib/lib/logisticsEngine/staffPlanning.js +1 -1
- package/dist-lib/lib/orderFulfilment.functions.d.ts +1 -1
- package/dist-lib/lib/orderFulfilment.functions.js +1 -1
- package/dist-lib/lib/pickDates.functions.d.ts +1 -1
- package/dist-lib/lib/pickDates.functions.js +2 -2
- package/dist-lib/lib/pickMode.js +1 -1
- package/dist-lib/lib/pickWorkdays.d.ts +24 -0
- package/dist-lib/lib/pickWorkdays.d.ts.map +1 -0
- package/dist-lib/lib/pickWorkdays.js +30 -0
- package/dist-lib/lib/pickstationOrders.server.d.ts +2 -2
- package/dist-lib/lib/pickstationOrders.server.d.ts.map +1 -1
- package/dist-lib/lib/pickstationOrders.server.js +11 -5
- package/dist-lib/lib/planning.d.ts +19 -0
- package/dist-lib/lib/planning.d.ts.map +1 -1
- package/dist-lib/lib/planning.js +58 -11
- package/dist-lib/lib/realtimeBus.js +1 -1
- package/dist-lib/lib/serverRoutes/autoSend.handler.js +3 -3
- package/dist-lib/lib/serverRoutes/index.d.ts +5 -5
- package/dist-lib/lib/serverRoutes/index.js +5 -5
- package/dist-lib/lib/serverRoutes/pickstationOrders.handler.js +1 -1
- package/dist-lib/lib/serverRoutes/pickstationPrint.handler.js +1 -1
- package/dist-lib/lib/serverRoutes/pickstationStatus.handler.js +1 -1
- package/dist-lib/lib/signupMailText.d.ts.map +1 -1
- package/dist-lib/lib/signupMailText.js +4 -0
- package/dist-lib/moduleDefinition.js +3 -3
- package/package.json +2 -2
|
@@ -24,12 +24,12 @@ export interface AfhandelingSettings {
|
|
|
24
24
|
autoPrintDeliveryNote: boolean;
|
|
25
25
|
}
|
|
26
26
|
export declare const getAfhandelingSettings: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
27
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
27
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
28
28
|
userId: string;
|
|
29
29
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
30
30
|
}, undefined, undefined, undefined>], undefined, Promise<AfhandelingSettings>>;
|
|
31
31
|
export declare const updateAfhandelingSettings: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
32
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
32
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
33
33
|
userId: string;
|
|
34
34
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
35
35
|
}, undefined, undefined, undefined>], (data: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createServerFn } from "@tanstack/react-start";
|
|
2
|
-
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
2
|
+
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware.js";
|
|
3
3
|
const DEFAULTS = {
|
|
4
4
|
pickDaysBeforeTransport: 1,
|
|
5
5
|
transportRegisterDaysBefore: 1,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { startOfWeek, addDays } from "./pickDate";
|
|
1
|
+
import { startOfWeek, addDays } from "./pickDate.js";
|
|
2
2
|
/** Dagen vóór de zichtbare week die we meenemen (levering kan al gepasseerd zijn). */
|
|
3
3
|
const DAYS_BEFORE = 14;
|
|
4
4
|
/** Dagen ná de zichtbare week; een order wordt vóór de leverdatum gepickt. */
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
// Web Crypto (browser/Node 15+/Workers) — geen node:crypto, want dist-lib
|
|
11
11
|
// wordt ook in de client-bundle van consumer-shells opgenomen.
|
|
12
12
|
import { createClient } from "@supabase/supabase-js";
|
|
13
|
-
import { resolveGatewayBaseServer } from "./gatewayBase.server";
|
|
14
|
-
import { getFloridayGatewaySecret } from "./centralSecrets.server";
|
|
13
|
+
import { resolveGatewayBaseServer } from "./gatewayBase.server.js";
|
|
14
|
+
import { getFloridayGatewaySecret } from "./centralSecrets.server.js";
|
|
15
15
|
const LOG = "[auth-gateway]";
|
|
16
16
|
function getSupabase() {
|
|
17
17
|
const url = process.env.SUPABASE_URL ?? process.env.VITE_SUPABASE_URL;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Server-only helper: pick the responsible carrier for an order based on
|
|
2
2
|
// the carrier's service area (country/province/city). Falls back to the
|
|
3
3
|
// carrier flagged is_default when nothing matches.
|
|
4
|
-
import { matchesServiceArea } from "./geo/euServiceAreas";
|
|
4
|
+
import { matchesServiceArea } from "./geo/euServiceAreas.js";
|
|
5
5
|
// Common country names → ISO 3166-1 alpha-2. Keep it small; anything else
|
|
6
6
|
// falls back to the default carrier.
|
|
7
7
|
const COUNTRY_MAP = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type PickupMoment } from "./planning";
|
|
1
|
+
import { type PickupMoment } from "./planning.js";
|
|
2
2
|
export interface CarrierPlanningInfo {
|
|
3
3
|
id: string;
|
|
4
4
|
name: string;
|
|
@@ -18,6 +18,10 @@ export interface CarrierOrderTarget {
|
|
|
18
18
|
city?: string | null;
|
|
19
19
|
}
|
|
20
20
|
export declare function sanitizeWeekdays(input: unknown): number[];
|
|
21
|
+
/**
|
|
22
|
+
* Ophaalmomenten van een vervoerder. Tijden worden nooit aangevuld: een moment
|
|
23
|
+
* zonder aanmeld-, ophaal- of bezorgtijd valt weg en telt niet mee.
|
|
24
|
+
*/
|
|
21
25
|
export declare function normalizePickupMoments(raw: unknown): PickupMoment[];
|
|
22
26
|
export declare function carrierLeadDaysFromMoments(raw: unknown): number;
|
|
23
27
|
export declare function normalizePlanningCarriers<T extends CarrierPlanningInfo>(carriers: T[]): T[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carrierPlanning.d.ts","sourceRoot":"","sources":["../../src/lib/carrierPlanning.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"carrierPlanning.d.ts","sourceRoot":"","sources":["../../src/lib/carrierPlanning.ts"],"names":[],"mappings":"AAEA,OAAO,EAA2C,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAIxF,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjC,cAAc,CAAC,EAAE,YAAY,EAAE,GAAG,OAAO,CAAC;IAC1C,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CACrC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,EAAE,CAUzD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,EAAE,CAenE;AAED,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAK/D;AAED,wBAAgB,yBAAyB,CAAC,CAAC,SAAS,mBAAmB,EAAE,QAAQ,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAU3F;AAED,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,mBAAmB,EAClE,QAAQ,EAAE,CAAC,EAAE,EACb,MAAM,EAAE,kBAAkB,GACzB,CAAC,GAAG,IAAI,CAiCV"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { matchesServiceArea } from "./geo/euServiceAreas";
|
|
2
|
-
import { countryCode } from "./countries";
|
|
3
|
-
import { DEFAULT_PICKUP_MOMENT } from "./planning";
|
|
1
|
+
import { matchesServiceArea } from "./geo/euServiceAreas.js";
|
|
2
|
+
import { countryCode } from "./countries.js";
|
|
3
|
+
import { DEFAULT_PICKUP_MOMENT, isCompleteMoment } from "./planning.js";
|
|
4
4
|
const DEFAULT_WEEKDAYS = [1, 2, 3, 4, 5];
|
|
5
5
|
export function sanitizeWeekdays(input) {
|
|
6
6
|
if (!Array.isArray(input))
|
|
@@ -10,20 +10,26 @@ export function sanitizeWeekdays(input) {
|
|
|
10
10
|
.filter((n) => Number.isFinite(n) && n >= 1 && n <= 7))).sort((a, b) => a - b);
|
|
11
11
|
return clean.length > 0 ? clean : DEFAULT_WEEKDAYS;
|
|
12
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Ophaalmomenten van een vervoerder. Tijden worden nooit aangevuld: een moment
|
|
15
|
+
* zonder aanmeld-, ophaal- of bezorgtijd valt weg en telt niet mee.
|
|
16
|
+
*/
|
|
13
17
|
export function normalizePickupMoments(raw) {
|
|
14
|
-
if (!Array.isArray(raw)
|
|
15
|
-
return [
|
|
16
|
-
return raw
|
|
18
|
+
if (!Array.isArray(raw))
|
|
19
|
+
return [];
|
|
20
|
+
return raw
|
|
21
|
+
.map((m) => {
|
|
17
22
|
const r = (m ?? {});
|
|
18
23
|
return {
|
|
19
24
|
signup_days: Math.max(0, Math.floor(Number(r.signup_days ?? DEFAULT_PICKUP_MOMENT.signup_days) || 0)),
|
|
20
|
-
signup_time:
|
|
25
|
+
signup_time: typeof r.signup_time === "string" ? r.signup_time.trim() : "",
|
|
21
26
|
pickup_days: Math.max(0, Math.floor(Number(r.pickup_days ?? DEFAULT_PICKUP_MOMENT.pickup_days) || 0)),
|
|
22
|
-
pickup_time:
|
|
27
|
+
pickup_time: typeof r.pickup_time === "string" ? r.pickup_time.trim() : "",
|
|
23
28
|
delivery_days: Math.max(0, Math.floor(Number(r.delivery_days ?? DEFAULT_PICKUP_MOMENT.delivery_days) || 0)),
|
|
24
|
-
delivery_time:
|
|
29
|
+
delivery_time: typeof r.delivery_time === "string" ? r.delivery_time.trim() : "",
|
|
25
30
|
};
|
|
26
|
-
})
|
|
31
|
+
})
|
|
32
|
+
.filter(isCompleteMoment);
|
|
27
33
|
}
|
|
28
34
|
export function carrierLeadDaysFromMoments(raw) {
|
|
29
35
|
return normalizePickupMoments(raw).reduce((max, moment) => Math.max(max, moment.signup_days, moment.pickup_days, moment.delivery_days), 0);
|
|
@@ -12,12 +12,14 @@ export interface SignupCronStatus {
|
|
|
12
12
|
error: string | null;
|
|
13
13
|
} | null;
|
|
14
14
|
sentToday: number;
|
|
15
|
+
senderEmail: string | null;
|
|
16
|
+
purpose: string | null;
|
|
15
17
|
healed: boolean;
|
|
16
18
|
syncCode: string | null;
|
|
17
19
|
}
|
|
18
20
|
/** Leest de status; herstelt de taak (alleen beheerder) als hij ontbreekt terwijl de mail aan staat. */
|
|
19
21
|
export declare const getSignupCronStatus: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
20
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
22
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
21
23
|
userId: string;
|
|
22
24
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
23
25
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -37,6 +39,12 @@ export interface SignupGroup {
|
|
|
37
39
|
send_at: string;
|
|
38
40
|
order_count: number;
|
|
39
41
|
cart_count: number;
|
|
42
|
+
pending_orders?: {
|
|
43
|
+
orderId: string;
|
|
44
|
+
orderNumber: string | null;
|
|
45
|
+
}[];
|
|
46
|
+
late_order_ids?: string[];
|
|
47
|
+
wait_until?: string | null;
|
|
40
48
|
last: {
|
|
41
49
|
sent_at: string;
|
|
42
50
|
cart_count: number;
|
|
@@ -57,7 +65,7 @@ export interface SignupOverview {
|
|
|
57
65
|
}[];
|
|
58
66
|
}
|
|
59
67
|
export declare const getSignupOverview: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
60
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
68
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
61
69
|
userId: string;
|
|
62
70
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
63
71
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -84,12 +92,12 @@ export interface SignupPreview {
|
|
|
84
92
|
kind: "initial" | "change";
|
|
85
93
|
}
|
|
86
94
|
export declare const previewSignupMail: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
87
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
95
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
88
96
|
userId: string;
|
|
89
97
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
90
98
|
}, undefined, undefined, undefined>], (d: GroupKey) => GroupKey, Promise<SignupPreview>>;
|
|
91
99
|
export declare const sendSignupMailNow: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
92
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
100
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
93
101
|
userId: string;
|
|
94
102
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
95
103
|
}, undefined, undefined, undefined>], (d: GroupKey) => GroupKey, Promise<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carrierSignup.functions.d.ts","sourceRoot":"","sources":["../../src/lib/carrierSignup.functions.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,gBAAgB;IAC/B,aAAa,EAAE,OAAO,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC/G,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;
|
|
1
|
+
{"version":3,"file":"carrierSignup.functions.d.ts","sourceRoot":"","sources":["../../src/lib/carrierSignup.functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createServerFn } from "@tanstack/react-start";
|
|
2
|
-
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
2
|
+
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware.js";
|
|
3
3
|
async function isBeheerder(supabase, userId) {
|
|
4
4
|
for (const role of ["admin", "superadmin"]) {
|
|
5
5
|
const { data } = await supabase.rpc("has_role", { _user_id: userId, _role: role });
|
|
@@ -9,7 +9,7 @@ async function isBeheerder(supabase, userId) {
|
|
|
9
9
|
return false;
|
|
10
10
|
}
|
|
11
11
|
async function runSync() {
|
|
12
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
12
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
|
|
13
13
|
const admin = supabaseAdmin;
|
|
14
14
|
const { data, error } = await admin.rpc("afhandeling_sync_signup_cron");
|
|
15
15
|
if (error)
|
|
@@ -30,6 +30,8 @@ async function readStatus(supabase) {
|
|
|
30
30
|
timezone: r.timezone ?? null,
|
|
31
31
|
lastRun: r.last_run ?? null,
|
|
32
32
|
sentToday: Number(r.sent_today ?? 0),
|
|
33
|
+
senderEmail: r.sender_email ?? null,
|
|
34
|
+
purpose: r.purpose ?? null,
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
37
|
/** Leest de status; herstelt de taak (alleen beheerder) als hij ontbreekt terwijl de mail aan staat. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { type PickupMoment } from "./planning";
|
|
2
|
-
export type { PickupMoment } from "./planning";
|
|
1
|
+
import { type PickupMoment } from "./planning.js";
|
|
2
|
+
export type { PickupMoment } from "./planning.js";
|
|
3
3
|
export interface CarrierShippingRate {
|
|
4
4
|
id?: string;
|
|
5
5
|
country_code: string;
|
|
@@ -57,14 +57,14 @@ export interface CarrierInput {
|
|
|
57
57
|
delivery_weekdays?: number[];
|
|
58
58
|
}
|
|
59
59
|
export declare const listCarriers: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
60
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
60
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
61
61
|
userId: string;
|
|
62
62
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
63
63
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
64
64
|
carriers: CarrierListItem[];
|
|
65
65
|
}>>;
|
|
66
66
|
export declare const getCarrier: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
67
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
67
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
68
68
|
userId: string;
|
|
69
69
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
70
70
|
}, undefined, undefined, undefined>], (data: {
|
|
@@ -75,7 +75,7 @@ export declare const getCarrier: import("@tanstack/start-client-core").RequiredF
|
|
|
75
75
|
carrier: CarrierWithRates;
|
|
76
76
|
}>>;
|
|
77
77
|
export declare const upsertCarrier: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
78
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
78
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
79
79
|
userId: string;
|
|
80
80
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
81
81
|
}, undefined, undefined, undefined>], (data: {
|
|
@@ -88,7 +88,7 @@ export declare const upsertCarrier: import("@tanstack/start-client-core").Requir
|
|
|
88
88
|
id: string;
|
|
89
89
|
}>>;
|
|
90
90
|
export declare const deleteCarrier: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
91
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
91
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
92
92
|
userId: string;
|
|
93
93
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
94
94
|
}, undefined, undefined, undefined>], (data: {
|
|
@@ -99,7 +99,7 @@ export declare const deleteCarrier: import("@tanstack/start-client-core").Requir
|
|
|
99
99
|
ok: true;
|
|
100
100
|
}>>;
|
|
101
101
|
export declare const reorderCarriers: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
102
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
102
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
103
103
|
userId: string;
|
|
104
104
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
105
105
|
}, undefined, undefined, undefined>], (data: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carriers.functions.d.ts","sourceRoot":"","sources":["../../src/lib/carriers.functions.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"carriers.functions.d.ts","sourceRoot":"","sources":["../../src/lib/carriers.functions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { createServerFn } from "@tanstack/react-start";
|
|
2
|
-
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
3
|
-
import { DEFAULT_PICKUP_MOMENT } from "./planning";
|
|
4
|
-
import { carrierLeadDaysFromMoments } from "./carrierPlanning";
|
|
2
|
+
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware.js";
|
|
3
|
+
import { DEFAULT_PICKUP_MOMENT, isCompleteMoment } from "./planning.js";
|
|
4
|
+
import { carrierLeadDaysFromMoments } from "./carrierPlanning.js";
|
|
5
5
|
function clean(obj) {
|
|
6
6
|
const out = {};
|
|
7
7
|
for (const [k, v] of Object.entries(obj)) {
|
|
@@ -21,18 +21,20 @@ function sanitizeWeekdays(input) {
|
|
|
21
21
|
.filter((n) => Number.isFinite(n) && n >= 1 && n <= 7))).sort((a, b) => a - b);
|
|
22
22
|
return clean.length > 0 ? clean : DEFAULT_WEEKDAYS_ARR;
|
|
23
23
|
}
|
|
24
|
+
/** Leest ophaalmomenten zonder tijden aan te vullen; lege tijden blijven leeg. */
|
|
24
25
|
function normalizeMoments(raw) {
|
|
25
|
-
if (!Array.isArray(raw)
|
|
26
|
-
return [
|
|
26
|
+
if (!Array.isArray(raw))
|
|
27
|
+
return [];
|
|
27
28
|
return raw.map((m) => {
|
|
28
29
|
const r = (m ?? {});
|
|
30
|
+
const t = (v) => (typeof v === "string" ? v.trim() : "");
|
|
29
31
|
return {
|
|
30
32
|
signup_days: Number(r.signup_days ?? DEFAULT_PICKUP_MOMENT.signup_days),
|
|
31
|
-
signup_time:
|
|
33
|
+
signup_time: t(r.signup_time),
|
|
32
34
|
pickup_days: Number(r.pickup_days ?? DEFAULT_PICKUP_MOMENT.pickup_days),
|
|
33
|
-
pickup_time:
|
|
35
|
+
pickup_time: t(r.pickup_time),
|
|
34
36
|
delivery_days: Number(r.delivery_days ?? DEFAULT_PICKUP_MOMENT.delivery_days),
|
|
35
|
-
delivery_time:
|
|
37
|
+
delivery_time: t(r.delivery_time),
|
|
36
38
|
};
|
|
37
39
|
});
|
|
38
40
|
}
|
|
@@ -109,6 +111,11 @@ export const upsertCarrier = createServerFn({ method: "POST" })
|
|
|
109
111
|
throw new Error("Bedrijfsnaam is verplicht");
|
|
110
112
|
}
|
|
111
113
|
const moments = normalizeMoments(carrier.pickup_moments);
|
|
114
|
+
if (moments.length === 0)
|
|
115
|
+
throw new Error("Voeg minimaal één ophaalmoment toe.");
|
|
116
|
+
if (!moments.every(isCompleteMoment)) {
|
|
117
|
+
throw new Error("Vul bij elk ophaalmoment alle tijden in.");
|
|
118
|
+
}
|
|
112
119
|
const leadDays = carrierLeadDaysFromMoments(moments);
|
|
113
120
|
const signupDays = moments.reduce((max, moment) => Math.max(max, moment.signup_days), 0);
|
|
114
121
|
const payload = clean({
|
|
@@ -11,7 +11,7 @@ export interface CartOverride {
|
|
|
11
11
|
notes: string | null;
|
|
12
12
|
}
|
|
13
13
|
export declare const listCartOverrides: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
14
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
14
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
15
15
|
userId: string;
|
|
16
16
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
17
17
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -25,7 +25,7 @@ export interface MoveCartInput {
|
|
|
25
25
|
fromDate?: string | Date | null;
|
|
26
26
|
}
|
|
27
27
|
export declare const moveCart: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
28
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
28
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
29
29
|
userId: string;
|
|
30
30
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
31
31
|
}, undefined, undefined, undefined>], (d: MoveCartInput) => MoveCartInput, Promise<{
|
|
@@ -33,7 +33,7 @@ export declare const moveCart: import("@tanstack/start-client-core").RequiredFet
|
|
|
33
33
|
override: CartOverride;
|
|
34
34
|
}>>;
|
|
35
35
|
export declare const resetCartOverride: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
36
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
36
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
37
37
|
userId: string;
|
|
38
38
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
39
39
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -48,7 +48,7 @@ export declare const resetCartOverride: import("@tanstack/start-client-core").Re
|
|
|
48
48
|
ok: true;
|
|
49
49
|
}>>;
|
|
50
50
|
export declare const resetAllCartOverrides: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
51
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
51
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
52
52
|
userId: string;
|
|
53
53
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
54
54
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -63,7 +63,7 @@ export interface OrderLine {
|
|
|
63
63
|
otherUnits: number | null;
|
|
64
64
|
}
|
|
65
65
|
export declare const getOrderLines: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
66
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
66
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
67
67
|
userId: string;
|
|
68
68
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
69
69
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -113,7 +113,7 @@ export interface DayOrderCoverage {
|
|
|
113
113
|
* Deze module leest order_carts / order_cart_items niet zelf.
|
|
114
114
|
*/
|
|
115
115
|
export declare const getDayCartContents: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
116
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
116
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
117
117
|
userId: string;
|
|
118
118
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
119
119
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -126,7 +126,7 @@ export declare const getDayCartContents: import("@tanstack/start-client-core").R
|
|
|
126
126
|
}>>;
|
|
127
127
|
/** Echte Engine-karren van één order (voor pakbonnen per kar). */
|
|
128
128
|
export declare const getOrderCartIds: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
129
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
129
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
130
130
|
userId: string;
|
|
131
131
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
132
132
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -156,7 +156,7 @@ export interface PakbonCartInfo {
|
|
|
156
156
|
* Match uitsluitend op cart_id; verzendbrieven tellen niet mee.
|
|
157
157
|
*/
|
|
158
158
|
export declare const getPakbonCartInfo: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
159
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
159
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
160
160
|
userId: string;
|
|
161
161
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
162
162
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createServerFn } from "@tanstack/react-start";
|
|
2
|
-
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
2
|
+
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware.js";
|
|
3
3
|
function toISODate(d) {
|
|
4
4
|
const dt = typeof d === "string" ? new Date(d) : d;
|
|
5
5
|
const y = dt.getFullYear();
|
|
@@ -92,7 +92,7 @@ export interface ControlCartsResult {
|
|
|
92
92
|
}
|
|
93
93
|
/** Haal alle karren op die vandaag gecontroleerd moeten worden (RPC is leidend). */
|
|
94
94
|
export declare const getTodaysControlCarts: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
95
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
95
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
96
96
|
userId: string;
|
|
97
97
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
98
98
|
}, undefined, undefined, undefined>], undefined, Promise<ControlCartsResult>>;
|
|
@@ -105,7 +105,7 @@ export interface SubmitControlInput {
|
|
|
105
105
|
requestKey?: string;
|
|
106
106
|
}
|
|
107
107
|
export declare const getControlRescheduleProposals: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
108
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
108
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
109
109
|
userId: string;
|
|
110
110
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
111
111
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -117,7 +117,7 @@ export declare const getControlRescheduleProposals: import("@tanstack/start-clie
|
|
|
117
117
|
blocked: ControlBlocked[];
|
|
118
118
|
}>>;
|
|
119
119
|
export declare const submitControlSession: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
120
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
120
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
121
121
|
userId: string;
|
|
122
122
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
123
123
|
}, undefined, undefined, undefined>], (d: SubmitControlInput) => SubmitControlInput, Promise<SubmitResult>>;
|
|
@@ -132,7 +132,7 @@ export interface ControlSessionSummary {
|
|
|
132
132
|
notes: string | null;
|
|
133
133
|
}
|
|
134
134
|
export declare const listControlHistory: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
135
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
135
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
136
136
|
userId: string;
|
|
137
137
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
138
138
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -150,7 +150,7 @@ export interface ControlItemDetail {
|
|
|
150
150
|
blockReason: string | null;
|
|
151
151
|
}
|
|
152
152
|
export declare const getControlSessionDetail: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
153
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
153
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
154
154
|
userId: string;
|
|
155
155
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
156
156
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -171,14 +171,14 @@ export interface CriticalAlert {
|
|
|
171
171
|
blockedCount: number;
|
|
172
172
|
}
|
|
173
173
|
export declare const listActiveCriticalAlerts: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
174
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
174
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
175
175
|
userId: string;
|
|
176
176
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
177
177
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
178
178
|
alerts: CriticalAlert[];
|
|
179
179
|
}>>;
|
|
180
180
|
export declare const resolveCriticalAlert: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
181
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
181
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
182
182
|
userId: string;
|
|
183
183
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
184
184
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -210,12 +210,12 @@ export interface SaveControlDraftInput {
|
|
|
210
210
|
formState?: Record<string, SerializableJson>;
|
|
211
211
|
}
|
|
212
212
|
export declare const getControlDraft: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
213
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
213
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
214
214
|
userId: string;
|
|
215
215
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
216
216
|
}, undefined, undefined, undefined>], undefined, Promise<ControlDraftDto>>;
|
|
217
217
|
export declare const saveControlDraft: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
218
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
218
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
219
219
|
userId: string;
|
|
220
220
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
221
221
|
}, undefined, undefined, undefined>], (d: SaveControlDraftInput) => SaveControlDraftInput, Promise<{
|
|
@@ -223,7 +223,7 @@ export declare const saveControlDraft: import("@tanstack/start-client-core").Req
|
|
|
223
223
|
updatedAt: string;
|
|
224
224
|
}>>;
|
|
225
225
|
export declare const clearControlDraft: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
226
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
226
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
227
227
|
userId: string;
|
|
228
228
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
229
229
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -239,7 +239,7 @@ export interface DeliveredCart {
|
|
|
239
239
|
* Vanaf de volgende dag is deze lijst weer leeg; oudere controles staan in de historie.
|
|
240
240
|
*/
|
|
241
241
|
export declare const listDeliveredToday: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
242
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
242
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
243
243
|
userId: string;
|
|
244
244
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
245
245
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createServerFn } from "@tanstack/react-start";
|
|
2
|
-
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
3
|
-
import { tryReschedule } from "./cartRescheduling";
|
|
2
|
+
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware.js";
|
|
3
|
+
import { tryReschedule } from "./cartRescheduling.js";
|
|
4
4
|
/**
|
|
5
5
|
* Voorzichtige bovengrens wanneer de klantinstelling ontbreekt of ongeldig is.
|
|
6
6
|
* Klantonafhankelijk; de werkelijke grens komt uit `afhandeling_settings`.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* minstens één werkdag zit tussen de nieuwe pickdatum en de leverdatum. De
|
|
9
9
|
* daadwerkelijke verplaatsing gebeurt alleen na expliciete gebruikerskeuze.
|
|
10
10
|
*/
|
|
11
|
-
import { addWorkdays, isoWeekday, isWorkday, normalizeWeekdays, subtractWorkdays, } from "./planning";
|
|
11
|
+
import { addWorkdays, isoWeekday, isWorkday, normalizeWeekdays, subtractWorkdays, } from "./planning.js";
|
|
12
12
|
function normalize(d) {
|
|
13
13
|
const out = new Date(d);
|
|
14
14
|
out.setHours(0, 0, 0, 0);
|
|
@@ -7,7 +7,7 @@ export interface DeliveryNotePdf {
|
|
|
7
7
|
* Geeft null terug wanneer de brief (nog) niet beschikbaar is.
|
|
8
8
|
*/
|
|
9
9
|
export declare const getDeliveryNotePdf: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
10
|
-
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
10
|
+
supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
|
|
11
11
|
userId: string;
|
|
12
12
|
claims: import("@supabase/auth-js").JwtPayload;
|
|
13
13
|
}, undefined, undefined, undefined>], (input: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createServerFn } from "@tanstack/react-start";
|
|
2
|
-
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
2
|
+
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware.js";
|
|
3
3
|
/**
|
|
4
4
|
* Haalt de verzendbrief (Floriday-afleverbrief) op voor één bestelling.
|
|
5
5
|
* Geeft null terug wanneer de brief (nog) niet beschikbaar is.
|
|
@@ -26,7 +26,7 @@ export const getDeliveryNotePdf = createServerFn({ method: "GET" })
|
|
|
26
26
|
const salesOrderId = fields["floriday_sales_order_id"];
|
|
27
27
|
if (typeof salesOrderId !== "string" || !salesOrderId)
|
|
28
28
|
return { pdf: null };
|
|
29
|
-
const { fetchFloridayDeliveryNotePdf } = await import("./pickstationOrders.server");
|
|
29
|
+
const { fetchFloridayDeliveryNotePdf } = await import("./pickstationOrders.server.js");
|
|
30
30
|
const pdf = await fetchFloridayDeliveryNotePdf(salesOrderId);
|
|
31
31
|
return { pdf };
|
|
32
32
|
});
|