@flowselections/layout-maker 1.45.19 → 1.46.1

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 (57) hide show
  1. package/dist-lib/components/DocumentenPage.d.ts.map +1 -1
  2. package/dist-lib/components/DocumentenPage.js +2 -3
  3. package/dist-lib/components/PrintQueuePage.d.ts.map +1 -1
  4. package/dist-lib/components/PrintQueuePage.js +5 -71
  5. package/dist-lib/components/PrintenPage.d.ts.map +1 -1
  6. package/dist-lib/components/PrintenPage.js +2 -3
  7. package/dist-lib/components/PrinterSetupWizard.d.ts.map +1 -1
  8. package/dist-lib/components/PrinterSetupWizard.js +2 -25
  9. package/dist-lib/components/PrintplekDetailPage.d.ts.map +1 -1
  10. package/dist-lib/components/PrintplekDetailPage.js +3 -25
  11. package/dist-lib/components/PrintplekWizard.d.ts.map +1 -1
  12. package/dist-lib/components/PrintplekWizard.js +3 -85
  13. package/dist-lib/index.d.ts +0 -8
  14. package/dist-lib/index.d.ts.map +1 -1
  15. package/dist-lib/index.js +0 -10
  16. package/dist-lib/integrations/supabase/auth-middleware.d.ts +931 -46
  17. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  18. package/dist-lib/integrations/supabase/client.server.d.ts +931 -46
  19. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  20. package/dist-lib/integrations/supabase/moduleClient.d.ts +931 -46
  21. package/dist-lib/integrations/supabase/moduleClient.d.ts.map +1 -1
  22. package/dist-lib/integrations/supabase/types.d.ts +955 -47
  23. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  24. package/dist-lib/lib/aiLayout.functions.d.ts +931 -46
  25. package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
  26. package/dist-lib/lib/printApi.d.ts +0 -2
  27. package/dist-lib/lib/printApi.d.ts.map +1 -1
  28. package/dist-lib/lib/printApi.js +0 -21
  29. package/dist-lib/lib/printQueue.server.d.ts +8 -0
  30. package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
  31. package/dist-lib/lib/printQueue.server.js +36 -67
  32. package/dist-lib/lib/printService.functions.d.ts +4425 -0
  33. package/dist-lib/lib/printService.functions.d.ts.map +1 -1
  34. package/dist-lib/lib/voorbeeldPrint.d.ts.map +1 -1
  35. package/dist-lib/lib/voorbeeldPrint.js +7 -39
  36. package/package.json +1 -1
  37. package/dist-lib/components/PdfMapAutoSaver.d.ts +0 -6
  38. package/dist-lib/components/PdfMapAutoSaver.d.ts.map +0 -1
  39. package/dist-lib/components/PdfMapAutoSaver.js +0 -12
  40. package/dist-lib/components/PdfMapGlobaleBanner.d.ts +0 -12
  41. package/dist-lib/components/PdfMapGlobaleBanner.d.ts.map +0 -1
  42. package/dist-lib/components/PdfMapGlobaleBanner.js +0 -30
  43. package/dist-lib/components/PdfMapToestemmingBanner.d.ts +0 -8
  44. package/dist-lib/components/PdfMapToestemmingBanner.d.ts.map +0 -1
  45. package/dist-lib/components/PdfMapToestemmingBanner.js +0 -245
  46. package/dist-lib/lib/pdfJobSaver.d.ts +0 -24
  47. package/dist-lib/lib/pdfJobSaver.d.ts.map +0 -1
  48. package/dist-lib/lib/pdfJobSaver.js +0 -405
  49. package/dist-lib/lib/pdfMap.d.ts +0 -90
  50. package/dist-lib/lib/pdfMap.d.ts.map +0 -1
  51. package/dist-lib/lib/pdfMap.js +0 -349
  52. package/dist-lib/lib/pdfOpslagStatus.d.ts +0 -23
  53. package/dist-lib/lib/pdfOpslagStatus.d.ts.map +0 -1
  54. package/dist-lib/lib/pdfOpslagStatus.js +0 -74
  55. package/dist-lib/lib/pdfPrinter.d.ts +0 -9
  56. package/dist-lib/lib/pdfPrinter.d.ts.map +0 -1
  57. package/dist-lib/lib/pdfPrinter.js +0 -34
@@ -63,8 +63,6 @@ export declare function printerVoorLayout(layout: {
63
63
  documenttype?: string | null;
64
64
  papierformaat?: string | null;
65
65
  }, werkplek?: string, printplekId?: string): Promise<string | null>;
66
- /** Afdrukmethode van één printer, gebruikt voor PDF-specifieke voorcontroles. */
67
- export declare function printerAfdrukmethode(printerId: string): Promise<string | null>;
68
66
  export interface PrintPdfInput {
69
67
  /** Documentsoort, alleen voor overzicht en printerkeuze. */
70
68
  documenttype: DocumentType | string;
@@ -1 +1 @@
1
- {"version":3,"file":"printApi.d.ts","sourceRoot":"","sources":["../../src/lib/printApi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"printApi.d.ts","sourceRoot":"","sources":["../../src/lib/printApi.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,6 @@ import { supabase } from "./supabaseClient.js";
7
7
  import { printerVoorWerkplekDocument } from "./documentRoutering.js";
8
8
  import { printerVoorPrintplek, printplekNaam, printplekVoorComputer } from "./printplekken.js";
9
9
  import { bronVoorDocument } from "./documentBron.js";
10
- import { bewaarPdfJobZodraKlaar } from "./pdfJobSaver.js";
11
10
  const arr = (v) => (Array.isArray(v) ? v : []);
12
11
  /** Zoekt de te gebruiken layout: expliciet, anders standaard, anders de nieuwste. */
13
12
  async function bepaalLayout(documenttype, layoutId) {
@@ -121,12 +120,6 @@ async function zetInWachtrij(rij) {
121
120
  // blijft de opdracht gewoon wachtend staan voor een volgende poging.
122
121
  if (id) {
123
122
  void startWachtrijVerwerking();
124
- const printerId = typeof rij.printer_id === "string" ? rij.printer_id : null;
125
- // Bij de virtuele PDF-printer blijft deze browser wachten op de gemaakte
126
- // PDF en schrijft hem meteen naar de lokaal gekozen map. Voor gewone
127
- // printers stopt de helper direct omdat daar geen maphandle voor bestaat.
128
- if (printerId)
129
- void bewaarPdfJobZodraKlaar(id, printerId);
130
123
  }
131
124
  return id;
132
125
  }
@@ -207,20 +200,6 @@ export async function printerVoorLayout(layout, werkplek, printplekId) {
207
200
  const documenttype = String(layout.documenttype ?? "");
208
201
  return bepaalPrinter(documenttype, layout.id ?? null, layout.papierformaat ?? null, werkplek ?? null, printplekId ?? null);
209
202
  }
210
- /** Afdrukmethode van één printer, gebruikt voor PDF-specifieke voorcontroles. */
211
- export async function printerAfdrukmethode(printerId) {
212
- const id = printerId.trim();
213
- if (!id)
214
- return null;
215
- const { data, error } = await supabase
216
- .from("printers")
217
- .select("afdrukmethode")
218
- .eq("id", id)
219
- .maybeSingle();
220
- if (error)
221
- throw error;
222
- return data?.afdrukmethode ?? null;
223
- }
224
203
  /**
225
204
  * Print een kant-en-klare PDF (klantsticker, Floriday-document, factuur van een
226
205
  * externe dienst). De PDF gaat ongewijzigd naar de printer; er wordt geen
@@ -56,6 +56,14 @@ export declare function bouwHtml(db: PrintDb, job: Job, keuze: LayoutKeuze, uitk
56
56
  * lege layout of een opdracht zonder gegevens een blanco vel opleveren.
57
57
  */
58
58
  export declare function heeftZichtbareInhoud(html: string): boolean;
59
+ /** Hoe vaak een opdracht op een ontbrekende layout mag wachten. */
60
+ export declare const MAX_WACHT_OP_LAYOUT = 3;
61
+ /**
62
+ * Zet een opdracht terug om later opnieuw te proberen, maar begrensd: na
63
+ * MAX_WACHT_OP_LAYOUT pogingen wordt hij leesbaar "mislukt", zodat hij niet
64
+ * eindeloos blijft rondgaan en onder de gewone opschoning valt.
65
+ */
66
+ export declare function wachtOpLayout(db: PrintDb, job: Job, reden: string): Promise<"wachtend" | "mislukt">;
59
67
  export interface WachtrijResultaat {
60
68
  opgepakt: number;
61
69
  verstuurd: number;
@@ -1 +1 @@
1
- {"version":3,"file":"printQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/printQueue.server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAkC5D,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,mFAAmF;AACnF,MAAM,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW1E;AAoDD,2EAA2E;AAC3E,qBAAa,gBAAiB,SAAQ,KAAK;IAChC,IAAI,SAAsB;CACpC;AAED,+EAA+E;AAC/E,qBAAa,iBAAkB,SAAQ,KAAK;IACjC,IAAI,SAAuB;CACrC;AAED,oFAAoF;AACpF,qBAAa,kBAAmB,SAAQ,gBAAgB;IAC7C,IAAI,SAAwB;CACtC;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvE,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAE1F,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAcnD,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAI7D;AASD,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAQnD;AA2PD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+BnF;AAkUD;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,OAAO,EACX,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,MAAM,CAAC,CAuZjB;AAGD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY1D;AAwfD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2BD,oFAAoF;AACpF,wBAAsB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,SAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwFtF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,OAAO,EACX,GAAG,EAAE,GAAG,GACP,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA4B1D"}
1
+ {"version":3,"file":"printQueue.server.d.ts","sourceRoot":"","sources":["../../src/lib/printQueue.server.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAkC5D,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE/B,mFAAmF;AACnF,MAAM,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEpD;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAW1E;AAoDD,2EAA2E;AAC3E,qBAAa,gBAAiB,SAAQ,KAAK;IAChC,IAAI,SAAsB;CACpC;AAED,+EAA+E;AAC/E,qBAAa,iBAAkB,SAAQ,KAAK;IACjC,IAAI,SAAuB;CACrC;AAED,oFAAoF;AACpF,qBAAa,kBAAmB,SAAQ,gBAAgB;IAC7C,IAAI,SAAwB;CACtC;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC;AAEvE,yEAAyE;AACzE,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,aAAa,GAAG,aAAa,CAAC;AAE1F,6EAA6E;AAC7E,MAAM,MAAM,YAAY,GAAG;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAcnD,4EAA4E;AAC5E,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAI7D;AASD,sEAAsE;AACtE,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAQnD;AA2PD;;;GAGG;AACH,wBAAsB,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CA+BnF;AAkUD;;;;GAIG;AACH,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,OAAO,EACX,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,WAAW,EAClB,QAAQ,CAAC,EAAE,YAAY,GACtB,OAAO,CAAC,MAAM,CAAC,CAuZjB;AAGD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAY1D;AAqBD,mEAAmE;AACnE,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAErC;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAsCzG;AAoZD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AA2BD,oFAAoF;AACpF,wBAAsB,eAAe,CAAC,EAAE,EAAE,OAAO,EAAE,GAAG,SAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwFtF;AAED;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,OAAO,EACX,GAAG,EAAE,GAAG,GACP,OAAO,CAAC;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CA4B1D"}
@@ -1104,22 +1104,51 @@ function plattePayload(payload) {
1104
1104
  loop(payload, "", 0);
1105
1105
  return uit;
1106
1106
  }
1107
- async function wachtOpLayout(db, job, reden) {
1107
+ /** Hoe vaak een opdracht op een ontbrekende layout mag wachten. */
1108
+ export const MAX_WACHT_OP_LAYOUT = 3;
1109
+ /**
1110
+ * Zet een opdracht terug om later opnieuw te proberen, maar begrensd: na
1111
+ * MAX_WACHT_OP_LAYOUT pogingen wordt hij leesbaar "mislukt", zodat hij niet
1112
+ * eindeloos blijft rondgaan en onder de gewone opschoning valt.
1113
+ */
1114
+ export async function wachtOpLayout(db, job, reden) {
1115
+ const pogingen = Number(job.pogingen ?? 0) + 1;
1116
+ const nu = new Date().toISOString();
1117
+ if (pogingen >= MAX_WACHT_OP_LAYOUT) {
1118
+ const melding = `De layout voor dit document is na ${MAX_WACHT_OP_LAYOUT} pogingen nog steeds niet beschikbaar. ${reden}`.slice(0, 500);
1119
+ await db
1120
+ .from("print_jobs")
1121
+ .update({
1122
+ status: "mislukt",
1123
+ verwerkingsfase: "mislukt",
1124
+ foutcode: "blijvende_fout",
1125
+ foutmelding: melding,
1126
+ pogingen,
1127
+ volgende_poging: null,
1128
+ fase_voltooid_op: nu,
1129
+ voltooid_op: nu,
1130
+ updated_at: nu,
1131
+ })
1132
+ .eq("id", job.id)
1133
+ .neq("status", "geannuleerd");
1134
+ await log(db, job.id, "mislukt", melding);
1135
+ return "mislukt";
1136
+ }
1108
1137
  await db
1109
1138
  .from("print_jobs")
1110
1139
  .update({
1111
1140
  status: "wachtend",
1112
- lokale_pdf_status: "wachtend",
1113
- lokale_pdf_fout: reden.slice(0, 500),
1114
1141
  foutmelding: reden.slice(0, 500),
1142
+ pogingen,
1115
1143
  volgende_poging: new Date(Date.now() + 5 * 60 * 1000).toISOString(),
1116
1144
  opgepakt_op: null,
1117
1145
  voltooid_op: null,
1118
- updated_at: new Date().toISOString(),
1146
+ updated_at: nu,
1119
1147
  })
1120
1148
  .eq("id", job.id)
1121
1149
  .neq("status", "geannuleerd");
1122
- await log(db, job.id, "wacht_op_engine_layout", reden);
1150
+ await log(db, job.id, "wacht_op_engine_layout", `${reden} (poging ${pogingen}/${MAX_WACHT_OP_LAYOUT})`);
1151
+ return "wachtend";
1123
1152
  }
1124
1153
  async function mislukt(db, job, reden, terugNaarWachtend) {
1125
1154
  const pogingen = Number(job.pogingen ?? 0);
@@ -1243,9 +1272,7 @@ async function verwerkJob(db, job) {
1243
1272
  const printerKeuze = await zoekPrinter(db, job, layout);
1244
1273
  klok.markeer("printer_resolved");
1245
1274
  const printer = printerKeuze.printer;
1246
- // Virtuele PDF-printer: geen PrintNode nodig; de PDF wordt bewaard.
1247
- const isPdfPrinter = String(printer?.afdrukmethode ?? "") === "pdf";
1248
- if (!printer || (!isPdfPrinter && !printer.extern_printer_id)) {
1275
+ if (!printer || !printer.extern_printer_id) {
1249
1276
  await mislukt(db, job, printerKeuze.reden ||
1250
1277
  `Printer '${printer?.naam ?? "onbekend"}' is niet aan PrintNode gekoppeld.`, true);
1251
1278
  return "mislukt";
@@ -1284,61 +1311,6 @@ async function verwerkJob(db, job) {
1284
1311
  await log(db, job.id, "annulering_bevestigd", "Niet afgeleverd: tijdens het opmaken geannuleerd.");
1285
1312
  return "wachtend";
1286
1313
  }
1287
- // Virtuele PDF-printer: niets gaat naar een fysieke printer; de opgemaakte
1288
- // PDF wordt op de opdracht bewaard en is daarna te downloaden in de
1289
- // wachtrij. De opdracht is meteen voltooid.
1290
- if (isPdfPrinter) {
1291
- // Bewaar de PDF één keer als binair artefact. De wachtrij en Realtime
1292
- // vervoeren daarna alleen metadata; de werkplek downloadt precies dit bestand.
1293
- const artefact = await bewaarPdfArtefact(db, String(job.id), pdfBase64);
1294
- if (await isJobGeannuleerd(db, String(job.id))) {
1295
- await db.storage.from("print-artifacts").remove([artefact.pad]);
1296
- await log(db, job.id, "annulering_bevestigd", "PDF-artefact na annulering verwijderd.");
1297
- return "wachtend";
1298
- }
1299
- // De opdracht blijft bewust op 'bezig' staan: hij is pas voltooid als de
1300
- // werkplek het bestand echt in de PDF-map heeft gezet. De lokale service
1301
- // zet daarna 'opgeslagen' + 'voltooid', of 'mislukt' met een leesbare zin.
1302
- const { data: opgeslagenJob, error: statusFout } = await db
1303
- .from("print_jobs")
1304
- .update({
1305
- printer_id: printer.id,
1306
- gebruikte_layout_id: uitkomst.bron === "extern_pdf" ? null : (layout?.id ?? null),
1307
- gebruikte_bron: uitkomst.bron,
1308
- status: "bezig",
1309
- verwerkingsfase: "pdf_gereed",
1310
- fase_voltooid_op: new Date().toISOString(),
1311
- foutcode: null,
1312
- lokale_pdf_status: "gereed",
1313
- lokale_pdf_print_plek_id: (await zoekPrintPlekId(db, job)) || null,
1314
- lokale_pdf_fout: null,
1315
- lokaal_opgeslagen_op: null,
1316
- foutmelding: null,
1317
- artefact_pad: artefact.pad,
1318
- artefact_sha256: artefact.sha256,
1319
- artefact_bytes: artefact.bytes,
1320
- artefact_gereed_op: new Date().toISOString(),
1321
- resultaat_pdf_base64: null,
1322
- volgende_poging: null,
1323
- updated_at: new Date().toISOString(),
1324
- })
1325
- .eq("id", job.id)
1326
- .neq("status", "geannuleerd")
1327
- .select("id")
1328
- .maybeSingle();
1329
- if (statusFout) {
1330
- await mislukt(db, job, `Opdracht afronden mislukt: ${statusFout.message}`, true);
1331
- return "mislukt";
1332
- }
1333
- if (!opgeslagenJob) {
1334
- await db.storage.from("print-artifacts").remove([artefact.pad]);
1335
- await log(db, job.id, "annulering_bevestigd", "PDF-artefact na gelijktijdige annulering verwijderd.");
1336
- return "wachtend";
1337
- }
1338
- klok.markeer("pdf_ready");
1339
- await log(db, job.id, "pdf_gereed", `PDF gereed voor lokale opslag via ${printer.naam ?? "PDF-printer"}. ${klok.samenvatting()}`);
1340
- return "verstuurd";
1341
- }
1342
1314
  const formaten = await zorgVoorFormaten(db, printer);
1343
1315
  const vfPapier = (job.payload ?? {})["voorbeeld_formaat"];
1344
1316
  const breedteMm = Number(layout?.breedte_mm ?? vfPapier?.["breedte_mm"] ?? standaardMaat(printer).breedte);
@@ -1389,8 +1361,7 @@ async function verwerkJob(db, job) {
1389
1361
  }
1390
1362
  catch (e) {
1391
1363
  if (e instanceof WachtOpLayoutFout) {
1392
- await wachtOpLayout(db, job, e.message);
1393
- return "wachtend";
1364
+ return await wachtOpLayout(db, job, e.message);
1394
1365
  }
1395
1366
  // Ontbreekt er een document of layout? Dan heeft opnieuw proberen geen zin.
1396
1367
  const blijvend = e instanceof GeenDocumentFout;
@@ -1502,8 +1473,6 @@ async function vervalControle(db) {
1502
1473
  .select("id, pogingen")
1503
1474
  .eq("status", "bezig")
1504
1475
  .is("extern_job_id", null)
1505
- // PDF-opdrachten die op de werkplek wachten zijn niet vastgelopen.
1506
- .or("lokale_pdf_status.is.null,lokale_pdf_status.not.in.(wachtend,bezig,gereed)")
1507
1476
  .or(`opgepakt_op.lt.${grensClaim},and(opgepakt_op.is.null,updated_at.lt.${grensClaim})`)
1508
1477
  .limit(50);
1509
1478
  for (const job of arr(vastgelopen)) {