@flowselections/floriday-authenticatie-module 1.0.54 → 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 (44) hide show
  1. package/dist-lib/assets/floriday-logo.png.asset.json +11 -0
  2. package/dist-lib/components/TemplatePage.d.ts +1 -1
  3. package/dist-lib/components/TemplatePage.d.ts.map +1 -1
  4. package/dist-lib/components/floriday/FlorydayApiLogPage.d.ts +1 -1
  5. package/dist-lib/components/floriday/FlorydayApiLogPage.d.ts.map +1 -1
  6. package/dist-lib/components/floriday/FlorydayConnectionPage.d.ts +1 -1
  7. package/dist-lib/components/floriday/FlorydayConnectionPage.d.ts.map +1 -1
  8. package/dist-lib/components/floriday/FlorydayCredentialStatusBanner.d.ts +1 -1
  9. package/dist-lib/components/floriday/FlorydayCredentialStatusBanner.d.ts.map +1 -1
  10. package/dist-lib/components/floriday/FlorydayShellRoutesCard.d.ts +1 -1
  11. package/dist-lib/components/floriday/FlorydayShellRoutesCard.d.ts.map +1 -1
  12. package/dist-lib/components/floriday/FlorydaySyncHealthBanner.d.ts +1 -1
  13. package/dist-lib/components/floriday/FlorydaySyncHealthBanner.d.ts.map +1 -1
  14. package/dist-lib/components/floriday/FlorydaySyncJobsCard.d.ts +1 -1
  15. package/dist-lib/components/floriday/FlorydaySyncJobsCard.d.ts.map +1 -1
  16. package/dist-lib/components/floriday/FlorydayWebhooksCard.d.ts +1 -1
  17. package/dist-lib/components/floriday/FlorydayWebhooksCard.d.ts.map +1 -1
  18. package/dist-lib/components/floriday/TokenHealthCard.d.ts +1 -1
  19. package/dist-lib/components/floriday/TokenHealthCard.d.ts.map +1 -1
  20. package/dist-lib/components/settings/FloricodeSettingsCard.d.ts +1 -1
  21. package/dist-lib/components/settings/FloricodeSettingsCard.d.ts.map +1 -1
  22. package/dist-lib/components/settings/FlorydaySettingsCard.d.ts +1 -1
  23. package/dist-lib/components/settings/FlorydaySettingsCard.d.ts.map +1 -1
  24. package/dist-lib/components/settings/FlorydaySettingsCard.js +26 -48
  25. package/dist-lib/index.js +1 -1
  26. package/dist-lib/integrations/supabase/client.js +1 -1
  27. package/dist-lib/integrations/supabase/client.server.js +1 -1
  28. package/dist-lib/integrations/supabase/types.d.ts +372 -0
  29. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  30. package/dist-lib/lib/cron/process-stock-queue.d.ts +18 -1
  31. package/dist-lib/lib/cron/process-stock-queue.d.ts.map +1 -1
  32. package/dist-lib/lib/cron/process-stock-queue.js +71 -23
  33. package/dist-lib/lib/floriday-gln.d.ts +6 -0
  34. package/dist-lib/lib/floriday-gln.d.ts.map +1 -0
  35. package/dist-lib/lib/floriday-gln.js +22 -0
  36. package/dist-lib/lib/floriday-own-config.d.ts +68 -0
  37. package/dist-lib/lib/floriday-own-config.d.ts.map +1 -0
  38. package/dist-lib/lib/floriday-own-config.js +73 -0
  39. package/dist-lib/lib/floriday-sync.functions.d.ts.map +1 -1
  40. package/dist-lib/lib/floriday-sync.functions.js +8 -0
  41. package/dist-lib/lib/floriday.functions.d.ts +38 -12
  42. package/dist-lib/lib/floriday.functions.d.ts.map +1 -1
  43. package/dist-lib/lib/floriday.functions.js +145 -41
  44. package/package.json +4 -504
@@ -16,9 +16,25 @@ export declare function isoWeekParts(input?: string | Date): {
16
16
  /** Tijdelijk (netwerk/5xx/429) versus definitief (gegevensfout). */
17
17
  export declare function isPermanentError(message: string): boolean;
18
18
  export declare function isRateLimited(message: string): boolean;
19
+ export type WarehouseSource = "per_item" | "on_item" | "preferred";
20
+ /**
21
+ * Kiest het magazijn zonder te raden. Volgorde: magazijn per artikel,
22
+ * magazijn op het artikel, voorkeursmagazijn van de koppeling. Een kandidaat
23
+ * telt alleen als het id een eigen magazijn is (op id, nooit op naam).
24
+ */
25
+ export declare function decideWarehouse(input: {
26
+ perItem?: string | null;
27
+ onItem?: string | null;
28
+ preferred?: string | null;
29
+ ownIds: Iterable<string>;
30
+ }): {
31
+ id: string;
32
+ source: WarehouseSource;
33
+ } | null;
19
34
  export declare const SKIPPED_NO_PRICE_MESSAGE = "Prijs ontbreekt, nog niet verzonden";
35
+ export declare const SKIPPED_NO_WAREHOUSE_MESSAGE = "Geen voorkeursmagazijn voor deze koppeling; kies er een op de Connectie-pagina";
20
36
  export type StockOutcome = {
21
- outcome: "quantity_sent" | "skipped_no_price" | "error";
37
+ outcome: "quantity_sent" | "skipped_no_price" | "skipped_no_warehouse" | "error";
22
38
  availabilitySent: boolean;
23
39
  quantitySent: boolean;
24
40
  error: string | null;
@@ -52,6 +68,7 @@ export declare function runStockQueueRound(supabase: SupabaseClient, limit?: num
52
68
  claimed: number;
53
69
  succeeded: number;
54
70
  skippedNoPrice: number;
71
+ skippedNoWarehouse: number;
55
72
  failed: number;
56
73
  rateLimited: boolean;
57
74
  }>;
@@ -1 +1 @@
1
- {"version":3,"file":"process-stock-queue.d.ts","sourceRoot":"","sources":["../../../src/lib/cron/process-stock-queue.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAIL,KAAK,mBAAmB,EACzB,MAAM,0BAA0B,CAAC;AAKlC,KAAK,aAAa,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC;AAEF,kCAAkC;AAClC,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAYlF;AAED,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAazD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEtD;AAmCD,eAAO,MAAM,wBAAwB,wCAAwC,CAAC;AAE9E,MAAM,MAAM,YAAY,GAAG;IACzB,OAAO,EAAE,eAAe,GAAG,kBAAkB,GAAG,OAAO,CAAC;IACxD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,KAAK,WAAW,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC;AAE/F;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,WAAW,GAAG,IAAI,EAChC,QAAQ,EAAE,WAAW,GAAG,IAAI,GAC3B,YAAY,CA0Bd;AAMD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,mBAAmB,EACxB,GAAG,EAAE,aAAa,GACjB,OAAO,CAAC,YAAY,CAAC,CAsDvB;AAeD,mEAAmE;AACnE,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,KAAK,SAAa,GACjB,OAAO,CAAC;IACT,EAAE,EAAE,IAAI,CAAC;IACT,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC,CAoCD;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,cAAc,GACvB,OAAO,CAAC,QAAQ,CAAC,CAoCnB;AAOD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAUlE"}
1
+ {"version":3,"file":"process-stock-queue.d.ts","sourceRoot":"","sources":["../../../src/lib/cron/process-stock-queue.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@
14
14
  // ============================================================================
15
15
  import { florydayWrite, getActiveFlorydayEnvironment, syncShellHostRuntimeConfig, } from "../floriday.functions.js";
16
16
  import { verifyGatewayRequest, GATEWAY_HEADER_TIMESTAMP } from "../floriday-gateway-hmac.js";
17
+ import { isOwnWarehouse } from "../floriday-own-config.js";
17
18
  const BATCH_SIZE = 25;
18
19
  /** ISO-weeknummer van vandaag. */
19
20
  export function isoWeekParts(input) {
@@ -49,28 +50,62 @@ export function isPermanentError(message) {
49
50
  export function isRateLimited(message) {
50
51
  return /\b429\b|rate limit|too many requests/i.test(message);
51
52
  }
53
+ /**
54
+ * Kiest het magazijn zonder te raden. Volgorde: magazijn per artikel,
55
+ * magazijn op het artikel, voorkeursmagazijn van de koppeling. Een kandidaat
56
+ * telt alleen als het id een eigen magazijn is (op id, nooit op naam).
57
+ */
58
+ export function decideWarehouse(input) {
59
+ const own = new Set(input.ownIds);
60
+ const candidates = [
61
+ [input.perItem, "per_item"],
62
+ [input.onItem, "on_item"],
63
+ [input.preferred, "preferred"],
64
+ ];
65
+ for (const [raw, source] of candidates) {
66
+ const id = typeof raw === "string" ? raw.trim() : "";
67
+ if (id && own.has(id))
68
+ return { id, source };
69
+ }
70
+ return null;
71
+ }
52
72
  async function resolveWarehouseId(supabase, connectionId, tradeItemId, cachedItem) {
53
- const { data: pref } = await supabase
54
- .from("trade_item_warehouse_preferences")
55
- .select("warehouse_id")
56
- .eq("connection_id", connectionId)
57
- .eq("trade_item_id", tradeItemId)
58
- .maybeSingle();
59
- const direct = pref?.warehouse_id ?? cachedItem?.warehouseId ?? cachedItem?.warehouse?.warehouseId;
60
- if (direct)
61
- return direct;
62
- const { data: whs } = await supabase
63
- .from("floriday_warehouses_cache")
64
- .select("floriday_id, data")
65
- .eq("connection_id", connectionId)
66
- .limit(200);
67
- const own = (whs ?? []).filter((w) => w?.data?.isDeleted !== true &&
68
- w?.data?.isExternal !== true &&
69
- w?.data?.hasAccess !== false);
70
- const chosen = own.find((w) => w?.data?.isDefault === true) ?? own[0];
71
- return chosen?.floriday_id ?? chosen?.data?.warehouseId;
73
+ const [{ data: pref }, { data: conn }, { data: whs }] = await Promise.all([
74
+ supabase
75
+ .from("trade_item_warehouse_preferences")
76
+ .select("warehouse_id")
77
+ .eq("connection_id", connectionId)
78
+ .eq("trade_item_id", tradeItemId)
79
+ .maybeSingle(),
80
+ supabase
81
+ .from("floriday_connections")
82
+ .select("preferred_warehouse_id")
83
+ .eq("id", connectionId)
84
+ .maybeSingle(),
85
+ supabase
86
+ .from("floriday_warehouses_cache")
87
+ .select("floriday_id, data")
88
+ .eq("connection_id", connectionId)
89
+ .limit(500),
90
+ ]);
91
+ const ownIds = (whs ?? [])
92
+ .filter((w) => isOwnWarehouse({
93
+ isDeleted: w?.data?.isDeleted,
94
+ isExternal: w?.data?.isExternal,
95
+ hasAccess: w?.data?.hasAccess,
96
+ }))
97
+ .map((w) => String(w?.floriday_id ?? w?.data?.warehouseId ?? ""))
98
+ .filter(Boolean);
99
+ const chosen = decideWarehouse({
100
+ perItem: pref?.warehouse_id ?? null,
101
+ onItem: cachedItem?.warehouseId ?? cachedItem?.warehouse?.warehouseId ?? null,
102
+ preferred: conn?.preferred_warehouse_id ?? null,
103
+ ownIds,
104
+ });
105
+ return chosen?.id;
72
106
  }
73
107
  export const SKIPPED_NO_PRICE_MESSAGE = "Prijs ontbreekt, nog niet verzonden";
108
+ export const SKIPPED_NO_WAREHOUSE_MESSAGE = "Geen voorkeursmagazijn voor deze koppeling; kies er een op de Connectie-pagina";
74
109
  /**
75
110
  * Bepaalt de afsluiting van een regel uit de twee Floriday-antwoorden.
76
111
  * Puur (geen I/O) zodat het los te testen is.
@@ -129,11 +164,21 @@ export async function pushStockRow(supabase, env, row) {
129
164
  }
130
165
  const item = cached.data ?? {};
131
166
  const warehouseId = await resolveWarehouseId(supabase, row.connection_id, row.trade_item_id, item);
167
+ if (!warehouseId) {
168
+ // Niet raden: niets naar Floriday. De Voorraad-module zet de regel
169
+ // zelf terug op pending zodra er een magazijn is.
170
+ return {
171
+ outcome: "skipped_no_warehouse",
172
+ availabilitySent: false,
173
+ quantitySent: false,
174
+ error: SKIPPED_NO_WAREHOUSE_MESSAGE,
175
+ permanent: false,
176
+ attemptId: null,
177
+ };
178
+ }
132
179
  // 1. Beschikbaarheid. Sleutel zonder aantal, zodat een latere echte
133
180
  // aantal-verzending (eigen sleutel) nooit wordt overgeslagen.
134
- const body = { available };
135
- if (warehouseId)
136
- body.warehouseId = warehouseId;
181
+ const body = { available, warehouseId };
137
182
  const availability = (await florydayWrite(supabase, env, {
138
183
  module: "inventory",
139
184
  action: "publish-continuous-stock",
@@ -183,6 +228,7 @@ export async function runStockQueueRound(supabase, limit = BATCH_SIZE) {
183
228
  const rows = (claimed ?? []);
184
229
  let succeeded = 0;
185
230
  let skippedNoPrice = 0;
231
+ let skippedNoWarehouse = 0;
186
232
  let failed = 0;
187
233
  let rateLimited = false;
188
234
  for (const row of rows) {
@@ -195,6 +241,8 @@ export async function runStockQueueRound(supabase, limit = BATCH_SIZE) {
195
241
  succeeded += 1;
196
242
  else if (outcome.outcome === "skipped_no_price")
197
243
  skippedNoPrice += 1;
244
+ else if (outcome.outcome === "skipped_no_warehouse")
245
+ skippedNoWarehouse += 1;
198
246
  else {
199
247
  failed += 1;
200
248
  if (outcome.error && isRateLimited(outcome.error))
@@ -202,7 +250,7 @@ export async function runStockQueueRound(supabase, limit = BATCH_SIZE) {
202
250
  }
203
251
  await completeRow(supabase, row.id, outcome);
204
252
  }
205
- return { ok: true, claimed: rows.length, succeeded, skippedNoPrice, failed, rateLimited };
253
+ return { ok: true, claimed: rows.length, succeeded, skippedNoPrice, skippedNoWarehouse, failed, rateLimited };
206
254
  }
207
255
  /**
208
256
  * Cron-handler, zelfde vorm en beveiliging als de overige cron-routes:
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Valideert een GS1 GLN: exact 13 cijfers met geldige check digit.
3
+ * Retourneert null als geldig, anders een nl-foutmelding.
4
+ */
5
+ export declare function validateGln(input: string): string | null;
6
+ //# sourceMappingURL=floriday-gln.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floriday-gln.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-gln.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAaxD"}
@@ -0,0 +1,22 @@
1
+ // GS1 GLN-validatie (zonder serverimports).
2
+ /**
3
+ * Valideert een GS1 GLN: exact 13 cijfers met geldige check digit.
4
+ * Retourneert null als geldig, anders een nl-foutmelding.
5
+ */
6
+ export function validateGln(input) {
7
+ const v = input.trim();
8
+ if (!v)
9
+ return "GLN-code is verplicht";
10
+ if (!/^\d{13}$/.test(v))
11
+ return "GLN-code moet uit precies 13 cijfers bestaan";
12
+ const digits = v.split("").map(Number);
13
+ // GS1 mod-10 voor GLN-13: positie 1 (meest links) ×1, positie 2 ×3, … positie 12 ×3.
14
+ let sum = 0;
15
+ for (let i = 0; i < 12; i++) {
16
+ sum += digits[i] * (i % 2 === 0 ? 1 : 3);
17
+ }
18
+ const check = (10 - (sum % 10)) % 10;
19
+ if (check !== digits[12])
20
+ return "GLN-code heeft een ongeldig controlecijfer";
21
+ return null;
22
+ }
@@ -0,0 +1,68 @@
1
+ export interface OwnWarehouseInput {
2
+ id: string;
3
+ name?: string | null;
4
+ isDeleted?: boolean | null;
5
+ isExternal?: boolean | null;
6
+ hasAccess?: boolean | null;
7
+ isDefault?: boolean | null;
8
+ }
9
+ /** Eigen magazijn: niet verwijderd, niet extern, met toegang. */
10
+ export declare function isOwnWarehouse(w: {
11
+ isDeleted?: boolean | null;
12
+ isExternal?: boolean | null;
13
+ hasAccess?: boolean | null;
14
+ }): boolean;
15
+ /**
16
+ * Leesbare naam voor een magazijn uit de cache. Lege tekst telt als
17
+ * ontbrekend. Volgorde: naam, adresregel + plaats, plaats, GLN, id.
18
+ * Alleen voor weergave; de keuze loopt altijd op id.
19
+ */
20
+ export declare function warehouseLabel(row: {
21
+ name?: unknown;
22
+ gln_code?: unknown;
23
+ floriday_id?: unknown;
24
+ data?: any;
25
+ }): string;
26
+ export type PreferredWarehouseDecision = {
27
+ kind: "keep";
28
+ id: string;
29
+ } | {
30
+ kind: "missing";
31
+ id: string;
32
+ } | {
33
+ kind: "fill";
34
+ id: string;
35
+ reason: "single" | "default";
36
+ } | {
37
+ kind: "choice_needed";
38
+ } | {
39
+ kind: "none";
40
+ };
41
+ export declare function decidePreferredWarehouse(input: {
42
+ currentId: string | null | undefined;
43
+ warehouses: OwnWarehouseInput[];
44
+ }): PreferredWarehouseDecision;
45
+ export type GlnDecision = {
46
+ kind: "keep";
47
+ gln: string;
48
+ } | {
49
+ kind: "fill";
50
+ gln: string;
51
+ } | {
52
+ kind: "mismatch";
53
+ stored: string;
54
+ fromFloriday: string;
55
+ } | {
56
+ kind: "unavailable";
57
+ stored: string | null;
58
+ } | {
59
+ kind: "invalid";
60
+ stored: string | null;
61
+ fromFloriday: string;
62
+ error: string;
63
+ };
64
+ export declare function decideGln(input: {
65
+ stored: string | null | undefined;
66
+ fromFloriday: string | null | undefined;
67
+ }): GlnDecision;
68
+ //# sourceMappingURL=floriday-own-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"floriday-own-config.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-own-config.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B;AAED,iEAAiE;AACjE,wBAAgB,cAAc,CAAC,CAAC,EAAE;IAChC,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CAC5B,GAAG,OAAO,CAEV;AAQD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ,GAAG,MAAM,CAcT;AAED,MAAM,MAAM,0BAA0B,GAClC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC5B;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAErB,wBAAgB,wBAAwB,CAAC,KAAK,EAAE;IAC9C,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IACrC,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC,GAAG,0BAA0B,CAa7B;AAED,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAC7B;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAC1D;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpF,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAClC,YAAY,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CACzC,GAAG,WAAW,CASd"}
@@ -0,0 +1,73 @@
1
+ // ============================================================================
2
+ // Pure beslisregels voor GLN en voorkeursmagazijn van de eigen organisatie.
3
+ // Geen serverimports: bruikbaar in server, client en tests.
4
+ // Regel: alleen lege velden worden automatisch gevuld, altijd op id; een
5
+ // bestaande (gebruikers)keuze wordt nooit overschreven.
6
+ // ============================================================================
7
+ import { validateGln } from "./floriday-gln.js";
8
+ /** Eigen magazijn: niet verwijderd, niet extern, met toegang. */
9
+ export function isOwnWarehouse(w) {
10
+ return w.isDeleted !== true && w.isExternal !== true && w.hasAccess !== false;
11
+ }
12
+ function txt(v) {
13
+ if (typeof v !== "string")
14
+ return null;
15
+ const t = v.trim();
16
+ return t ? t : null;
17
+ }
18
+ /**
19
+ * Leesbare naam voor een magazijn uit de cache. Lege tekst telt als
20
+ * ontbrekend. Volgorde: naam, adresregel + plaats, plaats, GLN, id.
21
+ * Alleen voor weergave; de keuze loopt altijd op id.
22
+ */
23
+ export function warehouseLabel(row) {
24
+ const d = row?.data ?? {};
25
+ const name = txt(row?.name) ?? txt(d?.name);
26
+ if (name)
27
+ return name;
28
+ const addr = d?.location?.address ?? d?.address ?? {};
29
+ const line = txt(addr?.addressLine) ?? txt(addr?.street);
30
+ const city = txt(addr?.city) ?? txt(d?.location?.city);
31
+ if (line && city)
32
+ return `${line}, ${city}`;
33
+ if (line)
34
+ return line;
35
+ if (city)
36
+ return city;
37
+ const gln = txt(row?.gln_code) ?? txt(d?.location?.gln);
38
+ if (gln)
39
+ return `Magazijn zonder naam (GLN ${gln})`;
40
+ const id = txt(row?.floriday_id) ?? txt(d?.warehouseId);
41
+ return id ? `Magazijn zonder naam (id ${id.slice(0, 8)}…)` : "Magazijn zonder naam";
42
+ }
43
+ export function decidePreferredWarehouse(input) {
44
+ const own = input.warehouses.filter((w) => w.id && isOwnWarehouse(w));
45
+ const current = input.currentId?.trim() || null;
46
+ if (current) {
47
+ return own.some((w) => w.id === current)
48
+ ? { kind: "keep", id: current }
49
+ : { kind: "missing", id: current };
50
+ }
51
+ if (own.length === 0)
52
+ return { kind: "none" };
53
+ if (own.length === 1)
54
+ return { kind: "fill", id: own[0].id, reason: "single" };
55
+ const defaults = own.filter((w) => w.isDefault === true);
56
+ if (defaults.length === 1)
57
+ return { kind: "fill", id: defaults[0].id, reason: "default" };
58
+ return { kind: "choice_needed" };
59
+ }
60
+ export function decideGln(input) {
61
+ const stored = input.stored?.trim() || null;
62
+ const remote = input.fromFloriday?.trim() || null;
63
+ if (!remote)
64
+ return { kind: "unavailable", stored };
65
+ const err = validateGln(remote);
66
+ if (err)
67
+ return { kind: "invalid", stored, fromFloriday: remote, error: err };
68
+ if (!stored)
69
+ return { kind: "fill", gln: remote };
70
+ if (stored === remote)
71
+ return { kind: "keep", gln: stored };
72
+ return { kind: "mismatch", stored, fromFloriday: remote };
73
+ }
@@ -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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"}
@@ -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": {
@@ -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, {
@@ -267,14 +298,10 @@ export declare const updateFlorydayPublishingSettings: import("@tanstack/start-c
267
298
  claims: import("@supabase/auth-js").JwtPayload;
268
299
  }, undefined, undefined, undefined>], (input: {
269
300
  environment: FlorydayEnvironment;
270
- gln_code?: string | null;
271
- preferred_warehouse_id?: string | null;
272
- preferred_warehouse_name?: string | null;
301
+ preferred_warehouse_id: string;
273
302
  }) => {
274
- gln_code: string | null;
275
303
  environment: FlorydayEnvironment;
276
- preferred_warehouse_id?: string | null;
277
- preferred_warehouse_name?: string | null;
304
+ preferred_warehouse_id: string;
278
305
  }, Promise<{
279
306
  ok: true;
280
307
  }>>;
@@ -521,5 +548,4 @@ export declare const getFlorydayCredentialStatus: import("@tanstack/start-client
521
548
  reason: "ready";
522
549
  message: "Floriday-credential is geldig.";
523
550
  }>>;
524
- export {};
525
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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"}