@flowselections/floriday-afhandeling-module 1.0.8 → 1.0.10

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 (94) hide show
  1. package/dist-lib/components/afhandeling/DagDetailDialog.d.ts +9 -0
  2. package/dist-lib/components/afhandeling/DagDetailDialog.d.ts.map +1 -0
  3. package/dist-lib/components/afhandeling/DagDetailDialog.js +145 -0
  4. package/dist-lib/components/afhandeling/LeveringenPage.d.ts.map +1 -1
  5. package/dist-lib/components/afhandeling/LeveringenPage.js +17 -69
  6. package/dist-lib/components/afhandeling/PickAgendaView.d.ts +6 -0
  7. package/dist-lib/components/afhandeling/PickAgendaView.d.ts.map +1 -0
  8. package/dist-lib/components/afhandeling/PickAgendaView.js +40 -0
  9. package/dist-lib/components/afhandeling/PickingPage.d.ts +2 -0
  10. package/dist-lib/components/afhandeling/PickingPage.d.ts.map +1 -0
  11. package/dist-lib/components/afhandeling/PickingPage.js +5 -0
  12. package/dist-lib/components/afhandeling/PlanningAgendaPage.d.ts +9 -0
  13. package/dist-lib/components/afhandeling/PlanningAgendaPage.d.ts.map +1 -0
  14. package/dist-lib/components/afhandeling/PlanningAgendaPage.js +7 -0
  15. package/dist-lib/components/afhandeling/ServiceAreaSelect.d.ts +12 -0
  16. package/dist-lib/components/afhandeling/ServiceAreaSelect.d.ts.map +1 -0
  17. package/dist-lib/components/afhandeling/ServiceAreaSelect.js +79 -0
  18. package/dist-lib/components/afhandeling/VervoerderForm.d.ts.map +1 -1
  19. package/dist-lib/components/afhandeling/VervoerderForm.js +73 -12
  20. package/dist-lib/components/afhandeling/VervoerdersPage.d.ts.map +1 -1
  21. package/dist-lib/components/afhandeling/VervoerdersPage.js +23 -5
  22. package/dist-lib/components/afhandeling/WeekAgendaView.d.ts +13 -0
  23. package/dist-lib/components/afhandeling/WeekAgendaView.d.ts.map +1 -0
  24. package/dist-lib/components/afhandeling/WeekAgendaView.js +142 -0
  25. package/dist-lib/components/pickstation/LanguagePicker.d.ts +5 -0
  26. package/dist-lib/components/pickstation/LanguagePicker.d.ts.map +1 -0
  27. package/dist-lib/components/pickstation/LanguagePicker.js +5 -0
  28. package/dist-lib/components/pickstation/PakbonTemplate.d.ts +20 -0
  29. package/dist-lib/components/pickstation/PakbonTemplate.d.ts.map +1 -0
  30. package/dist-lib/components/pickstation/PakbonTemplate.js +76 -0
  31. package/dist-lib/components/pickstation/printDocuments.d.ts +3 -0
  32. package/dist-lib/components/pickstation/printDocuments.d.ts.map +1 -0
  33. package/dist-lib/components/pickstation/printDocuments.js +53 -0
  34. package/dist-lib/components/settings/AfhandelingSettingsCard.d.ts +2 -0
  35. package/dist-lib/components/settings/AfhandelingSettingsCard.d.ts.map +1 -0
  36. package/dist-lib/components/settings/AfhandelingSettingsCard.js +72 -0
  37. package/dist-lib/components/settings/VervoerdersSettingsCard.d.ts +2 -0
  38. package/dist-lib/components/settings/VervoerdersSettingsCard.d.ts.map +1 -0
  39. package/dist-lib/components/settings/VervoerdersSettingsCard.js +30 -0
  40. package/dist-lib/hooks/useOrderPlanning.d.ts +17 -0
  41. package/dist-lib/hooks/useOrderPlanning.d.ts.map +1 -0
  42. package/dist-lib/hooks/useOrderPlanning.js +131 -0
  43. package/dist-lib/index.d.ts +5 -0
  44. package/dist-lib/index.d.ts.map +1 -1
  45. package/dist-lib/index.js +16 -6
  46. package/dist-lib/integrations/supabase/auth-middleware.d.ts +2793 -137
  47. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  48. package/dist-lib/integrations/supabase/client.d.ts +2793 -137
  49. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  50. package/dist-lib/integrations/supabase/client.server.d.ts +2793 -137
  51. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  52. package/dist-lib/integrations/supabase/types.d.ts +2870 -131
  53. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  54. package/dist-lib/integrations/supabase/types.js +2 -0
  55. package/dist-lib/lib/afhandelingSettings.functions.d.ts +18597 -0
  56. package/dist-lib/lib/afhandelingSettings.functions.d.ts.map +1 -0
  57. package/dist-lib/lib/afhandelingSettings.functions.js +98 -0
  58. package/dist-lib/lib/carrierSignupMail.server.d.ts +56 -0
  59. package/dist-lib/lib/carrierSignupMail.server.d.ts.map +1 -0
  60. package/dist-lib/lib/carrierSignupMail.server.js +229 -0
  61. package/dist-lib/lib/carriers.functions.d.ts +34091 -14161
  62. package/dist-lib/lib/carriers.functions.d.ts.map +1 -1
  63. package/dist-lib/lib/carriers.functions.js +69 -6
  64. package/dist-lib/lib/cartAssignments.functions.d.ts +46479 -0
  65. package/dist-lib/lib/cartAssignments.functions.d.ts.map +1 -0
  66. package/dist-lib/lib/cartAssignments.functions.js +130 -0
  67. package/dist-lib/lib/cartMoveImpact.d.ts +8 -0
  68. package/dist-lib/lib/cartMoveImpact.d.ts.map +1 -0
  69. package/dist-lib/lib/cartMoveImpact.js +26 -0
  70. package/dist-lib/lib/floriday.functions.d.ts +2798 -137
  71. package/dist-lib/lib/floriday.functions.d.ts.map +1 -1
  72. package/dist-lib/lib/floriday.functions.js +178 -93
  73. package/dist-lib/lib/geo/euServiceAreas.d.ts +30 -0
  74. package/dist-lib/lib/geo/euServiceAreas.d.ts.map +1 -0
  75. package/dist-lib/lib/geo/euServiceAreas.js +277 -0
  76. package/dist-lib/lib/invalidatePlanning.d.ts +11 -0
  77. package/dist-lib/lib/invalidatePlanning.d.ts.map +1 -0
  78. package/dist-lib/lib/invalidatePlanning.js +25 -0
  79. package/dist-lib/lib/pickDate.d.ts +21 -0
  80. package/dist-lib/lib/pickDate.d.ts.map +1 -0
  81. package/dist-lib/lib/pickDate.js +71 -0
  82. package/dist-lib/lib/pickstationI18n.d.ts +35 -0
  83. package/dist-lib/lib/pickstationI18n.d.ts.map +1 -0
  84. package/dist-lib/lib/pickstationI18n.js +171 -0
  85. package/dist-lib/lib/pickstationOrders.server.d.ts +9 -0
  86. package/dist-lib/lib/pickstationOrders.server.d.ts.map +1 -0
  87. package/dist-lib/lib/pickstationOrders.server.js +372 -0
  88. package/dist-lib/lib/pickstationTypes.d.ts +26 -0
  89. package/dist-lib/lib/pickstationTypes.d.ts.map +1 -0
  90. package/dist-lib/lib/pickstationTypes.js +1 -0
  91. package/dist-lib/lib/planning.d.ts +82 -0
  92. package/dist-lib/lib/planning.d.ts.map +1 -0
  93. package/dist-lib/lib/planning.js +243 -0
  94. package/package.json +12 -6
@@ -1,5 +1,6 @@
1
1
  import { createServerFn } from "@tanstack/react-start";
2
2
  import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
3
+ import { DEFAULT_PICKUP_MOMENT } from "./planning";
3
4
  function clean(obj) {
4
5
  const out = {};
5
6
  for (const [k, v] of Object.entries(obj)) {
@@ -10,21 +11,44 @@ function clean(obj) {
10
11
  }
11
12
  return out;
12
13
  }
14
+ function normalizeMoments(raw) {
15
+ if (!Array.isArray(raw) || raw.length === 0)
16
+ return [DEFAULT_PICKUP_MOMENT];
17
+ return raw.map((m) => {
18
+ const r = (m ?? {});
19
+ return {
20
+ signup_days: Number(r.signup_days ?? DEFAULT_PICKUP_MOMENT.signup_days),
21
+ signup_time: String(r.signup_time ?? DEFAULT_PICKUP_MOMENT.signup_time),
22
+ pickup_days: Number(r.pickup_days ?? DEFAULT_PICKUP_MOMENT.pickup_days),
23
+ pickup_time: String(r.pickup_time ?? DEFAULT_PICKUP_MOMENT.pickup_time),
24
+ delivery_days: Number(r.delivery_days ?? DEFAULT_PICKUP_MOMENT.delivery_days),
25
+ delivery_time: String(r.delivery_time ?? DEFAULT_PICKUP_MOMENT.delivery_time),
26
+ };
27
+ });
28
+ }
13
29
  export const listCarriers = createServerFn({ method: "GET" })
14
30
  .middleware([requireSupabaseAuth])
15
31
  .handler(async ({ context }) => {
16
32
  const { data, error } = await context.supabase
17
33
  .from("carriers")
18
34
  .select("*, carrier_shipping_rates(id)")
35
+ .order("sort_order", { ascending: true })
19
36
  .order("name", { ascending: true });
20
37
  if (error)
21
38
  throw new Error(error.message);
22
39
  const carriers = (data ?? []).map((row) => {
23
40
  const r = row;
24
41
  const rates = (r.carrier_shipping_rates ?? []);
25
- const { carrier_shipping_rates: _drop, ...rest } = r;
42
+ const { carrier_shipping_rates: _drop, pickup_moments, service_countries, service_provinces, service_cities, ...rest } = r;
26
43
  void _drop;
27
- return { ...rest, rate_count: rates.length };
44
+ return {
45
+ ...rest,
46
+ pickup_moments: normalizeMoments(pickup_moments),
47
+ service_countries: service_countries ?? [],
48
+ service_provinces: service_provinces ?? [],
49
+ service_cities: service_cities ?? [],
50
+ rate_count: rates.length,
51
+ };
28
52
  });
29
53
  return { carriers };
30
54
  });
@@ -45,9 +69,15 @@ export const getCarrier = createServerFn({ method: "GET" })
45
69
  .eq("carrier_id", data.id);
46
70
  if (ratesError)
47
71
  throw new Error(ratesError.message);
72
+ const c = carrier;
73
+ const { pickup_moments, service_countries, service_provinces, service_cities, ...rest } = c;
48
74
  return {
49
75
  carrier: {
50
- ...carrier,
76
+ ...rest,
77
+ pickup_moments: normalizeMoments(pickup_moments),
78
+ service_countries: service_countries ?? [],
79
+ service_provinces: service_provinces ?? [],
80
+ service_cities: service_cities ?? [],
51
81
  rates: (rates ?? []).map((r) => ({
52
82
  id: r.id,
53
83
  country_code: r.country_code,
@@ -64,19 +94,30 @@ export const upsertCarrier = createServerFn({ method: "POST" })
64
94
  if (!carrier.name || carrier.name.trim().length === 0) {
65
95
  throw new Error("Bedrijfsnaam is verplicht");
66
96
  }
97
+ const moments = normalizeMoments(carrier.pickup_moments);
67
98
  const payload = clean({
68
99
  name: carrier.name.trim(),
69
100
  contact_person: carrier.contact_person ?? null,
70
101
  email: carrier.email ?? null,
71
102
  phone: carrier.phone ?? null,
72
103
  address: carrier.address ?? null,
73
- delivery_days: carrier.delivery_days ?? null,
74
- signup_time_1: carrier.signup_time_1 ?? null,
75
- signup_time_2: carrier.signup_time_2 ?? null,
76
104
  notes: carrier.notes ?? null,
105
+ is_default: carrier.is_default ?? false,
106
+ pickup_moments: moments,
107
+ service_countries: Array.isArray(carrier.service_countries) ? carrier.service_countries : [],
108
+ service_provinces: Array.isArray(carrier.service_provinces) ? carrier.service_provinces : [],
109
+ service_cities: Array.isArray(carrier.service_cities) ? carrier.service_cities : [],
77
110
  });
78
111
  let carrierId;
79
112
  if (carrier.id) {
113
+ // Als deze als default wordt gemarkeerd, eerst andere defaults van deze user uitzetten
114
+ if (carrier.is_default) {
115
+ await context.supabase
116
+ .from("carriers")
117
+ .update({ is_default: false })
118
+ .eq("user_id", context.userId)
119
+ .neq("id", carrier.id);
120
+ }
80
121
  const { data: updated, error } = await context.supabase
81
122
  .from("carriers")
82
123
  .update(payload)
@@ -88,6 +129,12 @@ export const upsertCarrier = createServerFn({ method: "POST" })
88
129
  carrierId = updated.id;
89
130
  }
90
131
  else {
132
+ if (carrier.is_default) {
133
+ await context.supabase
134
+ .from("carriers")
135
+ .update({ is_default: false })
136
+ .eq("user_id", context.userId);
137
+ }
91
138
  const { data: inserted, error } = await context.supabase
92
139
  .from("carriers")
93
140
  .insert({ ...payload, user_id: context.userId })
@@ -129,3 +176,19 @@ export const deleteCarrier = createServerFn({ method: "POST" })
129
176
  throw new Error(error.message);
130
177
  return { ok: true };
131
178
  });
179
+ export const reorderCarriers = createServerFn({ method: "POST" })
180
+ .middleware([requireSupabaseAuth])
181
+ .inputValidator((data) => data)
182
+ .handler(async ({ data, context }) => {
183
+ const updates = data.orderedIds.map((id, index) => context.supabase
184
+ .from("carriers")
185
+ .update({ sort_order: index + 1 })
186
+ .eq("id", id)
187
+ .eq("user_id", context.userId));
188
+ const results = await Promise.all(updates);
189
+ for (const r of results) {
190
+ if (r.error)
191
+ throw new Error(r.error.message);
192
+ }
193
+ return { ok: true };
194
+ });