@flowselections/floriday-verkoop-module 1.0.9 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"floriday-gateway.server.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-gateway.server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC;AAKrD,wBAAgB,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIvF;AAMD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,mBAAmB,GAAG,MAAM,GAChC,OAAO,CAAC,qBAAqB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAa/D;AA6BD,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC9C,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED,kEAAkE;AAClE,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACrD,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CA8CjC;AAGD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AA4DD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAcD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,mBAAmB,GAAG,MAAM,EACjC,IAAI,EAAE,iBAAiB,EACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CA6D9B"}
1
+ {"version":3,"file":"floriday-gateway.server.d.ts","sourceRoot":"","sources":["../../src/lib/floriday-gateway.server.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAsB,KAAK,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAEjF,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,CAAC;AAKrD,wBAAgB,UAAU,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIvF;AAMD,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,mBAAmB,GAAG,MAAM,GAChC,OAAO,CAAC,qBAAqB,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAa/D;AA6BD,MAAM,WAAW,mBAAmB,CAAC,CAAC,GAAG,OAAO;IAC9C,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,qBAAqB,CAAC;CACnC;AAED,kEAAkE;AAClE,wBAAsB,aAAa,CAAC,CAAC,GAAG,OAAO,EAC7C,QAAQ,EAAE,cAAc,EACxB,IAAI,EAAE,qBAAqB,EAC3B,IAAI,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACrD,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CA8CjC;AAGD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AA4DD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC5C,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,aAAa,CAAC,EAAE,SAAS,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAkBD,wBAAsB,aAAa,CACjC,QAAQ,EAAE,cAAc,EACxB,GAAG,EAAE,mBAAmB,GAAG,MAAM,EACjC,IAAI,EAAE,iBAAiB,EACvB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CA6D9B"}
@@ -1,9 +1,3 @@
1
- // Internal Floriday gateway — server-only.
2
- // One place that owns: connection-selection, token-refresh + retry-on-401,
3
- // enum validation, idempotency-key, and write-log persistence.
4
- // Other modules MUST NOT call fetch on Floriday directly; they use the helpers
5
- // in floriday-writes.functions.ts and floriday-public.functions.ts.
6
- import { createHash } from "crypto";
7
1
  import { FLORIDAY_API_BASES } from "./floriday-sync";
8
2
  const AUTH_MODULE_REFRESH_URL = "https://project--vmicscahrnzpmhagztmx.lovable.app/api/public/cron/refresh-floriday-tokens";
9
3
  export function apiBaseFor(env) {
@@ -151,19 +145,20 @@ async function runEnumChecks(supabase, env, body, checks) {
151
145
  }
152
146
  return { ok: true };
153
147
  }
154
- function computeIdempotencyKey(args) {
155
- const h = createHash("sha256");
156
- h.update(args.module);
157
- h.update("|");
158
- h.update(args.action);
159
- h.update("|");
160
- h.update(args.referenceId ?? "");
161
- h.update("|");
162
- h.update(JSON.stringify(args.body ?? null));
163
- return h.digest("hex");
148
+ async function computeIdempotencyKey(args) {
149
+ const payload = [
150
+ args.module,
151
+ args.action,
152
+ args.referenceId ?? "",
153
+ JSON.stringify(args.body ?? null),
154
+ ].join("|");
155
+ const buf = await globalThis.crypto.subtle.digest("SHA-256", new TextEncoder().encode(payload));
156
+ return Array.from(new Uint8Array(buf))
157
+ .map((b) => b.toString(16).padStart(2, "0"))
158
+ .join("");
164
159
  }
165
160
  export async function florydayWrite(supabase, env, args, callerUserId) {
166
- const idempotencyKey = computeIdempotencyKey(args);
161
+ const idempotencyKey = await computeIdempotencyKey(args);
167
162
  // 1) Local pre-flight enum validation (saves a Floriday roundtrip on mismatches).
168
163
  if (args.validateEnums && args.validateEnums.length > 0) {
169
164
  const v = await runEnumChecks(supabase, env, args.body, args.validateEnums);