@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.
Files changed (129) hide show
  1. package/dist-lib/components/afhandeling/AutoProcessStatus.js +3 -3
  2. package/dist-lib/components/afhandeling/AutoSendStatus.js +1 -1
  3. package/dist-lib/components/afhandeling/CapacityWarning.d.ts +1 -1
  4. package/dist-lib/components/afhandeling/CapacityWarning.js +1 -1
  5. package/dist-lib/components/afhandeling/ControleLijstPrint.d.ts +2 -2
  6. package/dist-lib/components/afhandeling/ControleLijstPrint.js +2 -2
  7. package/dist-lib/components/afhandeling/ControlePage.js +6 -6
  8. package/dist-lib/components/afhandeling/DagDetailDialog.d.ts +5 -1
  9. package/dist-lib/components/afhandeling/DagDetailDialog.d.ts.map +1 -1
  10. package/dist-lib/components/afhandeling/DagDetailDialog.js +83 -31
  11. package/dist-lib/components/afhandeling/LeveringenPage.d.ts.map +1 -1
  12. package/dist-lib/components/afhandeling/LeveringenPage.js +28 -6
  13. package/dist-lib/components/afhandeling/NieuweVervoerderPage.js +1 -1
  14. package/dist-lib/components/afhandeling/NuVersturenButton.js +1 -1
  15. package/dist-lib/components/afhandeling/PickAgendaView.d.ts +1 -1
  16. package/dist-lib/components/afhandeling/PickAgendaView.js +5 -5
  17. package/dist-lib/components/afhandeling/PickingPage.js +1 -1
  18. package/dist-lib/components/afhandeling/PlanningAgendaPage.d.ts +1 -1
  19. package/dist-lib/components/afhandeling/PlanningAgendaPage.js +2 -2
  20. package/dist-lib/components/afhandeling/ServiceAreaSelect.js +1 -1
  21. package/dist-lib/components/afhandeling/SignupMailMoments.js +12 -7
  22. package/dist-lib/components/afhandeling/VervoerderBewerkenPage.js +1 -1
  23. package/dist-lib/components/afhandeling/VervoerderForm.d.ts.map +1 -1
  24. package/dist-lib/components/afhandeling/VervoerderForm.js +20 -13
  25. package/dist-lib/components/afhandeling/VervoerdersPage.js +8 -8
  26. package/dist-lib/components/afhandeling/VerzetOrderDialog.js +7 -7
  27. package/dist-lib/components/afhandeling/WeekAgendaView.d.ts +2 -2
  28. package/dist-lib/components/afhandeling/WeekAgendaView.js +9 -9
  29. package/dist-lib/components/afhandeling/WerkplekWaarschuwing.d.ts +9 -9
  30. package/dist-lib/components/afhandeling/WerkplekWaarschuwing.js +1 -1
  31. package/dist-lib/components/pickstation/PakbonTemplate.d.ts +2 -2
  32. package/dist-lib/components/pickstation/PakbonTemplate.js +1 -1
  33. package/dist-lib/components/pickstation/printDocuments.d.ts +1 -1
  34. package/dist-lib/components/pickstation/printDocuments.js +1 -1
  35. package/dist-lib/components/settings/AfhandelingSettingsCard.d.ts.map +1 -1
  36. package/dist-lib/components/settings/AfhandelingSettingsCard.js +5 -5
  37. package/dist-lib/components/settings/VervoerdersSettingsCard.js +2 -2
  38. package/dist-lib/hooks/useCapacityCheck.d.ts +1 -1
  39. package/dist-lib/hooks/useCapacityCheck.js +1 -1
  40. package/dist-lib/hooks/useCartIndex.js +2 -2
  41. package/dist-lib/hooks/useConsistencyCheck.js +1 -1
  42. package/dist-lib/hooks/useEngineBufferEvents.js +1 -1
  43. package/dist-lib/hooks/useEngineTasks.d.ts +1 -1
  44. package/dist-lib/hooks/useEngineTasks.js +2 -2
  45. package/dist-lib/hooks/useKnownOrders.js +4 -4
  46. package/dist-lib/hooks/useOrderBuffers.d.ts +2 -2
  47. package/dist-lib/hooks/useOrderBuffers.d.ts.map +1 -1
  48. package/dist-lib/hooks/useOrderBuffers.js +1 -1
  49. package/dist-lib/hooks/useOrderMeldingen.d.ts +1 -1
  50. package/dist-lib/hooks/useOrderMeldingen.d.ts.map +1 -1
  51. package/dist-lib/hooks/useOrderMeldingen.js +1 -1
  52. package/dist-lib/hooks/useOrderPickDates.js +3 -3
  53. package/dist-lib/hooks/useOrderPlanning.d.ts +3 -3
  54. package/dist-lib/hooks/useOrderPlanning.d.ts.map +1 -1
  55. package/dist-lib/hooks/useOrderPlanning.js +30 -15
  56. package/dist-lib/hooks/usePickAgenda.js +4 -4
  57. package/dist-lib/hooks/usePickMode.d.ts +3 -3
  58. package/dist-lib/hooks/usePickMode.js +1 -1
  59. package/dist-lib/index.d.ts +16 -16
  60. package/dist-lib/index.js +16 -16
  61. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1 -1
  62. package/dist-lib/integrations/supabase/client.server.d.ts +1 -1
  63. package/dist-lib/integrations/supabase/client.server.js +1 -1
  64. package/dist-lib/integrations/supabase/moduleClient.d.ts +1 -1
  65. package/dist-lib/integrations/supabase/types.d.ts +502 -0
  66. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  67. package/dist-lib/lib/afhandelingSettings.functions.d.ts +2 -2
  68. package/dist-lib/lib/afhandelingSettings.functions.js +1 -1
  69. package/dist-lib/lib/agendaRange.js +1 -1
  70. package/dist-lib/lib/authGateway.server.js +2 -2
  71. package/dist-lib/lib/carrierMatch.server.js +1 -1
  72. package/dist-lib/lib/carrierPlanning.d.ts +5 -1
  73. package/dist-lib/lib/carrierPlanning.d.ts.map +1 -1
  74. package/dist-lib/lib/carrierPlanning.js +16 -10
  75. package/dist-lib/lib/carrierSignup.functions.d.ts +12 -4
  76. package/dist-lib/lib/carrierSignup.functions.d.ts.map +1 -1
  77. package/dist-lib/lib/carrierSignup.functions.js +4 -2
  78. package/dist-lib/lib/carriers.functions.d.ts +7 -7
  79. package/dist-lib/lib/carriers.functions.d.ts.map +1 -1
  80. package/dist-lib/lib/carriers.functions.js +15 -8
  81. package/dist-lib/lib/cartAssignments.functions.d.ts +8 -8
  82. package/dist-lib/lib/cartAssignments.functions.js +1 -1
  83. package/dist-lib/lib/cartControl.functions.d.ts +11 -11
  84. package/dist-lib/lib/cartControl.functions.js +2 -2
  85. package/dist-lib/lib/cartMoveImpact.d.ts +1 -1
  86. package/dist-lib/lib/cartMoveImpact.js +1 -1
  87. package/dist-lib/lib/cartRescheduling.js +1 -1
  88. package/dist-lib/lib/deliveryNote.functions.d.ts +1 -1
  89. package/dist-lib/lib/deliveryNote.functions.js +2 -2
  90. package/dist-lib/lib/deliveryNotePrint.d.ts +33 -33
  91. package/dist-lib/lib/deliveryNotePrint.js +3 -3
  92. package/dist-lib/lib/engineLayouts.functions.d.ts +1 -1
  93. package/dist-lib/lib/engineLayouts.functions.js +1 -1
  94. package/dist-lib/lib/floriday.functions.d.ts +2 -2
  95. package/dist-lib/lib/floriday.functions.js +2 -2
  96. package/dist-lib/lib/floridayAutoProcess.js +2 -2
  97. package/dist-lib/lib/floridayFulfillmentSend.server.js +3 -3
  98. package/dist-lib/lib/floridayLoading.functions.d.ts +2 -2
  99. package/dist-lib/lib/floridayLoading.functions.js +3 -3
  100. package/dist-lib/lib/gatewayBase.server.js +1 -1
  101. package/dist-lib/lib/invalidatePlanning.js +1 -1
  102. package/dist-lib/lib/logisticsEngine/engine.js +1 -1
  103. package/dist-lib/lib/logisticsEngine/reschedule.js +2 -2
  104. package/dist-lib/lib/logisticsEngine/staffPlanning.js +1 -1
  105. package/dist-lib/lib/orderFulfilment.functions.d.ts +1 -1
  106. package/dist-lib/lib/orderFulfilment.functions.js +1 -1
  107. package/dist-lib/lib/pickDates.functions.d.ts +1 -1
  108. package/dist-lib/lib/pickDates.functions.js +2 -2
  109. package/dist-lib/lib/pickMode.js +1 -1
  110. package/dist-lib/lib/pickWorkdays.d.ts +24 -0
  111. package/dist-lib/lib/pickWorkdays.d.ts.map +1 -0
  112. package/dist-lib/lib/pickWorkdays.js +30 -0
  113. package/dist-lib/lib/pickstationOrders.server.d.ts +2 -2
  114. package/dist-lib/lib/pickstationOrders.server.d.ts.map +1 -1
  115. package/dist-lib/lib/pickstationOrders.server.js +11 -5
  116. package/dist-lib/lib/planning.d.ts +19 -0
  117. package/dist-lib/lib/planning.d.ts.map +1 -1
  118. package/dist-lib/lib/planning.js +58 -11
  119. package/dist-lib/lib/realtimeBus.js +1 -1
  120. package/dist-lib/lib/serverRoutes/autoSend.handler.js +3 -3
  121. package/dist-lib/lib/serverRoutes/index.d.ts +5 -5
  122. package/dist-lib/lib/serverRoutes/index.js +5 -5
  123. package/dist-lib/lib/serverRoutes/pickstationOrders.handler.js +1 -1
  124. package/dist-lib/lib/serverRoutes/pickstationPrint.handler.js +1 -1
  125. package/dist-lib/lib/serverRoutes/pickstationStatus.handler.js +1 -1
  126. package/dist-lib/lib/signupMailText.d.ts.map +1 -1
  127. package/dist-lib/lib/signupMailText.js +4 -0
  128. package/dist-lib/moduleDefinition.js +3 -3
  129. 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,EAAyB,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAItE,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,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,EAAE,CAanE;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
+ {"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) || raw.length === 0)
15
- return [DEFAULT_PICKUP_MOMENT];
16
- return raw.map((m) => {
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: String(r.signup_time ?? DEFAULT_PICKUP_MOMENT.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: String(r.pickup_time ?? DEFAULT_PICKUP_MOMENT.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: String(r.delivery_time ?? DEFAULT_PICKUP_MOMENT.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;AAkCD,wGAAwG;AACxG,eAAO,MAAM,mBAAmB;;;;0CAEV;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS;;6BAchD,CAAC;AAEL,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACnG;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,UAAU,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACrF;AAED,eAAO,MAAM,iBAAiB;;;;0CAER;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE;UAApB,MAAM;QAAM,MAAM;2BAkB5C,CAAC;AAEL,UAAU,QAAQ;IAAG,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE;AAQ/E,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC5B;AAED,eAAO,MAAM,iBAAiB;;;;0CAnBN,QAAQ,sCAwC5B,CAAC;AAEL,eAAO,MAAM,iBAAiB;;;;0CA1CN,QAAQ;QA6CoB,OAAO;UAAQ,MAAM;GAQrE,CAAC"}
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":"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"}
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) || raw.length === 0)
26
- return [DEFAULT_PICKUP_MOMENT];
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: String(r.signup_time ?? DEFAULT_PICKUP_MOMENT.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: String(r.pickup_time ?? DEFAULT_PICKUP_MOMENT.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: String(r.delivery_time ?? DEFAULT_PICKUP_MOMENT.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`.
@@ -1,4 +1,4 @@
1
- import { type OrderPlanning } from "./planning";
1
+ import { type OrderPlanning } from "./planning.js";
2
2
  export interface CartMoveImpact {
3
3
  ok: boolean;
4
4
  blockers: string[];
@@ -1,4 +1,4 @@
1
- import { isWorkday } from "./planning";
1
+ import { isWorkday } from "./planning.js";
2
2
  export function evaluateCartMove(newDate, currentDate, planning) {
3
3
  const blockers = [];
4
4
  const warnings = [];
@@ -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
  });