@flowselections/layout-maker 1.7.0 → 1.7.2

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.
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Verwerkt een tick-verzoek: controleert de sleutel, houdt de shell-registratie
3
+ * levend en drukt een paar wachtende opdrachten af.
4
+ */
5
+ export declare function behandelQueueTick(request: Request): Promise<Response>;
6
+ //# sourceMappingURL=queueTick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queueTick.d.ts","sourceRoot":"","sources":["../../src/lib/queueTick.ts"],"names":[],"mappings":"AAcA;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAmC3E"}
@@ -0,0 +1,44 @@
1
+ // ============================================================================
2
+ // src/lib/queueTick.ts — afhandeling van /api/public/print/queue-tick.
3
+ // Wordt door de module geleverd zodat elke shell dit eindpunt met een
4
+ // routebestandje van drie regels kan hosten. Bovenaan staan géén server-only
5
+ // imports: die worden pas binnen de handler dynamisch geladen.
6
+ // ============================================================================
7
+ function gelijk(a, b) {
8
+ if (a.length !== b.length)
9
+ return false;
10
+ let verschil = 0;
11
+ for (let i = 0; i < a.length; i++)
12
+ verschil |= a.charCodeAt(i) ^ b.charCodeAt(i);
13
+ return verschil === 0;
14
+ }
15
+ /**
16
+ * Verwerkt een tick-verzoek: controleert de sleutel, houdt de shell-registratie
17
+ * levend en drukt een paar wachtende opdrachten af.
18
+ */
19
+ export async function behandelQueueTick(request) {
20
+ const projectSleutel = process.env["SUPABASE_PUBLISHABLE_KEY"] ??
21
+ process.env["VITE_SUPABASE_PUBLISHABLE_KEY"] ??
22
+ "";
23
+ const meegegeven = request.headers.get("apikey") ??
24
+ (request.headers.get("authorization") ?? "").replace(/^Bearer\s+/i, "");
25
+ const { isRunnerSleutel, meldRunnerAan } = await import("./runnerRegistry.server");
26
+ const toegestaan = !!meegegeven &&
27
+ ((!!projectSleutel && gelijk(projectSleutel, meegegeven)) ||
28
+ (await isRunnerSleutel(meegegeven)));
29
+ if (!toegestaan) {
30
+ return new Response(JSON.stringify({ ok: false }), {
31
+ status: 401,
32
+ headers: { "Content-Type": "application/json" },
33
+ });
34
+ }
35
+ void meldRunnerAan();
36
+ const { verwerkWachtrij } = await import("./printQueue.server");
37
+ try {
38
+ const resultaat = await verwerkWachtrij(5);
39
+ return Response.json({ ok: true, ...resultaat });
40
+ }
41
+ catch (e) {
42
+ return new Response(JSON.stringify({ ok: false, fout: e instanceof Error ? e.message : "Mislukt" }), { status: 500, headers: { "Content-Type": "application/json" } });
43
+ }
44
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowselections/layout-maker",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "flowselections": {
5
5
  "moduleId": "layout-maker",
6
6
  "pages": [
@@ -44,6 +44,16 @@
44
44
  "route": "layouts-printers/productiebon/$layoutId",
45
45
  "title": "Productiebon opbouw"
46
46
  }
47
+ ],
48
+ "serverRoutes": [
49
+ {
50
+ "routePath": "/api/public/print/queue-tick",
51
+ "import": "@flowselections/layout-maker/print",
52
+ "handler": "behandelQueueTick",
53
+ "methods": [
54
+ "POST"
55
+ ]
56
+ }
47
57
  ]
48
58
  },
49
59
  "private": false,
@@ -56,6 +66,10 @@
56
66
  "types": "./dist-lib/index.d.ts",
57
67
  "default": "./dist-lib/index.js"
58
68
  },
69
+ "./print": {
70
+ "types": "./dist-lib/lib/queueTick.d.ts",
71
+ "default": "./dist-lib/lib/queueTick.js"
72
+ },
59
73
  "./styles": "./dist-lib/styles.css"
60
74
  },
61
75
  "files": [