@flowselections/mailbox-orders 1.0.26 → 1.0.27
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/CartAssignmentWizard.d.ts +6 -0
- package/dist-lib/components/CartAssignmentWizard.d.ts.map +1 -0
- package/dist-lib/components/CartAssignmentWizard.js +199 -0
- package/dist-lib/components/MailboxInboxPage.d.ts +2 -0
- package/dist-lib/components/MailboxInboxPage.d.ts.map +1 -0
- package/dist-lib/components/MailboxInboxPage.js +120 -0
- package/dist-lib/components/MailboxProcessedPage.js +1 -1
- package/dist-lib/components/MailboxProposalsPage.js +5 -5
- package/dist-lib/components/settings/ImapAccountsCard.d.ts +2 -0
- package/dist-lib/components/settings/ImapAccountsCard.d.ts.map +1 -0
- package/dist-lib/components/settings/ImapAccountsCard.js +136 -0
- package/dist-lib/components/settings/ImapProfilesCard.d.ts +2 -0
- package/dist-lib/components/settings/ImapProfilesCard.d.ts.map +1 -0
- package/dist-lib/components/settings/ImapProfilesCard.js +101 -0
- package/dist-lib/components/settings/MailboxAiPromptCard.js +2 -2
- package/dist-lib/components/settings/MailboxOrderTemplateCard.js +1 -1
- package/dist-lib/components/settings/MailboxSettingsCard.d.ts +2 -0
- package/dist-lib/components/settings/MailboxSettingsCard.d.ts.map +1 -0
- package/dist-lib/components/settings/MailboxSettingsCard.js +85 -0
- package/dist-lib/integrations/supabase/client.server.js +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +2746 -7
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +1 -0
- package/dist-lib/lib/ai-config.server.d.ts +1 -1
- package/dist-lib/lib/imap.functions.d.ts +32852 -0
- package/dist-lib/lib/imap.functions.d.ts.map +1 -0
- package/dist-lib/lib/imap.functions.js +235 -0
- package/dist-lib/lib/mailbox-ai-settings.functions.d.ts +2 -2
- package/dist-lib/lib/mailbox-ai-settings.functions.js +1 -1
- package/dist-lib/lib/mailbox-ai.server.d.ts +1 -1
- package/dist-lib/lib/mailbox-auto.server.d.ts +9 -0
- package/dist-lib/lib/mailbox-auto.server.d.ts.map +1 -0
- package/dist-lib/lib/mailbox-auto.server.js +198 -0
- package/dist-lib/lib/mailbox-ingest.server.d.ts +1 -1
- package/dist-lib/lib/mailbox-ingest.server.js +1 -1
- package/dist-lib/lib/mailbox-template.functions.d.ts +6 -6
- package/dist-lib/lib/mailbox-template.functions.js +1 -1
- package/dist-lib/lib/mailbox.functions.d.ts +25 -24
- package/dist-lib/lib/mailbox.functions.d.ts.map +1 -1
- package/dist-lib/lib/mailbox.functions.js +22 -22
- package/dist-lib/server-routes.d.ts +9 -0
- package/dist-lib/server-routes.d.ts.map +1 -0
- package/dist-lib/server-routes.js +34 -0
- package/package.json +38 -6
|
@@ -34,7 +34,7 @@ export declare const getActiveOrdersMailbox: import("@tanstack/start-client-core
|
|
|
34
34
|
}>>;
|
|
35
35
|
export declare const syncMailboxNow: import("@tanstack/start-client-core").OptionalFetcher<undefined, (input: unknown) => {
|
|
36
36
|
trigger: "realtime" | "manual";
|
|
37
|
-
}, Promise<import("
|
|
37
|
+
}, Promise<import("../lib/mailbox-ingest.server").IngestRunResult | {
|
|
38
38
|
ok: false;
|
|
39
39
|
error: string;
|
|
40
40
|
processed: 0;
|
|
@@ -42,7 +42,7 @@ export declare const syncMailboxNow: import("@tanstack/start-client-core").Optio
|
|
|
42
42
|
errors: 1;
|
|
43
43
|
}>>;
|
|
44
44
|
export declare const getLastIngestRun: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
45
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
45
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
46
46
|
userId: string;
|
|
47
47
|
claims: import("@supabase/auth-js").User;
|
|
48
48
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -59,7 +59,7 @@ export declare const getLastIngestRun: import("@tanstack/start-client-core").Opt
|
|
|
59
59
|
}>>;
|
|
60
60
|
/** Handmatig één voorstel opnieuw laten analyseren met de huidige AI-agent. */
|
|
61
61
|
export declare const reparseProposalNow: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
62
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
62
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
63
63
|
userId: string;
|
|
64
64
|
claims: import("@supabase/auth-js").User;
|
|
65
65
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -70,7 +70,7 @@ export declare const reparseProposalNow: import("@tanstack/start-client-core").O
|
|
|
70
70
|
}>>;
|
|
71
71
|
/** Detecteert een gewijzigde AI-agent en herverwerkt openstaande voorstellen. */
|
|
72
72
|
export declare const refreshProposalsForAgentChange: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
73
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
73
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
74
74
|
userId: string;
|
|
75
75
|
claims: import("@supabase/auth-js").User;
|
|
76
76
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -80,7 +80,7 @@ export declare const refreshProposalsForAgentChange: import("@tanstack/start-cli
|
|
|
80
80
|
fingerprint: string | null;
|
|
81
81
|
}>>;
|
|
82
82
|
export declare const listMessages: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
83
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
83
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
84
84
|
userId: string;
|
|
85
85
|
claims: import("@supabase/auth-js").User;
|
|
86
86
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -97,7 +97,7 @@ export declare const listMessages: import("@tanstack/start-client-core").Optiona
|
|
|
97
97
|
}[];
|
|
98
98
|
}>>;
|
|
99
99
|
export declare const parseMessage: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
100
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
100
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
101
101
|
userId: string;
|
|
102
102
|
claims: import("@supabase/auth-js").User;
|
|
103
103
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -106,7 +106,7 @@ export declare const parseMessage: import("@tanstack/start-client-core").Optiona
|
|
|
106
106
|
ok: true;
|
|
107
107
|
}>>;
|
|
108
108
|
export declare const listProposals: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
109
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
109
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
110
110
|
userId: string;
|
|
111
111
|
claims: import("@supabase/auth-js").User;
|
|
112
112
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -116,7 +116,7 @@ export declare const listProposals: import("@tanstack/start-client-core").Option
|
|
|
116
116
|
}>>;
|
|
117
117
|
/** Eén voorstel volledig: mailtekst, bestelregels en veldwaarden. */
|
|
118
118
|
export declare const getProposalDetail: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
119
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
119
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
120
120
|
userId: string;
|
|
121
121
|
claims: import("@supabase/auth-js").User;
|
|
122
122
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -125,7 +125,7 @@ export declare const getProposalDetail: import("@tanstack/start-client-core").Op
|
|
|
125
125
|
item: any;
|
|
126
126
|
}>>;
|
|
127
127
|
export declare const listAllowedLoadCarriers: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
128
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
128
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
129
129
|
userId: string;
|
|
130
130
|
claims: import("@supabase/auth-js").User;
|
|
131
131
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -135,7 +135,7 @@ export declare const listAllowedLoadCarriers: import("@tanstack/start-client-cor
|
|
|
135
135
|
carriers: import("./load-carriers").EngineLoadCarrier[];
|
|
136
136
|
}>>;
|
|
137
137
|
export declare const approveProposal: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
138
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
138
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
139
139
|
userId: string;
|
|
140
140
|
claims: import("@supabase/auth-js").User;
|
|
141
141
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -163,7 +163,7 @@ export declare const approveProposal: import("@tanstack/start-client-core").Opti
|
|
|
163
163
|
shortages: any[];
|
|
164
164
|
}>>;
|
|
165
165
|
export declare const rejectProposal: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
166
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
166
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
167
167
|
userId: string;
|
|
168
168
|
claims: import("@supabase/auth-js").User;
|
|
169
169
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -173,7 +173,7 @@ export declare const rejectProposal: import("@tanstack/start-client-core").Optio
|
|
|
173
173
|
ok: true;
|
|
174
174
|
}>>;
|
|
175
175
|
export declare const reopenProposal: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
176
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
176
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
177
177
|
userId: string;
|
|
178
178
|
claims: import("@supabase/auth-js").User;
|
|
179
179
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -182,14 +182,14 @@ export declare const reopenProposal: import("@tanstack/start-client-core").Optio
|
|
|
182
182
|
ok: true;
|
|
183
183
|
}>>;
|
|
184
184
|
export declare const listCustomersForPicker: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
185
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
185
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
186
186
|
userId: string;
|
|
187
187
|
claims: import("@supabase/auth-js").User;
|
|
188
188
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
189
189
|
items: any[];
|
|
190
190
|
}>>;
|
|
191
191
|
export declare const createCustomerFromGroup: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
192
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
192
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
193
193
|
userId: string;
|
|
194
194
|
claims: import("@supabase/auth-js").User;
|
|
195
195
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -211,7 +211,7 @@ export declare const createCustomerFromGroup: import("@tanstack/start-client-cor
|
|
|
211
211
|
created: true;
|
|
212
212
|
}>>;
|
|
213
213
|
export declare const listProductsForPicker: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
214
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
214
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
215
215
|
userId: string;
|
|
216
216
|
claims: import("@supabase/auth-js").User;
|
|
217
217
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -219,7 +219,7 @@ export declare const listProductsForPicker: import("@tanstack/start-client-core"
|
|
|
219
219
|
allowBackorder: boolean;
|
|
220
220
|
}>>;
|
|
221
221
|
export declare const planAndSaveAutoCarts: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
222
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
222
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
223
223
|
userId: string;
|
|
224
224
|
claims: import("@supabase/auth-js").User;
|
|
225
225
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -250,7 +250,7 @@ export declare const planAndSaveAutoCarts: import("@tanstack/start-client-core")
|
|
|
250
250
|
nextCartNumber: number;
|
|
251
251
|
}>>;
|
|
252
252
|
export declare const saveManualCarts: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
253
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
253
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
254
254
|
userId: string;
|
|
255
255
|
claims: import("@supabase/auth-js").User;
|
|
256
256
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -271,7 +271,7 @@ export declare const saveManualCarts: import("@tanstack/start-client-core").Opti
|
|
|
271
271
|
ok: true;
|
|
272
272
|
}>>;
|
|
273
273
|
export declare const listOrderCarts: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
274
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
274
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
275
275
|
userId: string;
|
|
276
276
|
claims: import("@supabase/auth-js").User;
|
|
277
277
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -288,6 +288,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Requi
|
|
|
288
288
|
order_cart_items: {
|
|
289
289
|
boxes: number | null;
|
|
290
290
|
cart_id: string;
|
|
291
|
+
components: import("../integrations/supabase/types").Json | null;
|
|
291
292
|
crates: number;
|
|
292
293
|
crates_in_layer: number | null;
|
|
293
294
|
crates_per_layer: number;
|
|
@@ -306,7 +307,7 @@ export declare const listOrderCarts: import("@tanstack/start-client-core").Requi
|
|
|
306
307
|
}[];
|
|
307
308
|
}>>;
|
|
308
309
|
export declare const listDeliveryLocationsForCustomer: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
309
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
310
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
310
311
|
userId: string;
|
|
311
312
|
claims: import("@supabase/auth-js").User;
|
|
312
313
|
}, undefined, undefined, undefined>], (d: {
|
|
@@ -333,7 +334,7 @@ export declare const listDeliveryLocationsForCustomer: import("@tanstack/start-c
|
|
|
333
334
|
}[];
|
|
334
335
|
}>>;
|
|
335
336
|
export declare const listPickupLocations: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
336
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
337
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
337
338
|
userId: string;
|
|
338
339
|
claims: import("@supabase/auth-js").User;
|
|
339
340
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -345,7 +346,7 @@ export declare const listPickupLocations: import("@tanstack/start-client-core").
|
|
|
345
346
|
}[];
|
|
346
347
|
}>>;
|
|
347
348
|
export declare const listCarriersForPicker: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
348
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
349
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
349
350
|
userId: string;
|
|
350
351
|
claims: import("@supabase/auth-js").User;
|
|
351
352
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
@@ -357,18 +358,18 @@ export declare const listCarriersForPicker: import("@tanstack/start-client-core"
|
|
|
357
358
|
delivery_days: number | null;
|
|
358
359
|
pickup_weekdays: number[];
|
|
359
360
|
delivery_weekdays: number[];
|
|
360
|
-
pickup_moments: import("../integrations/supabase/types
|
|
361
|
+
pickup_moments: import("../integrations/supabase/types").Json;
|
|
361
362
|
}[];
|
|
362
363
|
}>>;
|
|
363
364
|
export declare const getOrderPickDays: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
364
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
365
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
365
366
|
userId: string;
|
|
366
367
|
claims: import("@supabase/auth-js").User;
|
|
367
368
|
}, undefined, undefined, undefined>], undefined, Promise<{
|
|
368
369
|
pickDays: number;
|
|
369
370
|
}>>;
|
|
370
371
|
export declare const listBeladingOptionsForProducts: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
|
|
371
|
-
supabase: import("../integrations/supabase/auth-middleware
|
|
372
|
+
supabase: import("../integrations/supabase/auth-middleware").AuthedSupabaseClient;
|
|
372
373
|
userId: string;
|
|
373
374
|
claims: import("@supabase/auth-js").User;
|
|
374
375
|
}, undefined, undefined, undefined>], (input: unknown) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailbox.functions.d.ts","sourceRoot":"","sources":["../../src/lib/mailbox.functions.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;QAiBf,MAAM;cACM,MAAM;mBACI,MAAM;kBACE,MAAM,GAAG,IAAI;YACzB,MAAM,GAAG,IAAI;gBACL,MAAM,GAAG,IAAI;sBACD,MAAM,GAAG,IAAI;;;GAGnE,CAAC;AAWL,eAAO,MAAM,cAAc,2EACD,OAAO;;;;;;;;GA+B7B,CAAC;AAGL,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;GAWzB,CAAC;AAEL,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB;;;;8CAEL,OAAO;;;;;GAK7B,CAAC;AAEL,iFAAiF;AACjF,eAAO,MAAM,8BAA8B;;;;;;;;;GAMvC,CAAC;AAML,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;GAWrB,CAAC;AAEL,eAAO,MAAM,YAAY;;;;8CAEC,OAAO;;;;GAa7B,CAAC;AAKL,eAAO,MAAM,aAAa;;;;8CAEA,OAAO;;;;GAmC7B,CAAC;AAIL,qEAAqE;AACrE,eAAO,MAAM,iBAAiB;;;;8CAEJ,OAAO;;;;GAyC7B,CAAC;AASL,eAAO,MAAM,uBAAuB;;;;;WAO+B,MAAM,GAAG,IAAI;;;;GAC5E,CAAC;AAgBL,eAAO,MAAM,eAAe;;;;8CAEF,OAAO;;;;;;;;;;;;;;;;;;;;;;;GA4K7B,CAAC;AAEL,eAAO,MAAM,cAAc;;;;8CAED,OAAO;;;;;GAY7B,CAAC;AAGL,eAAO,MAAM,cAAc;;;;8CAED,OAAO;;;;GAW7B,CAAC;AAQL,eAAO,MAAM,sBAAsB;;;;;;GAiD/B,CAAC;AAIL,eAAO,MAAM,uBAAuB;;;;8CAEV,OAAO;;;;;;;;;;;;QAyBiB,MAAM;;;QAoBxB,MAAM;;GAClC,CAAC;AAKL,eAAO,MAAM,qBAAqB;;;;;;;GAiH9B,CAAC;AAiBL,eAAO,MAAM,oBAAoB;;;;8CAEP,OAAO;;;;;qBAqBS,MAAM;sBAAgB,MAAM;gBAAU,MAAM;gBAAU,MAAM;kBAAY,MAAM;;;;uBAhCvG,MAAM;oBACT,MAAM,GAAG,IAAI;sBACX,MAAM;0BAEF,MAAM;0BACN,MAAM;yBACP,MAAM;;;qBA0FW,MAAM;eAClB,MAAM,GAAG,IAAI;;;;GAoBjC,CAAC;AAiBL,eAAO,MAAM,eAAe;;;;8CAEF,OAAO;;;;;;;;;;;;;;;;GAuC7B,CAAC;AAEL,eAAO,MAAM,cAAc;;;;0CAEL;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;aAAR,MAAM
|
|
1
|
+
{"version":3,"file":"mailbox.functions.d.ts","sourceRoot":"","sources":["../../src/lib/mailbox.functions.ts"],"names":[],"mappings":"AA6BA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;QAiBf,MAAM;cACM,MAAM;mBACI,MAAM;kBACE,MAAM,GAAG,IAAI;YACzB,MAAM,GAAG,IAAI;gBACL,MAAM,GAAG,IAAI;sBACD,MAAM,GAAG,IAAI;;;GAGnE,CAAC;AAWL,eAAO,MAAM,cAAc,2EACD,OAAO;;;;;;;;GA+B7B,CAAC;AAGL,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;GAWzB,CAAC;AAEL,+EAA+E;AAC/E,eAAO,MAAM,kBAAkB;;;;8CAEL,OAAO;;;;;GAK7B,CAAC;AAEL,iFAAiF;AACjF,eAAO,MAAM,8BAA8B;;;;;;;;;GAMvC,CAAC;AAML,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;GAWrB,CAAC;AAEL,eAAO,MAAM,YAAY;;;;8CAEC,OAAO;;;;GAa7B,CAAC;AAKL,eAAO,MAAM,aAAa;;;;8CAEA,OAAO;;;;GAmC7B,CAAC;AAIL,qEAAqE;AACrE,eAAO,MAAM,iBAAiB;;;;8CAEJ,OAAO;;;;GAyC7B,CAAC;AASL,eAAO,MAAM,uBAAuB;;;;;WAO+B,MAAM,GAAG,IAAI;;;;GAC5E,CAAC;AAgBL,eAAO,MAAM,eAAe;;;;8CAEF,OAAO;;;;;;;;;;;;;;;;;;;;;;;GA4K7B,CAAC;AAEL,eAAO,MAAM,cAAc;;;;8CAED,OAAO;;;;;GAY7B,CAAC;AAGL,eAAO,MAAM,cAAc;;;;8CAED,OAAO;;;;GAW7B,CAAC;AAQL,eAAO,MAAM,sBAAsB;;;;;;GAiD/B,CAAC;AAIL,eAAO,MAAM,uBAAuB;;;;8CAEV,OAAO;;;;;;;;;;;;QAyBiB,MAAM;;;QAoBxB,MAAM;;GAClC,CAAC;AAKL,eAAO,MAAM,qBAAqB;;;;;;;GAiH9B,CAAC;AAiBL,eAAO,MAAM,oBAAoB;;;;8CAEP,OAAO;;;;;qBAqBS,MAAM;sBAAgB,MAAM;gBAAU,MAAM;gBAAU,MAAM;kBAAY,MAAM;;;;uBAhCvG,MAAM;oBACT,MAAM,GAAG,IAAI;sBACX,MAAM;0BAEF,MAAM;0BACN,MAAM;yBACP,MAAM;;;qBA0FW,MAAM;eAClB,MAAM,GAAG,IAAI;;;;GAoBjC,CAAC;AAiBL,eAAO,MAAM,eAAe;;;;8CAEF,OAAO;;;;;;;;;;;;;;;;GAuC7B,CAAC;AAEL,eAAO,MAAM,cAAc;;;;0CAEL;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE;aAAR,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQnC,CAAC;AAEL,eAAO,MAAM,gCAAgC;;;;0CAEvB;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE;gBAAR,MAAM;;;;;;;;;;;;;;;;;;;GAUtC,CAAC;AAKL,eAAO,MAAM,mBAAmB;;;;;;YAqBD,MAAM;;;;;GAQjC,CAAC;AAEL,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;GAS9B,CAAC;AAGL,eAAO,MAAM,gBAAgB;;;;;;GAUzB,CAAC;AAiBL,eAAO,MAAM,8BAA8B;;;;8CAEjB,OAAO;;;;0BAOT,MAAM;0BAAoB,MAAM;yBAAmB,MAAM;oBAC/D,OAAO;oBACP,MAAM,GAAG,IAAI;oBAAc,MAAM,GAAG,IAAI;sBACtC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;yBAEO,MAAM;yBAAmB,MAAM;;;0BAL5E,MAAM;0BAAoB,MAAM;yBAAmB,MAAM;oBAC/D,OAAO;oBACP,MAAM,GAAG,IAAI;oBAAc,MAAM,GAAG,IAAI;sBACtC,MAAM,GAAG,IAAI;sBAAgB,MAAM,GAAG,IAAI;;;;;GAsM1D,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// Server functions voor de Mailbox-bestellingen module
|
|
2
2
|
import { createServerFn } from "@tanstack/react-start";
|
|
3
|
-
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware
|
|
3
|
+
import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware";
|
|
4
4
|
import { createClient } from "@supabase/supabase-js";
|
|
5
5
|
import { z } from "zod";
|
|
6
|
-
import { computeEarliestDelivery } from "
|
|
6
|
+
import { computeEarliestDelivery } from "../lib/delivery-date";
|
|
7
7
|
import { emailBodyText, inlineCidImages, normalizeAddressList, normalizeAttachments, sanitizeEmailHtml, stripInvisible, } from "./mailbox-body";
|
|
8
8
|
import { EMPTY_LOAD_CARRIERS, isLoadCarrierAllowed, loadCarrierLabel, normalizeAllowedLoadCarriers, } from "./load-carriers";
|
|
9
9
|
// ─── Actieve mailbox (uit gedeelde e-mail-auth module) ──────────────────────
|
|
@@ -66,7 +66,7 @@ export const syncMailboxNow = createServerFn({ method: "POST" })
|
|
|
66
66
|
if (userErr || !userData?.user) {
|
|
67
67
|
return { ok: false, error: "unauthorized", processed: 0, inserted: 0, errors: 1 };
|
|
68
68
|
}
|
|
69
|
-
const { runIngest } = await import("
|
|
69
|
+
const { runIngest } = await import("../lib/mailbox-ingest.server");
|
|
70
70
|
return await runIngest(data.trigger);
|
|
71
71
|
}
|
|
72
72
|
catch (e) {
|
|
@@ -82,7 +82,7 @@ export const syncMailboxNow = createServerFn({ method: "POST" })
|
|
|
82
82
|
export const getLastIngestRun = createServerFn({ method: "GET" })
|
|
83
83
|
.middleware([requireSupabaseAuth])
|
|
84
84
|
.handler(async () => {
|
|
85
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
85
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
86
86
|
const { data } = await supabaseAdmin
|
|
87
87
|
.from("mailbox_ingest_runs")
|
|
88
88
|
.select("id, trigger, started_at, finished_at, processed, inserted, errors, error_sample")
|
|
@@ -96,23 +96,23 @@ export const reparseProposalNow = createServerFn({ method: "POST" })
|
|
|
96
96
|
.middleware([requireSupabaseAuth])
|
|
97
97
|
.inputValidator((input) => z.object({ proposalId: z.string().uuid() }).parse(input))
|
|
98
98
|
.handler(async ({ data }) => {
|
|
99
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
100
|
-
const { reparseProposal } = await import("
|
|
99
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
100
|
+
const { reparseProposal } = await import("../lib/mailbox-ingest.server");
|
|
101
101
|
return reparseProposal(supabaseAdmin, data.proposalId);
|
|
102
102
|
});
|
|
103
103
|
/** Detecteert een gewijzigde AI-agent en herverwerkt openstaande voorstellen. */
|
|
104
104
|
export const refreshProposalsForAgentChange = createServerFn({ method: "POST" })
|
|
105
105
|
.middleware([requireSupabaseAuth])
|
|
106
106
|
.handler(async () => {
|
|
107
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
108
|
-
const { reparseChangedAgentProposals } = await import("
|
|
107
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
108
|
+
const { reparseChangedAgentProposals } = await import("../lib/mailbox-ingest.server");
|
|
109
109
|
return reparseChangedAgentProposals(supabaseAdmin);
|
|
110
110
|
});
|
|
111
111
|
// ─── Messages & Proposals ────────────────────────────────────────────────────
|
|
112
112
|
export const listMessages = createServerFn({ method: "GET" })
|
|
113
113
|
.middleware([requireSupabaseAuth])
|
|
114
114
|
.handler(async () => {
|
|
115
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
115
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
116
116
|
const { data, error } = await supabaseAdmin
|
|
117
117
|
.from("mailbox_messages")
|
|
118
118
|
.select("id, uid, from_email, from_name, subject, received_at, status, error_message, created_at")
|
|
@@ -126,8 +126,8 @@ export const parseMessage = createServerFn({ method: "POST" })
|
|
|
126
126
|
.middleware([requireSupabaseAuth])
|
|
127
127
|
.inputValidator((input) => z.object({ messageId: z.string().uuid() }).parse(input))
|
|
128
128
|
.handler(async ({ data }) => {
|
|
129
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
130
|
-
const { createStubProposal } = await import("
|
|
129
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
130
|
+
const { createStubProposal } = await import("../lib/mailbox-ingest.server");
|
|
131
131
|
const { data: msg, error: msgErr } = await supabaseAdmin
|
|
132
132
|
.from("mailbox_messages").select("*").eq("id", data.messageId).single();
|
|
133
133
|
if (msgErr || !msg)
|
|
@@ -142,7 +142,7 @@ export const listProposals = createServerFn({ method: "GET" })
|
|
|
142
142
|
.middleware([requireSupabaseAuth])
|
|
143
143
|
.inputValidator((input) => z.object({ status: z.enum(["pending", "approved", "rejected"]).optional() }).parse(input ?? {}))
|
|
144
144
|
.handler(async ({ data }) => {
|
|
145
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
145
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
146
146
|
// Alleen de kolommen die de lijstweergave toont. De mailtekst (body_text /
|
|
147
147
|
// body_html) en de bestelregels zijn bewust NIET opgenomen: die worden pas
|
|
148
148
|
// opgehaald zodra een voorstel geopend wordt (`getProposalDetail`).
|
|
@@ -178,7 +178,7 @@ export const getProposalDetail = createServerFn({ method: "GET" })
|
|
|
178
178
|
.middleware([requireSupabaseAuth])
|
|
179
179
|
.inputValidator((input) => z.object({ proposalId: z.string().uuid() }).parse(input))
|
|
180
180
|
.handler(async ({ data }) => {
|
|
181
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
181
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
182
182
|
const sel = (s) => s;
|
|
183
183
|
const { data: row, error } = await supabaseAdmin
|
|
184
184
|
.from("mailbox_order_proposals")
|
|
@@ -252,7 +252,7 @@ export const approveProposal = createServerFn({ method: "POST" })
|
|
|
252
252
|
fieldValues: z.array(FieldValueInput).max(100).optional(),
|
|
253
253
|
}).parse(input))
|
|
254
254
|
.handler(async ({ data, context }) => {
|
|
255
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
255
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
256
256
|
const customFields = {};
|
|
257
257
|
(data.fieldValues ?? []).forEach((fv) => {
|
|
258
258
|
customFields[fv.field_key] = fv.value;
|
|
@@ -384,7 +384,7 @@ export const rejectProposal = createServerFn({ method: "POST" })
|
|
|
384
384
|
.middleware([requireSupabaseAuth])
|
|
385
385
|
.inputValidator((input) => z.object({ proposalId: z.string().uuid(), reason: z.string().max(500).optional() }).parse(input))
|
|
386
386
|
.handler(async ({ data, context }) => {
|
|
387
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
387
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
388
388
|
await supabaseAdmin.from("mailbox_order_proposals").update({
|
|
389
389
|
status: "rejected",
|
|
390
390
|
reviewed_by: context.userId,
|
|
@@ -398,7 +398,7 @@ export const reopenProposal = createServerFn({ method: "POST" })
|
|
|
398
398
|
.middleware([requireSupabaseAuth])
|
|
399
399
|
.inputValidator((input) => z.object({ proposalId: z.string().uuid() }).parse(input))
|
|
400
400
|
.handler(async ({ data }) => {
|
|
401
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
401
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
402
402
|
await supabaseAdmin.from("mailbox_order_proposals").update({
|
|
403
403
|
status: "pending",
|
|
404
404
|
reviewed_by: null,
|
|
@@ -413,7 +413,7 @@ export const reopenProposal = createServerFn({ method: "POST" })
|
|
|
413
413
|
export const listCustomersForPicker = createServerFn({ method: "GET" })
|
|
414
414
|
.middleware([requireSupabaseAuth])
|
|
415
415
|
.handler(async () => {
|
|
416
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
416
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
417
417
|
const sb = supabaseAdmin;
|
|
418
418
|
const { data: grouped } = await sb
|
|
419
419
|
.from("external_customers_grouped")
|
|
@@ -474,7 +474,7 @@ export const createCustomerFromGroup = createServerFn({ method: "POST" })
|
|
|
474
474
|
phone: z.string().max(50).nullable().optional(),
|
|
475
475
|
}).parse(input))
|
|
476
476
|
.handler(async ({ data }) => {
|
|
477
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
477
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
478
478
|
const sb = supabaseAdmin;
|
|
479
479
|
const email = (data.email ?? "").trim().toLowerCase() || null;
|
|
480
480
|
const name = data.companyName.trim();
|
|
@@ -512,7 +512,7 @@ export const createCustomerFromGroup = createServerFn({ method: "POST" })
|
|
|
512
512
|
export const listProductsForPicker = createServerFn({ method: "GET" })
|
|
513
513
|
.middleware([requireSupabaseAuth])
|
|
514
514
|
.handler(async ({ context }) => {
|
|
515
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
515
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
516
516
|
// ── 1. Voorraad verzamelen ──────────────────────────────────────────────
|
|
517
517
|
const { data: stockRows } = await supabaseAdmin
|
|
518
518
|
.from("trade_item_stock")
|
|
@@ -633,7 +633,7 @@ export const planAndSaveAutoCarts = createServerFn({ method: "POST" })
|
|
|
633
633
|
.eq("order_id", data.orderId);
|
|
634
634
|
if (itErr)
|
|
635
635
|
throw new Error(itErr.message);
|
|
636
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
636
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
637
637
|
// Reset eventuele eerdere auto-karren (idempotent)
|
|
638
638
|
await supabaseAdmin.from("order_carts").delete().eq("order_id", data.orderId).eq("is_auto", true);
|
|
639
639
|
let cartNumber = 1;
|
|
@@ -743,7 +743,7 @@ export const saveManualCarts = createServerFn({ method: "POST" })
|
|
|
743
743
|
.middleware([requireSupabaseAuth])
|
|
744
744
|
.inputValidator((input) => z.object({ orderId: z.string().uuid(), carts: z.array(ManualCart) }).parse(input))
|
|
745
745
|
.handler(async ({ data }) => {
|
|
746
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
746
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
747
747
|
// Verwijder eerdere handmatige karren (replace strategy)
|
|
748
748
|
await supabaseAdmin.from("order_carts").delete()
|
|
749
749
|
.eq("order_id", data.orderId).eq("is_auto", false);
|
|
@@ -875,7 +875,7 @@ export const listBeladingOptionsForProducts = createServerFn({ method: "POST" })
|
|
|
875
875
|
.middleware([requireSupabaseAuth])
|
|
876
876
|
.inputValidator((input) => z.object({ productIds: z.array(z.string()).max(200) }).parse(input))
|
|
877
877
|
.handler(async ({ data }) => {
|
|
878
|
-
const { supabaseAdmin } = await import("../integrations/supabase/client.server
|
|
878
|
+
const { supabaseAdmin } = await import("../integrations/supabase/client.server");
|
|
879
879
|
const ids = Array.from(new Set((data.productIds ?? []).filter(Boolean)));
|
|
880
880
|
const byProduct = {};
|
|
881
881
|
function sortCombos(list) {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** POST /api/public/mailbox-orders/process-events (pg_cron, elke minuut). */
|
|
2
|
+
export declare function processEvents({ request }: {
|
|
3
|
+
request: Request;
|
|
4
|
+
}): Promise<Response>;
|
|
5
|
+
/** POST /api/public/mailbox-orders/webhook-ingest (directe webhook-trigger). */
|
|
6
|
+
export declare function webhookIngest({ request }: {
|
|
7
|
+
request: Request;
|
|
8
|
+
}): Promise<Response>;
|
|
9
|
+
//# sourceMappingURL=server-routes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-routes.d.ts","sourceRoot":"","sources":["../src/server-routes.ts"],"names":[],"mappings":"AAgCA,6EAA6E;AAC7E,wBAAsB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAExF;AAED,gFAAgF;AAChF,wBAAsB,aAAa,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAExF"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
// Server-route handlers voor de shell (flowselections.serverRoutes).
|
|
2
|
+
// Geen client-code en geen React. Authenticatie via `apikey` header tegen de
|
|
3
|
+
// Supabase publishable/anon key (fail closed als die ontbreekt).
|
|
4
|
+
function json(body, status) {
|
|
5
|
+
return new Response(JSON.stringify(body), {
|
|
6
|
+
status,
|
|
7
|
+
headers: { "Content-Type": "application/json" },
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
async function handle(request, trigger) {
|
|
11
|
+
const providedKey = request.headers.get("apikey");
|
|
12
|
+
const expectedKey = process.env.SUPABASE_PUBLISHABLE_KEY ?? process.env.SUPABASE_ANON_KEY;
|
|
13
|
+
if (!expectedKey)
|
|
14
|
+
return json({ ok: false, error: "server_misconfigured" }, 500);
|
|
15
|
+
if (!providedKey || providedKey !== expectedKey) {
|
|
16
|
+
return json({ ok: false, error: "unauthorized" }, 401);
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
const { runIngest } = await import("./lib/mailbox-ingest.server.js");
|
|
20
|
+
const result = await runIngest(trigger);
|
|
21
|
+
return json(result, 200);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
return json({ ok: false, error: String(e?.message ?? e) }, 500);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/** POST /api/public/mailbox-orders/process-events (pg_cron, elke minuut). */
|
|
28
|
+
export async function processEvents({ request }) {
|
|
29
|
+
return handle(request, "cron");
|
|
30
|
+
}
|
|
31
|
+
/** POST /api/public/mailbox-orders/webhook-ingest (directe webhook-trigger). */
|
|
32
|
+
export async function webhookIngest({ request }) {
|
|
33
|
+
return handle(request, "realtime");
|
|
34
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowselections/mailbox-orders",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.27",
|
|
4
4
|
"private": false,
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"type": "module",
|
|
@@ -11,7 +11,11 @@
|
|
|
11
11
|
"types": "./dist-lib/index.d.ts",
|
|
12
12
|
"default": "./dist-lib/index.js"
|
|
13
13
|
},
|
|
14
|
-
"./styles": "./dist-lib/styles.css"
|
|
14
|
+
"./styles": "./dist-lib/styles.css",
|
|
15
|
+
"./server-routes": {
|
|
16
|
+
"types": "./dist-lib/server-routes.d.ts",
|
|
17
|
+
"default": "./dist-lib/server-routes.js"
|
|
18
|
+
}
|
|
15
19
|
},
|
|
16
20
|
"files": [
|
|
17
21
|
"dist-lib",
|
|
@@ -47,13 +51,13 @@
|
|
|
47
51
|
"@cloudflare/vite-plugin": "^1.25.5",
|
|
48
52
|
"@eslint/js": "^9.32.0",
|
|
49
53
|
"@flowselections/core": "1.0.29",
|
|
50
|
-
"@lovable.dev/vite-tanstack-config": "2.
|
|
54
|
+
"@lovable.dev/vite-tanstack-config": "2.26.5",
|
|
51
55
|
"@rsbuild/core": "^1.0.0",
|
|
52
56
|
"@tailwindcss/vite": "^4.2.1",
|
|
53
57
|
"@tanstack/react-query": "^5.83.0",
|
|
54
|
-
"@tanstack/react-router": "
|
|
55
|
-
"@tanstack/react-start": "
|
|
56
|
-
"@tanstack/router-plugin": "
|
|
58
|
+
"@tanstack/react-router": "1.169.1",
|
|
59
|
+
"@tanstack/react-start": "1.167.63",
|
|
60
|
+
"@tanstack/router-plugin": "1.167.33",
|
|
57
61
|
"@types/node": "^22.16.5",
|
|
58
62
|
"@types/react": "^19.2.0",
|
|
59
63
|
"@types/react-dom": "^19.2.0",
|
|
@@ -88,6 +92,34 @@
|
|
|
88
92
|
"route": "mailbox-orders/verwerkt",
|
|
89
93
|
"title": "Verwerkt"
|
|
90
94
|
}
|
|
95
|
+
],
|
|
96
|
+
"serverRoutes": [
|
|
97
|
+
{
|
|
98
|
+
"routePath": "/api/public/mailbox-orders/process-events",
|
|
99
|
+
"import": "@flowselections/mailbox-orders/server-routes",
|
|
100
|
+
"handler": "processEvents",
|
|
101
|
+
"methods": [
|
|
102
|
+
"POST"
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"routePath": "/api/public/mailbox-orders/webhook-ingest",
|
|
107
|
+
"import": "@flowselections/mailbox-orders/server-routes",
|
|
108
|
+
"handler": "webhookIngest",
|
|
109
|
+
"methods": [
|
|
110
|
+
"POST"
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
],
|
|
114
|
+
"crons": [
|
|
115
|
+
{
|
|
116
|
+
"name": "mailbox-orders-process-events",
|
|
117
|
+
"schedule": "* * * * *",
|
|
118
|
+
"kind": "http",
|
|
119
|
+
"path": "/api/public/mailbox-orders/process-events",
|
|
120
|
+
"auth": "anon",
|
|
121
|
+
"timeoutMs": 30000
|
|
122
|
+
}
|
|
91
123
|
]
|
|
92
124
|
}
|
|
93
125
|
}
|