@flowselections/layout-maker 1.22.3 → 1.24.0

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 (60) hide show
  1. package/README.md +139 -139
  2. package/dist-lib/components/AfdrukKnop.d.ts +1 -1
  3. package/dist-lib/components/AfdrukKnop.d.ts.map +1 -1
  4. package/dist-lib/components/DocumentRouteringPage.js +1 -1
  5. package/dist-lib/components/DocumentSettingsPanel.d.ts.map +1 -1
  6. package/dist-lib/components/DocumentSettingsPanel.js +26 -2
  7. package/dist-lib/components/NetwerkPrintersDialog.d.ts +1 -1
  8. package/dist-lib/components/NetwerkPrintersDialog.d.ts.map +1 -1
  9. package/dist-lib/components/PakbonBuilderPage.d.ts.map +1 -1
  10. package/dist-lib/components/PakbonBuilderPage.js +7 -26
  11. package/dist-lib/components/PrinterSetupWizard.d.ts.map +1 -1
  12. package/dist-lib/components/PrinterSetupWizard.js +77 -30
  13. package/dist-lib/components/PrintersRedirectPage.d.ts +1 -1
  14. package/dist-lib/components/PrintersRedirectPage.js +14 -14
  15. package/dist-lib/components/ProductiebonBuilderPage.d.ts.map +1 -1
  16. package/dist-lib/components/ProductiebonBuilderPage.js +25 -2
  17. package/dist-lib/index.d.ts +4 -6
  18. package/dist-lib/index.d.ts.map +1 -1
  19. package/dist-lib/index.js +3 -4
  20. package/dist-lib/integrations/supabase/auth-middleware.d.ts +9 -0
  21. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  22. package/dist-lib/integrations/supabase/client.server.d.ts +9 -0
  23. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  24. package/dist-lib/integrations/supabase/types.d.ts +9 -0
  25. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  26. package/dist-lib/lib/aiLayout.functions.d.ts +9 -0
  27. package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
  28. package/dist-lib/lib/aiLayout.server.js +9 -9
  29. package/dist-lib/lib/browserPrint.d.ts +0 -23
  30. package/dist-lib/lib/browserPrint.d.ts.map +1 -1
  31. package/dist-lib/lib/browserPrint.js +4 -49
  32. package/dist-lib/lib/layoutPreview.js +7 -7
  33. package/dist-lib/lib/pakbonHtml.js +50 -50
  34. package/dist-lib/lib/papierFormaten.d.ts +30 -0
  35. package/dist-lib/lib/papierFormaten.d.ts.map +1 -0
  36. package/dist-lib/lib/papierFormaten.js +106 -0
  37. package/dist-lib/lib/printApi.d.ts +10 -0
  38. package/dist-lib/lib/printApi.d.ts.map +1 -1
  39. package/dist-lib/lib/printApi.js +9 -0
  40. package/dist-lib/lib/printQueue.server.d.ts +2 -0
  41. package/dist-lib/lib/printQueue.server.d.ts.map +1 -1
  42. package/dist-lib/lib/printQueue.server.js +86 -12
  43. package/dist-lib/lib/printService.functions.d.ts +36 -0
  44. package/dist-lib/lib/printService.functions.d.ts.map +1 -1
  45. package/dist-lib/lib/printService.server.d.ts +20 -0
  46. package/dist-lib/lib/printService.server.d.ts.map +1 -1
  47. package/dist-lib/lib/printService.server.js +24 -0
  48. package/dist-lib/lib/productiebonHtml.js +15 -15
  49. package/dist-lib/lib/profielHtml.js +18 -18
  50. package/dist-lib/lib/supabaseAdmin.server.d.ts +5 -5
  51. package/dist-lib/lib/supabaseAdmin.server.js +43 -43
  52. package/dist-lib/lib/testpagina.d.ts.map +1 -1
  53. package/dist-lib/lib/testpagina.js +27 -22
  54. package/dist-lib/lib/testprint.js +4 -4
  55. package/dist-lib/lib/useDocumentData.d.ts +1 -6
  56. package/dist-lib/lib/useDocumentData.d.ts.map +1 -1
  57. package/dist-lib/lib/voorbeeldPrint.d.ts +12 -0
  58. package/dist-lib/lib/voorbeeldPrint.d.ts.map +1 -0
  59. package/dist-lib/lib/voorbeeldPrint.js +42 -0
  60. package/package.json +1 -1
@@ -3,13 +3,15 @@
3
3
  // Pakt wachtende opdrachten op, maakt er een PDF van en stuurt die stil naar
4
4
  // de juiste printer. Draait alleen op de server (cron / interne aanroep).
5
5
  // ============================================================================
6
- import { maakPakbonOrder, renderPakbonDocument } from "./pakbonHtml.js";
6
+ import { maakPakbonOrder, renderPakbonDocument, voorbeeldPakbonOrder, } from "./pakbonHtml.js";
7
7
  import { renderProductiebonDocument } from "./productiebonHtml.js";
8
8
  import { heeftOrderInhoud, laadOrderVanuitDatabase } from "./orderData.server.js";
9
9
  import { profielHeeftInhoud, renderProfielDocument } from "./profielHtml.js";
10
- import { bouwDocumentHtml } from "./layoutPreview.js";
10
+ import { bouwDocumentHtml, voorbeeldContext } from "./layoutPreview.js";
11
11
  import { htmlNaarPdfServer, PdfRenderFout } from "./htmlNaarPdf.server.js";
12
12
  import { stuurPdfNaarPrinter, opdrachtStatus } from "./printService.server.js";
13
+ import { kiesPapier } from "./papierFormaten.js";
14
+ import { PAPIERFORMATEN } from "./documentTypes.js";
13
15
  const MAX_POGINGEN = 3;
14
16
  const arr = (v) => (Array.isArray(v) ? v : []);
15
17
  /**
@@ -45,6 +47,24 @@ class GeenDocumentFout extends Error {
45
47
  this.name = "GeenDocumentFout";
46
48
  }
47
49
  }
50
+ /**
51
+ * Oudere/andere benamingen voor hetzelfde document. De Logistiek Engine noemt
52
+ * de afleverbrief bijvoorbeeld nog "verzendbrief"; hier vertalen we dat naar
53
+ * het documenttype dat deze module kent.
54
+ */
55
+ const DOCUMENTTYPE_ALIASSEN = {
56
+ verzendbrief: "afleverbrief",
57
+ verzendbon: "afleverbrief",
58
+ vrachtbrief: "afleverbrief",
59
+ bvo: "afleverbrief",
60
+ };
61
+ /** Zet een binnenkomend documenttype om naar de sleutel van deze module. */
62
+ export function normaliseerDocumenttype(type) {
63
+ const t = String(type ?? "").trim().toLowerCase();
64
+ if (!t)
65
+ return "document";
66
+ return DOCUMENTTYPE_ALIASSEN[t] ?? t;
67
+ }
48
68
  /**
49
69
  * Zoekt de layout die bij de opdracht hoort.
50
70
  * Staat er een layout_id op de opdracht (bijv. gezet door de Logistiek
@@ -53,7 +73,13 @@ class GeenDocumentFout extends Error {
53
73
  * layout van het documenttype.
54
74
  */
55
75
  async function zoekLayout(db, job) {
56
- const uitPayload = job.payload?.layoutId ?? job.payload?.data?.layoutId ?? job.payload?.layout_id ?? null;
76
+ const heeftEigenOpmaak = typeof job.render_html === "string" && job.render_html.trim().length > 40;
77
+ // Een layout-id in het kenmerkenveld is alleen een verwijzing, geen
78
+ // koppeling: is er opmaak meegestuurd (bijv. een voorbeeldafdruk uit de
79
+ // ontwerper), dan is die opmaak leidend.
80
+ const uitPayload = heeftEigenOpmaak
81
+ ? null
82
+ : (job.payload?.layoutId ?? job.payload?.data?.layoutId ?? job.payload?.layout_id ?? null);
57
83
  const id = job.layout_id ?? uitPayload;
58
84
  if (id) {
59
85
  const { data } = await db
@@ -64,19 +90,19 @@ async function zoekLayout(db, job) {
64
90
  if (!data) {
65
91
  throw new GeenDocumentFout("De layout die aan deze opdracht hangt bestaat niet meer. Koppel een geldige layout.");
66
92
  }
67
- return { layout: data, expliciet: true };
93
+ return { layout: data, expliciet: Boolean(job.layout_id) };
68
94
  }
69
95
  const { data } = await db
70
96
  .from("document_layouts")
71
97
  .select("*")
72
- .eq("documenttype", job.documenttype)
98
+ .eq("documenttype", normaliseerDocumenttype(job.documenttype))
73
99
  .eq("actief", true)
74
100
  .order("is_standaard", { ascending: false })
75
101
  .order("updated_at", { ascending: false })
76
102
  .limit(1);
77
103
  const gevonden = (arr(data)[0] ?? null);
78
104
  if (!gevonden && !job.render_html) {
79
- throw new GeenDocumentFout(`Geen layout gevonden voor documenttype '${String(job.documenttype)}'. ` +
105
+ throw new GeenDocumentFout(`Geen layout gevonden voor documenttype '${normaliseerDocumenttype(job.documenttype)}'. ` +
80
106
  "Maak een layout aan en zet die op actief.");
81
107
  }
82
108
  return { layout: gevonden, expliciet: false };
@@ -93,7 +119,7 @@ async function zoekBronregel(db, job) {
93
119
  const { data } = await db
94
120
  .from("document_bronregels")
95
121
  .select("bron, layout_id")
96
- .eq("documenttype", job.documenttype)
122
+ .eq("documenttype", normaliseerDocumenttype(job.documenttype))
97
123
  .eq("herkomst", herkomst)
98
124
  .maybeSingle();
99
125
  const regel = data;
@@ -233,6 +259,41 @@ async function printplekNaamVoorJob(db, job) {
233
259
  const { data } = await db.from("print_plekken").select("naam").eq("id", plekId).maybeSingle();
234
260
  return String(data?.naam ?? "") || werkplek || null;
235
261
  }
262
+ /** Afmeting die we aanhouden als de opdracht geen eigen layout heeft. */
263
+ function standaardMaat(printer) {
264
+ const code = String(printer?.papierformaat ?? "A4");
265
+ const def = PAPIERFORMATEN.find((p) => p.code === code);
266
+ return { breedte: def?.breedte ?? 210, hoogte: def?.hoogte ?? 297 };
267
+ }
268
+ /**
269
+ * Haalt de papierformaten van de printer op zodra we die nog niet kennen of
270
+ * ze ouder zijn dan een dag, en bewaart ze bij de printer.
271
+ */
272
+ async function zorgVoorFormaten(db, printer) {
273
+ const bestaand = printer?.ondersteunde_formaten ?? null;
274
+ const bijgewerkt = printer?.formaten_bijgewerkt_op
275
+ ? Date.parse(String(printer.formaten_bijgewerkt_op))
276
+ : 0;
277
+ const vers = bijgewerkt > Date.now() - 24 * 60 * 60 * 1000;
278
+ if (bestaand && vers)
279
+ return bestaand;
280
+ try {
281
+ const { haalPrinterFormaten } = await import("./printService.server.js");
282
+ const info = await haalPrinterFormaten(String(printer.extern_printer_id));
283
+ await db
284
+ .from("printers")
285
+ .update({
286
+ ondersteunde_formaten: info.formaten,
287
+ ondersteunde_laden: info.laden,
288
+ formaten_bijgewerkt_op: new Date().toISOString(),
289
+ })
290
+ .eq("id", printer.id);
291
+ return info.formaten;
292
+ }
293
+ catch {
294
+ return bestaand ?? null;
295
+ }
296
+ }
236
297
  /** Bepaalt op welke printer de opdracht moet uitkomen. */
237
298
  async function zoekPrinter(db, job, layout) {
238
299
  const pak = async (id) => {
@@ -240,12 +301,12 @@ async function zoekPrinter(db, job, layout) {
240
301
  return null;
241
302
  const { data } = await db
242
303
  .from("printers")
243
- .select("id, naam, extern_printer_id, actief")
304
+ .select("id, naam, extern_printer_id, actief, papierformaat, ondersteunde_formaten, ondersteunde_laden, formaten_bijgewerkt_op")
244
305
  .eq("id", id)
245
306
  .maybeSingle();
246
307
  return data && data.actief !== false ? data : null;
247
308
  };
248
- const type = String(job.documenttype ?? "document");
309
+ const type = normaliseerDocumenttype(job.documenttype);
249
310
  // 1. Printer die expliciet op de opdracht staat (bijv. handmatig herprinten).
250
311
  let printer = await pak(job.printer_id);
251
312
  if (printer)
@@ -397,7 +458,13 @@ export async function bouwHtml(db, job, keuze) {
397
458
  if ((pakbonSecties && pakbonSecties.length) || String(layout.documenttype) === "pakbon") {
398
459
  const orderBron = p.order ?? p.data?.order ?? p.data ?? p;
399
460
  const uitDb = heeftOrderInhoud(orderBron) ? null : await laadOrderVanuitDatabase(db, p);
400
- const order = maakPakbonOrder(uitDb ?? orderBron);
461
+ // Een voorbeeldafdruk zonder ordergegevens krijgt een voorbeeldorder, zodat
462
+ // je ziet hoe het document er in de praktijk uitziet.
463
+ const bron = uitDb ??
464
+ (p.voorbeeld === true && !heeftOrderInhoud(orderBron)
465
+ ? voorbeeldPakbonOrder()
466
+ : orderBron);
467
+ const order = maakPakbonOrder(bron);
401
468
  return renderPakbonDocument(layout.config, order, {
402
469
  breedteMm,
403
470
  hoogteMm,
@@ -448,7 +515,9 @@ export async function bouwHtml(db, job, keuze) {
448
515
  "Zet in de layoutinstellingen minstens één onderdeel aan.");
449
516
  }
450
517
  const logos = await logosVoor(db, layout);
451
- return renderProfielDocument(String(layout.documenttype), cfg, p.data ?? p, {
518
+ const gegevens = (p.data ?? p);
519
+ const profielData = p.voorbeeld === true ? { ...voorbeeldContext(), ...(gegevens ?? {}) } : gegevens;
520
+ return renderProfielDocument(String(layout.documenttype), cfg, profielData, {
452
521
  breedteMm,
453
522
  hoogteMm,
454
523
  margeMm: Number(layout.marge_boven ?? 8),
@@ -563,11 +632,16 @@ async function verwerkJob(db, job) {
563
632
  landschap: liggend,
564
633
  });
565
634
  }
635
+ const formaten = await zorgVoorFormaten(db, printer);
636
+ const breedteMm = Number(layout?.breedte_mm ?? standaardMaat(printer).breedte);
637
+ const hoogteMm = Number(layout?.hoogte_mm ?? standaardMaat(printer).hoogte);
638
+ const papier = kiesPapier(formaten, breedteMm, hoogteMm);
566
639
  const externJobId = await stuurPdfNaarPrinter({
567
640
  externPrinterId: String(printer.extern_printer_id),
568
641
  documentnaam: String(job.documentnaam ?? "Document"),
569
642
  pdfBase64,
570
643
  kopieen: Number(job.kopieen ?? 1),
644
+ opties: { paper: papier.paper, rotate: papier.rotate, fitToPage: false },
571
645
  });
572
646
  await db
573
647
  .from("print_jobs")
@@ -580,7 +654,7 @@ async function verwerkJob(db, job) {
580
654
  updated_at: new Date().toISOString(),
581
655
  })
582
656
  .eq("id", job.id);
583
- await log(db, job.id, "verstuurd", `Naar printer ${printer.naam ?? ""}`);
657
+ await log(db, job.id, "verstuurd", `Naar printer ${printer.naam ?? ""}. ${papier.uitleg}`);
584
658
  return "verstuurd";
585
659
  }
586
660
  catch (e) {
@@ -14016,6 +14016,7 @@ export declare const netwerkPrinters: import("@tanstack/start-client-core").Opti
14016
14016
  created_at: string;
14017
14017
  driver: string;
14018
14018
  extern_printer_id: string | null;
14019
+ formaten_bijgewerkt_op: string | null;
14019
14020
  id: string;
14020
14021
  ip_adres: string | null;
14021
14022
  laatst_gezien: string | null;
@@ -14023,6 +14024,8 @@ export declare const netwerkPrinters: import("@tanstack/start-client-core").Opti
14023
14024
  merk: string;
14024
14025
  naam: string;
14025
14026
  omschrijving: string;
14027
+ ondersteunde_formaten: import("../integrations/supabase/types.js").Json | null;
14028
+ ondersteunde_laden: import("../integrations/supabase/types.js").Json | null;
14026
14029
  online: boolean;
14027
14030
  papierformaat: string;
14028
14031
  poort: number | null;
@@ -14038,6 +14041,7 @@ export declare const netwerkPrinters: import("@tanstack/start-client-core").Opti
14038
14041
  created_at?: string;
14039
14042
  driver?: string;
14040
14043
  extern_printer_id?: string | null;
14044
+ formaten_bijgewerkt_op?: string | null;
14041
14045
  id?: string;
14042
14046
  ip_adres?: string | null;
14043
14047
  laatst_gezien?: string | null;
@@ -14045,6 +14049,8 @@ export declare const netwerkPrinters: import("@tanstack/start-client-core").Opti
14045
14049
  merk?: string;
14046
14050
  naam: string;
14047
14051
  omschrijving?: string;
14052
+ ondersteunde_formaten?: import("../integrations/supabase/types.js").Json | null;
14053
+ ondersteunde_laden?: import("../integrations/supabase/types.js").Json | null;
14048
14054
  online?: boolean;
14049
14055
  papierformaat?: string;
14050
14056
  poort?: number | null;
@@ -14060,6 +14066,7 @@ export declare const netwerkPrinters: import("@tanstack/start-client-core").Opti
14060
14066
  created_at?: string;
14061
14067
  driver?: string;
14062
14068
  extern_printer_id?: string | null;
14069
+ formaten_bijgewerkt_op?: string | null;
14063
14070
  id?: string;
14064
14071
  ip_adres?: string | null;
14065
14072
  laatst_gezien?: string | null;
@@ -14067,6 +14074,8 @@ export declare const netwerkPrinters: import("@tanstack/start-client-core").Opti
14067
14074
  merk?: string;
14068
14075
  naam?: string;
14069
14076
  omschrijving?: string;
14077
+ ondersteunde_formaten?: import("../integrations/supabase/types.js").Json | null;
14078
+ ondersteunde_laden?: import("../integrations/supabase/types.js").Json | null;
14070
14079
  online?: boolean;
14071
14080
  papierformaat?: string;
14072
14081
  poort?: number | null;
@@ -37224,6 +37233,7 @@ export declare const verstuurPrintOpdracht: import("@tanstack/start-client-core"
37224
37233
  created_at: string;
37225
37234
  driver: string;
37226
37235
  extern_printer_id: string | null;
37236
+ formaten_bijgewerkt_op: string | null;
37227
37237
  id: string;
37228
37238
  ip_adres: string | null;
37229
37239
  laatst_gezien: string | null;
@@ -37231,6 +37241,8 @@ export declare const verstuurPrintOpdracht: import("@tanstack/start-client-core"
37231
37241
  merk: string;
37232
37242
  naam: string;
37233
37243
  omschrijving: string;
37244
+ ondersteunde_formaten: import("../integrations/supabase/types.js").Json | null;
37245
+ ondersteunde_laden: import("../integrations/supabase/types.js").Json | null;
37234
37246
  online: boolean;
37235
37247
  papierformaat: string;
37236
37248
  poort: number | null;
@@ -37246,6 +37258,7 @@ export declare const verstuurPrintOpdracht: import("@tanstack/start-client-core"
37246
37258
  created_at?: string;
37247
37259
  driver?: string;
37248
37260
  extern_printer_id?: string | null;
37261
+ formaten_bijgewerkt_op?: string | null;
37249
37262
  id?: string;
37250
37263
  ip_adres?: string | null;
37251
37264
  laatst_gezien?: string | null;
@@ -37253,6 +37266,8 @@ export declare const verstuurPrintOpdracht: import("@tanstack/start-client-core"
37253
37266
  merk?: string;
37254
37267
  naam: string;
37255
37268
  omschrijving?: string;
37269
+ ondersteunde_formaten?: import("../integrations/supabase/types.js").Json | null;
37270
+ ondersteunde_laden?: import("../integrations/supabase/types.js").Json | null;
37256
37271
  online?: boolean;
37257
37272
  papierformaat?: string;
37258
37273
  poort?: number | null;
@@ -37268,6 +37283,7 @@ export declare const verstuurPrintOpdracht: import("@tanstack/start-client-core"
37268
37283
  created_at?: string;
37269
37284
  driver?: string;
37270
37285
  extern_printer_id?: string | null;
37286
+ formaten_bijgewerkt_op?: string | null;
37271
37287
  id?: string;
37272
37288
  ip_adres?: string | null;
37273
37289
  laatst_gezien?: string | null;
@@ -37275,6 +37291,8 @@ export declare const verstuurPrintOpdracht: import("@tanstack/start-client-core"
37275
37291
  merk?: string;
37276
37292
  naam?: string;
37277
37293
  omschrijving?: string;
37294
+ ondersteunde_formaten?: import("../integrations/supabase/types.js").Json | null;
37295
+ ondersteunde_laden?: import("../integrations/supabase/types.js").Json | null;
37278
37296
  online?: boolean;
37279
37297
  papierformaat?: string;
37280
37298
  poort?: number | null;
@@ -60442,6 +60460,7 @@ export declare const printStatus: import("@tanstack/start-client-core").Required
60442
60460
  created_at: string;
60443
60461
  driver: string;
60444
60462
  extern_printer_id: string | null;
60463
+ formaten_bijgewerkt_op: string | null;
60445
60464
  id: string;
60446
60465
  ip_adres: string | null;
60447
60466
  laatst_gezien: string | null;
@@ -60449,6 +60468,8 @@ export declare const printStatus: import("@tanstack/start-client-core").Required
60449
60468
  merk: string;
60450
60469
  naam: string;
60451
60470
  omschrijving: string;
60471
+ ondersteunde_formaten: import("../integrations/supabase/types.js").Json | null;
60472
+ ondersteunde_laden: import("../integrations/supabase/types.js").Json | null;
60452
60473
  online: boolean;
60453
60474
  papierformaat: string;
60454
60475
  poort: number | null;
@@ -60464,6 +60485,7 @@ export declare const printStatus: import("@tanstack/start-client-core").Required
60464
60485
  created_at?: string;
60465
60486
  driver?: string;
60466
60487
  extern_printer_id?: string | null;
60488
+ formaten_bijgewerkt_op?: string | null;
60467
60489
  id?: string;
60468
60490
  ip_adres?: string | null;
60469
60491
  laatst_gezien?: string | null;
@@ -60471,6 +60493,8 @@ export declare const printStatus: import("@tanstack/start-client-core").Required
60471
60493
  merk?: string;
60472
60494
  naam: string;
60473
60495
  omschrijving?: string;
60496
+ ondersteunde_formaten?: import("../integrations/supabase/types.js").Json | null;
60497
+ ondersteunde_laden?: import("../integrations/supabase/types.js").Json | null;
60474
60498
  online?: boolean;
60475
60499
  papierformaat?: string;
60476
60500
  poort?: number | null;
@@ -60486,6 +60510,7 @@ export declare const printStatus: import("@tanstack/start-client-core").Required
60486
60510
  created_at?: string;
60487
60511
  driver?: string;
60488
60512
  extern_printer_id?: string | null;
60513
+ formaten_bijgewerkt_op?: string | null;
60489
60514
  id?: string;
60490
60515
  ip_adres?: string | null;
60491
60516
  laatst_gezien?: string | null;
@@ -60493,6 +60518,8 @@ export declare const printStatus: import("@tanstack/start-client-core").Required
60493
60518
  merk?: string;
60494
60519
  naam?: string;
60495
60520
  omschrijving?: string;
60521
+ ondersteunde_formaten?: import("../integrations/supabase/types.js").Json | null;
60522
+ ondersteunde_laden?: import("../integrations/supabase/types.js").Json | null;
60496
60523
  online?: boolean;
60497
60524
  papierformaat?: string;
60498
60525
  poort?: number | null;
@@ -83654,6 +83681,7 @@ export declare const netwerkComputers: import("@tanstack/start-client-core").Opt
83654
83681
  created_at: string;
83655
83682
  driver: string;
83656
83683
  extern_printer_id: string | null;
83684
+ formaten_bijgewerkt_op: string | null;
83657
83685
  id: string;
83658
83686
  ip_adres: string | null;
83659
83687
  laatst_gezien: string | null;
@@ -83661,6 +83689,8 @@ export declare const netwerkComputers: import("@tanstack/start-client-core").Opt
83661
83689
  merk: string;
83662
83690
  naam: string;
83663
83691
  omschrijving: string;
83692
+ ondersteunde_formaten: import("../integrations/supabase/types.js").Json | null;
83693
+ ondersteunde_laden: import("../integrations/supabase/types.js").Json | null;
83664
83694
  online: boolean;
83665
83695
  papierformaat: string;
83666
83696
  poort: number | null;
@@ -83676,6 +83706,7 @@ export declare const netwerkComputers: import("@tanstack/start-client-core").Opt
83676
83706
  created_at?: string;
83677
83707
  driver?: string;
83678
83708
  extern_printer_id?: string | null;
83709
+ formaten_bijgewerkt_op?: string | null;
83679
83710
  id?: string;
83680
83711
  ip_adres?: string | null;
83681
83712
  laatst_gezien?: string | null;
@@ -83683,6 +83714,8 @@ export declare const netwerkComputers: import("@tanstack/start-client-core").Opt
83683
83714
  merk?: string;
83684
83715
  naam: string;
83685
83716
  omschrijving?: string;
83717
+ ondersteunde_formaten?: import("../integrations/supabase/types.js").Json | null;
83718
+ ondersteunde_laden?: import("../integrations/supabase/types.js").Json | null;
83686
83719
  online?: boolean;
83687
83720
  papierformaat?: string;
83688
83721
  poort?: number | null;
@@ -83698,6 +83731,7 @@ export declare const netwerkComputers: import("@tanstack/start-client-core").Opt
83698
83731
  created_at?: string;
83699
83732
  driver?: string;
83700
83733
  extern_printer_id?: string | null;
83734
+ formaten_bijgewerkt_op?: string | null;
83701
83735
  id?: string;
83702
83736
  ip_adres?: string | null;
83703
83737
  laatst_gezien?: string | null;
@@ -83705,6 +83739,8 @@ export declare const netwerkComputers: import("@tanstack/start-client-core").Opt
83705
83739
  merk?: string;
83706
83740
  naam?: string;
83707
83741
  omschrijving?: string;
83742
+ ondersteunde_formaten?: import("../integrations/supabase/types.js").Json | null;
83743
+ ondersteunde_laden?: import("../integrations/supabase/types.js").Json | null;
83708
83744
  online?: boolean;
83709
83745
  papierformaat?: string;
83710
83746
  poort?: number | null;