@flowselections/floriday-authenticatie-module 1.0.53 → 1.0.55

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 (46) hide show
  1. package/dist-lib/components/floriday/FlorydayConnectionPage.d.ts.map +1 -1
  2. package/dist-lib/components/floriday/FlorydayConnectionPage.js +2 -1
  3. package/dist-lib/components/floriday/FlorydayShellRoutesCard.d.ts +2 -0
  4. package/dist-lib/components/floriday/FlorydayShellRoutesCard.d.ts.map +1 -0
  5. package/dist-lib/components/floriday/FlorydayShellRoutesCard.js +22 -0
  6. package/dist-lib/components/settings/FlorydaySettingsCard.d.ts.map +1 -1
  7. package/dist-lib/components/settings/FlorydaySettingsCard.js +26 -48
  8. package/dist-lib/index.js +1 -1
  9. package/dist-lib/integrations/supabase/client.server.d.ts +2 -32082
  10. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  11. package/dist-lib/integrations/supabase/types.d.ts +1418 -6
  12. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  13. package/dist-lib/lib/cron/process-stock-queue.d.ts +44 -5
  14. package/dist-lib/lib/cron/process-stock-queue.d.ts.map +1 -1
  15. package/dist-lib/lib/cron/process-stock-queue.js +167 -96
  16. package/dist-lib/lib/floriday-gln.d.ts +6 -0
  17. package/dist-lib/lib/floriday-gln.d.ts.map +1 -0
  18. package/dist-lib/lib/floriday-gln.js +22 -0
  19. package/dist-lib/lib/floriday-own-config.d.ts +68 -0
  20. package/dist-lib/lib/floriday-own-config.d.ts.map +1 -0
  21. package/dist-lib/lib/floriday-own-config.js +73 -0
  22. package/dist-lib/lib/floriday-scopes.d.ts +7 -0
  23. package/dist-lib/lib/floriday-scopes.d.ts.map +1 -1
  24. package/dist-lib/lib/floriday-scopes.js +34 -0
  25. package/dist-lib/lib/floriday-sync.functions.d.ts.map +1 -1
  26. package/dist-lib/lib/floriday-sync.functions.js +12 -2
  27. package/dist-lib/lib/floriday.functions.d.ts +49 -12
  28. package/dist-lib/lib/floriday.functions.d.ts.map +1 -1
  29. package/dist-lib/lib/floriday.functions.js +221 -63
  30. package/dist-lib/lib/gateway/diagnostics.d.ts.map +1 -1
  31. package/dist-lib/lib/gateway/diagnostics.js +12 -0
  32. package/dist-lib/lib/gateway/floriday-get.d.ts +55 -0
  33. package/dist-lib/lib/gateway/floriday-get.d.ts.map +1 -0
  34. package/dist-lib/lib/gateway/floriday-get.js +185 -0
  35. package/dist-lib/lib/gateway/index.d.ts +1 -0
  36. package/dist-lib/lib/gateway/index.d.ts.map +1 -1
  37. package/dist-lib/lib/gateway/index.js +1 -0
  38. package/dist-lib/lib/gateway/webhook-subscribe.d.ts.map +1 -1
  39. package/dist-lib/lib/gateway/webhook-subscribe.js +13 -1
  40. package/dist-lib/lib/shell-base.d.ts +2 -0
  41. package/dist-lib/lib/shell-base.d.ts.map +1 -0
  42. package/dist-lib/lib/shell-base.js +31 -0
  43. package/dist-lib/lib/shell-routes.d.ts +25 -0
  44. package/dist-lib/lib/shell-routes.d.ts.map +1 -0
  45. package/dist-lib/lib/shell-routes.js +127 -0
  46. package/package.json +6 -489
@@ -1 +1 @@
1
- {"version":3,"file":"floriday-sync.functions.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-sync.functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"floriday-sync.functions.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-sync.functions.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@
7
7
  // ============================================================================
8
8
  import { createServerFn } from "@tanstack/react-start";
9
9
  import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware.js";
10
- import { FLORYDAY_CONTRACT_PERMISSION_MESSAGE, FLORYDAY_SALES_STRATEGY_PERMISSION_MESSAGE, FLORYDAY_SUPPLY_PERMISSION_MESSAGE, } from "./floriday-scopes.js";
10
+ import { FLORYDAY_CONTRACT_PERMISSION_MESSAGE, FLORYDAY_SALES_STRATEGY_PERMISSION_MESSAGE, FLORYDAY_SUPPLY_PERMISSION_MESSAGE, floridayErrorShowsMissingPermission, } from "./floriday-scopes.js";
11
11
  import { SUPPLIERS_API_VERSION, getActiveFlorydayCredentials, resolveVerifiedFlorydayCronUrl, syncFloridayEntityBySequence, } from "./floriday.functions.js";
12
12
  // Stale-write bescherming (gedeeld met de connections-sync): een vertraagde
13
13
  // batch mag een nieuwere cache-rij nooit terugzetten.
@@ -406,6 +406,14 @@ const RESOURCE_CONFIG = {
406
406
  if (rows.length === 0)
407
407
  return;
408
408
  await upsertInChunks(supabase, "floriday_warehouses_cache", rows, "connection_id,floriday_id", "warehouses");
409
+ // Voorkeursmagazijn alleen vullen als het leeg is (op id); niet-fataal.
410
+ try {
411
+ const { autoFillPreferredWarehouse } = await import("./floriday.functions.js");
412
+ await autoFillPreferredWarehouse(supabase, connectionId);
413
+ }
414
+ catch (e) {
415
+ console.warn("[floriday] automatisch voorkeursmagazijn mislukt:", e);
416
+ }
409
417
  },
410
418
  },
411
419
  "delivery-locations": {
@@ -660,7 +668,9 @@ async function runSyncHandler(context, environment, resource) {
660
668
  else if (isContractResource && policyDenied) {
661
669
  message = FLORYDAY_CONTRACT_PERMISSION_MESSAGE;
662
670
  }
663
- else if (resource === "catalog-prices" && policyDenied) {
671
+ else if (resource === "catalog-prices" &&
672
+ floridayErrorShowsMissingPermission(rawMessage)) {
673
+ // Alleen bij aantoonbaar ontbrekend recht; een kale 403 tonen we ongewijzigd.
664
674
  message = FLORYDAY_SUPPLY_PERMISSION_MESSAGE;
665
675
  }
666
676
  return {
@@ -1,10 +1,7 @@
1
1
  import type { SupabaseClient } from "@supabase/supabase-js";
2
2
  export type FlorydayEnvironment = "staging" | "live";
3
- /**
4
- * Valideert een GS1 GLN: exact 13 cijfers met geldige check digit.
5
- * Retourneert null als geldig, anders een nl-foutmelding.
6
- */
7
- export declare function validateGln(input: string): string | null;
3
+ export { validateGln } from "./floriday-gln.js";
4
+ import { type GlnDecision, type PreferredWarehouseDecision } from "./floriday-own-config.js";
8
5
  export interface FlorydayConnectionPublic {
9
6
  id: string;
10
7
  environment: FlorydayEnvironment;
@@ -46,6 +43,40 @@ export declare function getFlorydayAccessToken(supabase: SupabaseClient, env: Fl
46
43
  forceRefresh?: boolean;
47
44
  scope?: string;
48
45
  }): Promise<string>;
46
+ /** Eigen magazijnen van een koppeling uit de cache (op id). */
47
+ export declare function loadOwnWarehousesFromCache(admin: SupabaseClient, connectionId: string): Promise<Array<{
48
+ id: string;
49
+ name: string;
50
+ gln: string | null;
51
+ isDefault: boolean;
52
+ isDeleted: boolean;
53
+ isExternal: boolean;
54
+ hasAccess: boolean;
55
+ }>>;
56
+ /**
57
+ * Vult preferred_warehouse_id alleen als die leeg is: bij precies één eigen
58
+ * magazijn, of bij meerdere met precies één Floriday-standaardmagazijn.
59
+ * Altijd op id; bestaande keuze wordt nooit overschreven.
60
+ */
61
+ export declare function autoFillPreferredWarehouse(admin: SupabaseClient, connectionId: string): Promise<PreferredWarehouseDecision>;
62
+ export interface FlorydayOwnConfigStatus {
63
+ connected: boolean;
64
+ gln: GlnDecision | null;
65
+ storedGln: string | null;
66
+ warehouse: PreferredWarehouseDecision | null;
67
+ preferredWarehouseId: string | null;
68
+ preferredWarehouseName: string | null;
69
+ ownWarehouses: FlorydayWarehouse[];
70
+ }
71
+ export declare const getFlorydayOwnConfigStatus: import("@tanstack/start-client-core").RequiredFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
72
+ supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
73
+ userId: string;
74
+ claims: import("@supabase/auth-js").JwtPayload;
75
+ }, undefined, undefined, undefined>], (input: {
76
+ environment: FlorydayEnvironment;
77
+ }) => {
78
+ environment: FlorydayEnvironment;
79
+ }, Promise<FlorydayOwnConfigStatus>>;
49
80
  export declare function getActiveFlorydayEnvironment(supabase: SupabaseClient): Promise<FlorydayEnvironment>;
50
81
  export declare function florydayFetch(supabase: SupabaseClient, pathOrEnv: string | FlorydayEnvironment, pathOrInit?: string | RequestInit, maybeInit?: RequestInit): Promise<Response>;
51
82
  export declare const listFlorydayConnections: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
@@ -178,6 +209,8 @@ export declare function resolveVerifiedFlorydayCronUrl(path: string): Promise<st
178
209
  export declare function syncShellHostRuntimeConfig(): Promise<{
179
210
  base: string | null;
180
211
  changed: boolean;
212
+ shellBaseChanged?: boolean;
213
+ skipped?: string;
181
214
  }>;
182
215
  export declare const getFlorydayShellHostStatus: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
183
216
  supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
@@ -198,6 +231,15 @@ export declare const getFlorydayShellHostStatus: import("@tanstack/start-client-
198
231
  matches: boolean;
199
232
  error?: undefined;
200
233
  }>>;
234
+ export declare const getFlorydayShellRoutesStatus: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
235
+ supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
236
+ userId: string;
237
+ claims: import("@supabase/auth-js").JwtPayload;
238
+ }, undefined, undefined, undefined>], (d: {
239
+ force?: boolean;
240
+ } | undefined) => {
241
+ force: boolean;
242
+ }, Promise<import("./shell-routes.js").ShellRoutesReport>>;
201
243
  export declare const repairFlorydayShellHost: import("@tanstack/start-client-core").OptionalFetcher<readonly [import("@tanstack/start-client-core").FunctionMiddlewareAfterServer<{}, unknown, undefined, {
202
244
  supabase: import("../integrations/supabase/auth-middleware.js").AuthedSupabaseClient;
203
245
  userId: string;
@@ -256,14 +298,10 @@ export declare const updateFlorydayPublishingSettings: import("@tanstack/start-c
256
298
  claims: import("@supabase/auth-js").JwtPayload;
257
299
  }, undefined, undefined, undefined>], (input: {
258
300
  environment: FlorydayEnvironment;
259
- gln_code?: string | null;
260
- preferred_warehouse_id?: string | null;
261
- preferred_warehouse_name?: string | null;
301
+ preferred_warehouse_id: string;
262
302
  }) => {
263
- gln_code: string | null;
264
303
  environment: FlorydayEnvironment;
265
- preferred_warehouse_id?: string | null;
266
- preferred_warehouse_name?: string | null;
304
+ preferred_warehouse_id: string;
267
305
  }, Promise<{
268
306
  ok: true;
269
307
  }>>;
@@ -510,5 +548,4 @@ export declare const getFlorydayCredentialStatus: import("@tanstack/start-client
510
548
  reason: "ready";
511
549
  message: "Floriday-credential is geldig.";
512
550
  }>>;
513
- export {};
514
551
  //# sourceMappingURL=floriday.functions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"floriday.functions.d.ts","sourceRoot":"","sources":["../../src/lib/floriday.functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"floriday.functions.d.ts","sourceRoot":"","sources":["../../src/lib/floriday.functions.ts"],"names":[],"mappings":"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"}
@@ -7,27 +7,8 @@
7
7
  import { createServerFn } from "@tanstack/react-start";
8
8
  import { requireSupabaseAuth } from "../integrations/supabase/auth-middleware.js";
9
9
  import { FLORYDAY_CLOCK_SUPPLY_PERMISSION_MESSAGE, FLORYDAY_CONTRACT_PERMISSION_MESSAGE, FLORYDAY_SALES_STRATEGY_PERMISSION_MESSAGE, FLORYDAY_STANDARD_SCOPE, getFlorydayScopeForPath, isClockSupplyScope, isContractScope, isSalesStrategyScope, } from "./floriday-scopes.js";
10
- /**
11
- * Valideert een GS1 GLN: exact 13 cijfers met geldige check digit.
12
- * Retourneert null als geldig, anders een nl-foutmelding.
13
- */
14
- export function validateGln(input) {
15
- const v = input.trim();
16
- if (!v)
17
- return "GLN-code is verplicht";
18
- if (!/^\d{13}$/.test(v))
19
- return "GLN-code moet uit precies 13 cijfers bestaan";
20
- const digits = v.split("").map(Number);
21
- // GS1 mod-10: positie 1 (meest links) ×3, positie 2 ×1, … t/m positie 12.
22
- let sum = 0;
23
- for (let i = 0; i < 12; i++) {
24
- sum += digits[i] * (i % 2 === 0 ? 3 : 1);
25
- }
26
- const check = (10 - (sum % 10)) % 10;
27
- if (check !== digits[12])
28
- return "GLN-code heeft een ongeldig controlecijfer";
29
- return null;
30
- }
10
+ export { validateGln } from "./floriday-gln.js";
11
+ import { decideGln, decidePreferredWarehouse, isOwnWarehouse, warehouseLabel } from "./floriday-own-config.js";
31
12
  const FLORYDAY_ENDPOINTS = {
32
13
  staging: {
33
14
  tokenUrl: "https://idm.staging.floriday.io/oauth2/ausmw6b47z1BnlHkw0h7/v1/token",
@@ -281,20 +262,36 @@ async function fetchAndStoreFlorydayOrganizationName(supabase, env, connectionId
281
262
  }
282
263
  const orgJson = await orgRes.json().catch(() => null);
283
264
  const name = orgJson?.name ?? orgJson?.commercialName ?? null;
284
- const gln = orgJson?.companyGln ?? null;
285
- if (!name)
286
- return null;
287
- // Lees huidige rij om gln_code niet te overschrijven als die al gezet is.
265
+ const remoteGln = orgJson?.companyGln ?? null;
288
266
  const { data: existing } = await supabaseAdmin
289
267
  .from("floriday_connections")
290
268
  .select("gln_code")
291
269
  .eq("id", connectionId)
292
270
  .maybeSingle();
293
- const update = { organization_name: name };
294
- if (gln && !existing?.gln_code) {
295
- update.gln_code = gln;
271
+ const storedGln = existing?.gln_code ?? null;
272
+ const decision = decideGln({ stored: storedGln, fromFloriday: remoteGln });
273
+ if (name) {
274
+ await supabaseAdmin
275
+ .from("floriday_connections")
276
+ .update({ organization_name: name })
277
+ .eq("id", connectionId);
296
278
  }
297
- await supabaseAdmin.from("floriday_connections").update(update).eq("id", connectionId);
279
+ if (decision.kind === "fill") {
280
+ // Alleen een leeg veld vullen; filter op null voorkomt overschrijven.
281
+ await supabaseAdmin
282
+ .from("floriday_connections")
283
+ .update({ gln_code: decision.gln })
284
+ .eq("id", connectionId)
285
+ .is("gln_code", null);
286
+ console.log(`[floriday] gln_code automatisch ingevuld uit Floriday (connection ${connectionId})`);
287
+ }
288
+ else if (decision.kind === "mismatch") {
289
+ console.warn(`[floriday] GLN in Floriday wijkt af van opgeslagen GLN (connection ${connectionId}); niet overschreven`);
290
+ }
291
+ else if (decision.kind === "invalid") {
292
+ console.warn(`[floriday] companyGln uit Floriday ongeldig (${decision.error}); niet opgeslagen`);
293
+ }
294
+ await autoFillPreferredWarehouse(supabaseAdmin, connectionId).catch(() => null);
298
295
  return name;
299
296
  }
300
297
  catch (e) {
@@ -302,6 +299,113 @@ async function fetchAndStoreFlorydayOrganizationName(supabase, env, connectionId
302
299
  return null;
303
300
  }
304
301
  }
302
+ /** Haalt companyGln van de eigen organisatie op (null als niet beschikbaar). */
303
+ async function fetchOwnCompanyGln(supabase, env) {
304
+ try {
305
+ const tsRes = await florydayFetch(supabase, env, `/${SUPPLIERS_API_VERSION}/trade-settings/supplier/current-organization`);
306
+ if (!tsRes.ok)
307
+ return null;
308
+ const orgId = (await tsRes.json().catch(() => null))?.supplierOrganizationId;
309
+ if (!orgId)
310
+ return null;
311
+ const orgRes = await florydayFetch(supabase, env, `/${SUPPLIERS_API_VERSION}/organizations/${orgId}`);
312
+ if (!orgRes.ok)
313
+ return null;
314
+ return (await orgRes.json().catch(() => null))?.companyGln ?? null;
315
+ }
316
+ catch {
317
+ return null;
318
+ }
319
+ }
320
+ /** Eigen magazijnen van een koppeling uit de cache (op id). */
321
+ export async function loadOwnWarehousesFromCache(admin, connectionId) {
322
+ const { data } = await admin
323
+ .from("floriday_warehouses_cache")
324
+ .select("floriday_id, name, gln_code, data")
325
+ .eq("connection_id", connectionId)
326
+ .limit(500);
327
+ return (data ?? [])
328
+ .map((r) => ({
329
+ id: String(r.floriday_id ?? r?.data?.warehouseId ?? ""),
330
+ name: warehouseLabel(r),
331
+ gln: r.gln_code ?? r?.data?.location?.gln ?? null,
332
+ isDefault: r?.data?.isDefault === true,
333
+ isDeleted: r?.data?.isDeleted === true,
334
+ isExternal: r?.data?.isExternal === true,
335
+ hasAccess: r?.data?.hasAccess !== false,
336
+ }))
337
+ .filter((w) => w.id && isOwnWarehouse(w));
338
+ }
339
+ /**
340
+ * Vult preferred_warehouse_id alleen als die leeg is: bij precies één eigen
341
+ * magazijn, of bij meerdere met precies één Floriday-standaardmagazijn.
342
+ * Altijd op id; bestaande keuze wordt nooit overschreven.
343
+ */
344
+ export async function autoFillPreferredWarehouse(admin, connectionId) {
345
+ const { data: conn } = await admin
346
+ .from("floriday_connections")
347
+ .select("preferred_warehouse_id")
348
+ .eq("id", connectionId)
349
+ .maybeSingle();
350
+ const own = await loadOwnWarehousesFromCache(admin, connectionId);
351
+ const decision = decidePreferredWarehouse({ currentId: conn?.preferred_warehouse_id ?? null, warehouses: own });
352
+ if (decision.kind === "fill") {
353
+ const chosen = own.find((w) => w.id === decision.id);
354
+ const { data: updated } = await admin
355
+ .from("floriday_connections")
356
+ .update({ preferred_warehouse_id: decision.id, preferred_warehouse_name: chosen?.name ?? null })
357
+ .eq("id", connectionId)
358
+ .is("preferred_warehouse_id", null)
359
+ .select("id");
360
+ if (Array.isArray(updated) && updated.length > 0) {
361
+ console.log(`[floriday] voorkeursmagazijn automatisch ingevuld (${decision.reason}) voor connection ${connectionId}`);
362
+ }
363
+ }
364
+ return decision;
365
+ }
366
+ export const getFlorydayOwnConfigStatus = createServerFn({ method: "POST" })
367
+ .middleware([requireSupabaseAuth])
368
+ .inputValidator((input) => {
369
+ if (!["staging", "live"].includes(input.environment))
370
+ throw new Error("Ongeldige environment");
371
+ return input;
372
+ })
373
+ .handler(async ({ data, context }) => {
374
+ const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
375
+ const row = await getActiveFlorydayCredentials(context.supabase, data.environment);
376
+ if (!row) {
377
+ return { connected: false, gln: null, storedGln: null, warehouse: null, preferredWarehouseId: null, preferredWarehouseName: null, ownWarehouses: [] };
378
+ }
379
+ // GLN: lezen uit Floriday, alleen een leeg veld vullen.
380
+ const remote = await fetchOwnCompanyGln(context.supabase, data.environment);
381
+ const { data: cur } = await supabaseAdmin
382
+ .from("floriday_connections")
383
+ .select("gln_code")
384
+ .eq("id", row.id)
385
+ .maybeSingle();
386
+ const gln = decideGln({ stored: cur?.gln_code ?? null, fromFloriday: remote });
387
+ if (gln.kind === "fill") {
388
+ await supabaseAdmin.from("floriday_connections").update({ gln_code: gln.gln }).eq("id", row.id).is("gln_code", null);
389
+ }
390
+ const warehouse = await autoFillPreferredWarehouse(supabaseAdmin, row.id);
391
+ const { data: after } = await supabaseAdmin
392
+ .from("floriday_connections")
393
+ .select("gln_code, preferred_warehouse_id, preferred_warehouse_name")
394
+ .eq("id", row.id)
395
+ .maybeSingle();
396
+ const own = await loadOwnWarehousesFromCache(supabaseAdmin, row.id);
397
+ return {
398
+ connected: true,
399
+ gln,
400
+ storedGln: after?.gln_code ?? null,
401
+ warehouse,
402
+ preferredWarehouseId: after?.preferred_warehouse_id ?? null,
403
+ preferredWarehouseName: after?.preferred_warehouse_name ?? null,
404
+ ownWarehouses: own
405
+ .map((w) => ({ id: w.id, name: w.name, gln: w.gln, isDefault: w.isDefault }))
406
+ .sort((a, b) => (a.isDefault !== b.isDefault ? (a.isDefault ? -1 : 1) : a.name.localeCompare(b.name, "nl"))),
407
+ };
408
+ });
305
409
  export async function getActiveFlorydayEnvironment(supabase) {
306
410
  const { data } = await supabase
307
411
  .from("floriday_settings")
@@ -578,6 +682,15 @@ export const upsertFlorydayConnection = createServerFn({ method: "POST" })
578
682
  catch (e) {
579
683
  console.error("[floriday] auto webhook-subscribe failed:", e);
580
684
  }
685
+ // Controle of de Shell alle gateway-routes van deze module bedient.
686
+ try {
687
+ const { checkShellRoutes, logShellRoutesReport } = await import("./shell-routes.js");
688
+ const r = await checkShellRoutes({ force: true });
689
+ await logShellRoutesReport(supabaseAdmin, r, "nieuwe/gewijzigde koppeling");
690
+ }
691
+ catch (e) {
692
+ console.error("[floriday] shell-routes check failed:", e);
693
+ }
581
694
  // Automatisch (her)plan de uurlijkse token-refresh cron. Niet-fataal
582
695
  // bij falen — credentials zijn al opgeslagen.
583
696
  try {
@@ -889,36 +1002,69 @@ export async function resolveVerifiedFlorydayCronUrl(path) {
889
1002
  export async function syncShellHostRuntimeConfig() {
890
1003
  let base = null;
891
1004
  try {
892
- // Voor deze databasewaarde is géén project/env-fallback toegestaan: een
893
- // gekopieerde module zou dan ongemerkt terug naar de bouwshell wijzen.
894
- // Alleen de actieve tenant-host uit Central Auth mag deze waarde bepalen.
1005
+ // Geen project/env-fallback: alleen de actieve tenant-host uit Central
1006
+ // Auth mag deze waarden bepalen.
895
1007
  const { getShellHostFromCentral } = await import("./central-auth.server.js");
896
- base = await getShellHostFromCentral();
897
- if (!base)
898
- return { base: null, changed: false };
1008
+ const { normalizeShellBase } = await import("./shell-base.js");
1009
+ const raw = await getShellHostFromCentral();
1010
+ if (!raw)
1011
+ return { base: null, changed: false, skipped: "Central Auth gaf geen shell-host" };
1012
+ base = normalizeShellBase(raw);
1013
+ if (!base) {
1014
+ console.warn(`[floriday] shell-host uit Central Auth afgewezen (ongeldig): ${String(raw).slice(0, 120)}`);
1015
+ return { base: null, changed: false, skipped: "ongeldige shell-host" };
1016
+ }
899
1017
  }
900
1018
  catch {
901
- return { base: null, changed: false };
1019
+ return { base: null, changed: false, skipped: "Central Auth niet bereikbaar" };
902
1020
  }
903
1021
  try {
904
1022
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
905
- const { data: current } = await supabaseAdmin
1023
+ const db = supabaseAdmin;
1024
+ const { data: rows } = await db
906
1025
  .from("module_runtime_config")
907
- .select("value")
908
- .eq("key", "stock_queue_processor_base_url")
909
- .maybeSingle();
910
- if (current?.value === base)
911
- return { base, changed: false };
912
- await supabaseAdmin.from("module_runtime_config").upsert({
913
- key: "stock_queue_processor_base_url",
914
- value: base,
915
- updated_at: new Date().toISOString(),
916
- }, { onConflict: "key" });
917
- // De actieve minuuttaak roept `run_floriday_stock_queue_process()` aan;
918
- // die leest deze waarde bij iedere ronde opnieuw. Herplannen is dus niet
919
- // nodig en zou hier bovendien falen zonder een ingelogde admin-context.
1026
+ .select("key, value")
1027
+ .in("key", ["stock_queue_processor_base_url", "shell_base_url"]);
1028
+ const cur = new Map((rows ?? []).map((r) => [r.key, r.value]));
1029
+ const stockSame = cur.get("stock_queue_processor_base_url") === base;
1030
+ const shellSame = cur.get("shell_base_url") === base;
1031
+ if (stockSame && shellSame)
1032
+ return { base, changed: false, shellBaseChanged: false };
1033
+ // Alleen schrijven als dit adres deze module aantoonbaar bedient.
1034
+ const pingErr = await checkShellServesCronRoute(base, "/api/public/cron/ping");
1035
+ if (pingErr) {
1036
+ console.warn(`[floriday] shell-host ${base} niet geschreven: ${pingErr}`);
1037
+ return { base, changed: false, skipped: pingErr };
1038
+ }
1039
+ const now = new Date().toISOString();
1040
+ let shellBaseChanged = false;
1041
+ if (!shellSame) {
1042
+ const previous = cur.get("shell_base_url") ?? null;
1043
+ if (previous) {
1044
+ await db.from("module_runtime_config").upsert({ key: "shell_base_url_previous", value: previous, updated_at: now }, { onConflict: "key" });
1045
+ }
1046
+ await db.from("module_runtime_config").upsert({ key: "shell_base_url", value: base, updated_at: now }, { onConflict: "key" });
1047
+ shellBaseChanged = true;
1048
+ await db.from("floriday_write_log").insert({
1049
+ connection_id: null,
1050
+ module: "floriday-authenticatie",
1051
+ action: "shell-host-changed",
1052
+ resource: "module_runtime_config",
1053
+ floriday_id: null,
1054
+ request: { key: "shell_base_url", from: previous, to: base },
1055
+ response: null,
1056
+ http_status: 0,
1057
+ ok: true,
1058
+ error: `shell-host gewijzigd van ${previous ?? "(leeg)"} naar ${base}`,
1059
+ idempotency_key: null,
1060
+ caller: "shell-host-sync",
1061
+ }).then(() => undefined, () => undefined);
1062
+ }
1063
+ if (!stockSame) {
1064
+ await db.from("module_runtime_config").upsert({ key: "stock_queue_processor_base_url", value: base, updated_at: now }, { onConflict: "key" });
1065
+ }
920
1066
  console.log(`[floriday] shell-host bijgewerkt naar ${base}`);
921
- return { base, changed: true };
1067
+ return { base, changed: !stockSame, shellBaseChanged };
922
1068
  }
923
1069
  catch (e) {
924
1070
  console.warn(`[floriday] shell-host synchroniseren mislukt: ${e?.message ?? e}`);
@@ -956,6 +1102,18 @@ export const getFlorydayShellHostStatus = createServerFn({ method: "GET" })
956
1102
  matches: Boolean(centralHost && processorHost === centralHost),
957
1103
  };
958
1104
  });
1105
+ export const getFlorydayShellRoutesStatus = createServerFn({ method: "POST" })
1106
+ .middleware([requireSupabaseAuth])
1107
+ .inputValidator((d) => ({ force: d?.force === true }))
1108
+ .handler(async ({ data }) => {
1109
+ const { checkShellRoutes, logShellRoutesReport } = await import("./shell-routes.js");
1110
+ const report = await checkShellRoutes({ force: data.force });
1111
+ if (data.force) {
1112
+ const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
1113
+ await logShellRoutesReport(supabaseAdmin, report, "handmatige controle");
1114
+ }
1115
+ return report;
1116
+ });
959
1117
  export const repairFlorydayShellHost = createServerFn({ method: "POST" })
960
1118
  .middleware([requireSupabaseAuth])
961
1119
  .handler(async ({ context }) => {
@@ -1043,8 +1201,7 @@ export const listFlorydayWarehouses = createServerFn({ method: "POST" })
1043
1201
  const json = await res.json().catch(() => null);
1044
1202
  const raw = Array.isArray(json) ? json : [];
1045
1203
  const warehouses = raw
1046
- .filter((w) => w?.isDeleted !== true &&
1047
- w?.hasAccess !== false &&
1204
+ .filter((w) => isOwnWarehouse(w ?? {}) &&
1048
1205
  Boolean(String(w?.name ?? "").trim() ||
1049
1206
  String(w?.location?.address?.addressLine ?? "").trim() ||
1050
1207
  String(w?.location?.gln ?? w?.location?.glnCode ?? "").trim()))
@@ -1077,25 +1234,26 @@ export const updateFlorydayPublishingSettings = createServerFn({ method: "POST"
1077
1234
  if (!["staging", "live"].includes(input.environment)) {
1078
1235
  throw new Error("Ongeldige environment");
1079
1236
  }
1080
- const trimmed = input.gln_code?.trim();
1081
- if (trimmed) {
1082
- const err = validateGln(trimmed);
1083
- if (err)
1084
- throw new Error(err);
1085
- }
1086
- return { ...input, gln_code: trimmed || null };
1237
+ const id = String(input.preferred_warehouse_id ?? "").trim();
1238
+ if (!id)
1239
+ throw new Error("Kies een magazijn");
1240
+ // GLN wordt niet meer aangenomen: die komt altijd uit Floriday.
1241
+ return { environment: input.environment, preferred_warehouse_id: id };
1087
1242
  })
1088
1243
  .handler(async ({ data, context }) => {
1089
1244
  const { supabaseAdmin } = await import("../integrations/supabase/client.server.js");
1090
1245
  const row = await getActiveFlorydayCredentials(context.supabase, data.environment);
1091
1246
  if (!row)
1092
1247
  throw new Error(`Geen actieve Floriday-koppeling voor ${data.environment}`);
1248
+ const own = await loadOwnWarehousesFromCache(supabaseAdmin, row.id);
1249
+ const chosen = own.find((w) => w.id === data.preferred_warehouse_id);
1250
+ if (!chosen)
1251
+ throw new Error("Dit magazijn is geen eigen magazijn van deze koppeling");
1093
1252
  const { error } = await supabaseAdmin
1094
1253
  .from("floriday_connections")
1095
1254
  .update({
1096
- gln_code: data.gln_code?.trim() || null,
1097
- preferred_warehouse_id: data.preferred_warehouse_id || null,
1098
- preferred_warehouse_name: data.preferred_warehouse_name || null,
1255
+ preferred_warehouse_id: chosen.id,
1256
+ preferred_warehouse_name: chosen.name,
1099
1257
  })
1100
1258
  .eq("id", row.id);
1101
1259
  if (error)
@@ -1 +1 @@
1
- {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/lib/gateway/diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA4B5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA4D5B;AAQD,eAAO,MAAM,0BAA0B,QAAa,CAAC;AAqBrD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,QAAQ,CAAC,CAkDnB"}
1
+ {"version":3,"file":"diagnostics.d.ts","sourceRoot":"","sources":["../../../src/lib/gateway/diagnostics.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AA4B5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAsB,cAAc,CAClC,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CA4D5B;AAQD,eAAO,MAAM,0BAA0B,QAAa,CAAC;AAqBrD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,QAAQ,CAAC,CA8DnB"}
@@ -102,6 +102,18 @@ export async function handleDiagnostics(request, supabase) {
102
102
  if (auth.rawBody.length > DIAGNOSTICS_MAX_BODY_BYTES) {
103
103
  return _diagJson({ ok: false, error: "Diagnostics-payload te groot (max 256 KB)" }, { status: 413 });
104
104
  }
105
+ // Controle op Shell-routes: { "action": "shell-routes" } (alleen lezen).
106
+ try {
107
+ const peek = auth.rawBody ? JSON.parse(auth.rawBody) : null;
108
+ if (peek && peek.action === "shell-routes") {
109
+ const { checkShellRoutes } = await import("../shell-routes.js");
110
+ const report = await checkShellRoutes({ force: peek.force === true });
111
+ return _diagJson({ ok: true, shellRoutes: report });
112
+ }
113
+ }
114
+ catch {
115
+ /* geen JSON of controle mislukt → gewone diagnose-afhandeling */
116
+ }
105
117
  try {
106
118
  const result = await runDiagnostics(supabase, {
107
119
  rawBody: auth.rawBody,
@@ -0,0 +1,55 @@
1
+ import type { SupabaseClient } from "@supabase/supabase-js";
2
+ import { z } from "zod";
3
+ export declare const BASE_SUPPLY_READ_BUCKET: {
4
+ bucket: string;
5
+ capacity: number;
6
+ refillPerSec: number;
7
+ };
8
+ /** Swagger: /trade-items/availabilities — 2 per seconde, burst 200. */
9
+ export declare const AVAILABILITIES_READ_BUCKET: {
10
+ bucket: string;
11
+ capacity: number;
12
+ refillPerSec: number;
13
+ };
14
+ declare const requestSchema: z.ZodObject<{
15
+ method: z.ZodOptional<z.ZodLiteral<"GET">>;
16
+ path: z.ZodString;
17
+ query: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
18
+ }, z.core.$strip>;
19
+ export type FloridayGetResult = {
20
+ ok: true;
21
+ status: number;
22
+ path: string;
23
+ data: unknown;
24
+ } | {
25
+ ok: false;
26
+ status: number;
27
+ path: string;
28
+ error: string;
29
+ retryAfterMs?: number;
30
+ floridayBody?: string;
31
+ };
32
+ type Allowed = {
33
+ path: string;
34
+ query: Record<string, string>;
35
+ bucket: {
36
+ bucket: string;
37
+ capacity: number;
38
+ refillPerSec: number;
39
+ };
40
+ };
41
+ /** Vaste lijst met toegestane leespaden. Geeft null + reden terug bij weigering. */
42
+ export declare function checkFloridayGetAllowed(req: z.infer<typeof requestSchema>): {
43
+ ok: true;
44
+ value: Allowed;
45
+ } | {
46
+ ok: false;
47
+ error: string;
48
+ };
49
+ export declare function runFloridayGet(supabase: SupabaseClient, rawBody: unknown, caller?: string): Promise<{
50
+ status: number;
51
+ body: Record<string, unknown>;
52
+ }>;
53
+ export declare function handleFloridayGet(request: Request, supabase: SupabaseClient): Promise<Response>;
54
+ export {};
55
+ //# sourceMappingURL=floriday-get.d.ts.map