@flowselections/layout-maker 1.7.3 → 1.8.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 (34) hide show
  1. package/README.md +131 -69
  2. package/dist-lib/components/PrinterSetupWizard.js +1 -1
  3. package/dist-lib/index.d.ts +2 -2
  4. package/dist-lib/index.d.ts.map +1 -1
  5. package/dist-lib/index.js +2 -2
  6. package/dist-lib/integrations/supabase/auth-middleware.d.ts +280 -13
  7. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  8. package/dist-lib/integrations/supabase/client.server.d.ts +280 -13
  9. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  10. package/dist-lib/integrations/supabase/types.d.ts +292 -14
  11. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  12. package/dist-lib/integrations/supabase/types.js +3 -0
  13. package/dist-lib/lib/aiLayout.functions.d.ts +280 -13
  14. package/dist-lib/lib/aiLayout.functions.d.ts.map +1 -1
  15. package/dist-lib/lib/aiLayout.server.js +9 -9
  16. package/dist-lib/lib/browserPrint.js +5 -5
  17. package/dist-lib/lib/documentProfiles.d.ts.map +1 -1
  18. package/dist-lib/lib/documentProfiles.js +3 -0
  19. package/dist-lib/lib/documentTypes.d.ts +1 -1
  20. package/dist-lib/lib/documentTypes.d.ts.map +1 -1
  21. package/dist-lib/lib/documentTypes.js +3 -0
  22. package/dist-lib/lib/layoutPreview.js +7 -7
  23. package/dist-lib/lib/pakbonHtml.js +50 -50
  24. package/dist-lib/lib/printApi.d.ts +71 -0
  25. package/dist-lib/lib/printApi.d.ts.map +1 -1
  26. package/dist-lib/lib/printApi.js +152 -12
  27. package/dist-lib/lib/printService.functions.d.ts +1120 -52
  28. package/dist-lib/lib/printService.functions.d.ts.map +1 -1
  29. package/dist-lib/lib/productiebonHtml.js +15 -15
  30. package/dist-lib/lib/profielHtml.js +18 -18
  31. package/dist-lib/lib/supabaseAdmin.server.d.ts +5 -5
  32. package/dist-lib/lib/supabaseAdmin.server.js +43 -43
  33. package/dist-lib/lib/testpagina.js +1 -1
  34. package/package.json +1 -1
package/README.md CHANGED
@@ -1,69 +1,131 @@
1
- # Layout maker (pakbonnen, verzendbrieven, ectra)
2
-
3
- blank project start
4
-
5
- This project was built with [Lovable](https://lovable.dev).
6
-
7
- ## Build with Lovable
8
-
9
- Continue developing this project in the [Lovable editor](https://lovable.dev/projects/4735fccb-b385-4b48-b4f8-ef135f63f4f7).
10
-
11
- - **Ship faster**: describe what you want to build and Lovable handles the code.
12
- - **Stay in sync**: every change made in Lovable is committed straight to this repository.
13
- - **Full ownership**: this code is yours. Push to `main` on GitHub and your changes sync back into Lovable, ready for your next prompt.
14
-
15
- ## Development
16
-
17
- Prefer working locally? You need Node.js and npm — [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating).
18
-
19
- ```sh
20
- git clone <this-repository-url>
21
- cd <repository-name>
22
- npm i
23
- npm run dev
24
- ```
25
-
26
- ## Installeren in een andere shell
27
-
28
- 1. Draai `sql/print-schema.sql` één keer in de Supabase-database van die shell
29
- (SQL editor). Het script is idempotent en zet tabellen, rechten, RLS,
30
- functies en de geplande taken klaar. Zorg dat de extensies `pg_cron` en
31
- `pg_net` aan staan.
32
- 2. Zet in de omgeving van de shell:
33
- - `SUPABASE_URL` en `SERVICE_ROLE_KEY` — nodig voor achtergrondprinten
34
- - `CENTRAL_AUTH_URL` en `CENTRAL_AUTH_SECRET` — nodig voor de printdienst
35
- 3. Zorg dat de shell het tick-eindpunt host. De setup-CLI doet dit automatisch
36
- op basis van `flowselections.serverRoutes` in `package.json`. Handmatig
37
- opgezette shells maken zelf dit bestand aan:
38
-
39
- ```ts
40
- // src/routes/api/public/print/queue-tick.ts
41
- import { createFileRoute } from "@tanstack/react-router";
42
- import { behandelQueueTick } from "@flowselections/layout-maker/print";
43
-
44
- export const Route = createFileRoute("/api/public/print/queue-tick")({
45
- server: {
46
- handlers: {
47
- POST: async ({ request }) => {
48
- // De shell levert de databaseverbinding; de module maakt er nooit zelf een.
49
- const { supabaseAdmin } = await import(
50
- "../../../../integrations/supabase/client.server"
51
- );
52
- return behandelQueueTick(request, supabaseAdmin);
53
- },
54
- },
55
- },
56
- });
57
- ```
58
-
59
- Het eindpunt accepteert drie toegangsbewijzen: een runner-sleutel uit
60
- `print_queue_runners.tick_sleutel`, `SUPABASE_PUBLISHABLE_KEY` (de cron) of
61
- het sessietoken van een ingelogde gebruiker (de knop in de Printwachtrij).
62
-
63
-
64
- 4. Klaar. Zodra de module in de shell draait meldt hij zichzelf aan als
65
- verwerker van de printwachtrij. Een nieuwe printopdracht wordt meteen
66
- opgepakt; daarnaast verwerkt de geplande taak `print-queue-tick` elke minuut
67
- de wachtende opdrachten. Reageert een shell een uur lang niet, dan wordt hij
68
- automatisch op inactief gezet. De taak `print-queue-cleanup` ruimt dagelijks
69
- oude opdrachten en bestanden op.
1
+ # Layout maker (pakbonnen, verzendbrieven, ectra)
2
+
3
+ blank project start
4
+
5
+ This project was built with [Lovable](https://lovable.dev).
6
+
7
+ ## Build with Lovable
8
+
9
+ Continue developing this project in the [Lovable editor](https://lovable.dev/projects/4735fccb-b385-4b48-b4f8-ef135f63f4f7).
10
+
11
+ - **Ship faster**: describe what you want to build and Lovable handles the code.
12
+ - **Stay in sync**: every change made in Lovable is committed straight to this repository.
13
+ - **Full ownership**: this code is yours. Push to `main` on GitHub and your changes sync back into Lovable, ready for your next prompt.
14
+
15
+ ## Development
16
+
17
+ Prefer working locally? You need Node.js and npm — [install with nvm](https://github.com/nvm-sh/nvm#installing-and-updating).
18
+
19
+ ```sh
20
+ git clone <this-repository-url>
21
+ cd <repository-name>
22
+ npm i
23
+ npm run dev
24
+ ```
25
+
26
+ ## Installeren in een andere shell
27
+
28
+ 1. Draai `sql/print-schema.sql` één keer in de Supabase-database van die shell
29
+ (SQL editor). Het script is idempotent en zet tabellen, rechten, RLS,
30
+ functies en de geplande taken klaar. Zorg dat de extensies `pg_cron` en
31
+ `pg_net` aan staan.
32
+ 2. Zet in de omgeving van de shell:
33
+ - `SUPABASE_URL` en `SERVICE_ROLE_KEY` — nodig voor achtergrondprinten
34
+ - `CENTRAL_AUTH_URL` en `CENTRAL_AUTH_SECRET` — nodig voor de printdienst
35
+ 3. Zorg dat de shell het tick-eindpunt host. De setup-CLI doet dit automatisch
36
+ op basis van `flowselections.serverRoutes` in `package.json`. Handmatig
37
+ opgezette shells maken zelf dit bestand aan:
38
+
39
+ ```ts
40
+ // src/routes/api/public/print/queue-tick.ts
41
+ import { createFileRoute } from "@tanstack/react-router";
42
+ import { behandelQueueTick } from "@flowselections/layout-maker/print";
43
+
44
+ export const Route = createFileRoute("/api/public/print/queue-tick")({
45
+ server: {
46
+ handlers: {
47
+ POST: async ({ request }) => {
48
+ // De shell levert de databaseverbinding; de module maakt er nooit zelf een.
49
+ const { supabaseAdmin } = await import(
50
+ "../../../../integrations/supabase/client.server"
51
+ );
52
+ return behandelQueueTick(request, supabaseAdmin);
53
+ },
54
+ },
55
+ },
56
+ });
57
+ ```
58
+
59
+ Het eindpunt accepteert drie toegangsbewijzen: een runner-sleutel uit
60
+ `print_queue_runners.tick_sleutel`, `SUPABASE_PUBLISHABLE_KEY` (de cron) of
61
+ het sessietoken van een ingelogde gebruiker (de knop in de Printwachtrij).
62
+
63
+
64
+ 4. Klaar. Zodra de module in de shell draait meldt hij zichzelf aan als
65
+ verwerker van de printwachtrij. Een nieuwe printopdracht wordt meteen
66
+ opgepakt; daarnaast verwerkt de geplande taak `print-queue-tick` elke minuut
67
+ de wachtende opdrachten. Reageert een shell een uur lang niet, dan wordt hij
68
+ automatisch op inactief gezet. De taak `print-queue-cleanup` ruimt dagelijks
69
+ oude opdrachten en bestanden op.
70
+
71
+ ## Printen vanuit een andere module
72
+
73
+ Andere modules in dezelfde shell gebruiken uitsluitend de print-API van deze
74
+ module; zij hoeven de printtabellen niet te kennen en mogen er ook niet zelf in
75
+ schrijven (dan blijft de opdracht wachten tot de volgende cronronde).
76
+
77
+ ```ts
78
+ import {
79
+ printDocument, printPdf, printHtml,
80
+ printerVoorWerkplek, printerVoorDocumenttype, volgJobStatus,
81
+ } from "@flowselections/layout-maker";
82
+
83
+ // 1. Document dat via een ontwerp uit deze module wordt opgemaakt
84
+ const { jobId } = await printDocument({
85
+ documenttype: "pakbon", // moet een bestaande documentsoort zijn
86
+ documentnaam: "PB-2601284",
87
+ payload: { order }, // gegevens voor de layout
88
+ });
89
+
90
+ // 2. Kant-en-klare PDF (Floriday-document, klantsticker, externe factuur)
91
+ // Zonder printerId wordt de printer bepaald via de gekoppelde layout van
92
+ // de documentsoort (of de koppeling op papierformaat).
93
+ await printPdf({
94
+ documenttype: "factuur",
95
+ documentnaam: "F-2026-00123",
96
+ pdfBase64, // met of zonder data:-voorvoegsel
97
+ });
98
+
99
+ // Of expliciet per werkplek:
100
+ const printerId = await printerVoorWerkplek("PICKSTATION-1", "A4");
101
+ await printPdf({
102
+ documenttype: "afleverbrief",
103
+ documentnaam: "AFL-12345",
104
+ pdfBase64,
105
+ printerId: printerId!,
106
+ });
107
+
108
+
109
+ // 3. Eigen opmaak afdrukken (geen layout, anders wint de layout)
110
+ await printHtml({
111
+ documenttype: "controlelijst",
112
+ documentnaam: "Controlelijst kar 12",
113
+ html,
114
+ printerId: printerId!,
115
+ });
116
+
117
+ // Status live volgen (realtime staat aan op print_jobs)
118
+ const stop = volgJobStatus(jobId, (s) => console.log(s.status, s.foutmelding));
119
+ ```
120
+
121
+ Belangrijk:
122
+
123
+ - **Documentsoorten** liggen vast in de database: pakbon, factuur, offerte,
124
+ orderbevestiging, etiket, verzendlabel, productlabel, barcode_label,
125
+ magazijnlijst, controlelijst, transportdocument, sticker, productiebon,
126
+ veilingbon, afleverbrief, veilingbrief en vrij.
127
+ - **Beslisvolgorde bij het afdrukken**: kant-en-klare PDF > gekoppelde layout >
128
+ meegestuurde opmaak > actieve layout van de documentsoort.
129
+ - **Dubbelbeveiliging**: een identieke aanvraag binnen 10 minuten wordt
130
+ genegeerd; de aanroep werpt dan `DubbeleAanvraagFout`. Geef bij bulkprints per
131
+ document een eigen `documentnaam` zodat elke opdracht uniek is.
@@ -145,7 +145,7 @@ export function PrinterSetupWizard({ open, onOpenChange, onKlaar, computerFilter
145
145
  const [testStatus, setTestStatus] = useState("leeg");
146
146
  const testpagina = async () => {
147
147
  setTestStatus("bezig");
148
- const html = `<div style="padding:20mm;font-size:14pt"><h1 style="font-size:20pt">Testpagina</h1>
148
+ const html = `<div style="padding:20mm;font-size:14pt"><h1 style="font-size:20pt">Testpagina</h1>
149
149
  <p>Deze pagina hoort uit: <strong>${naam}</strong></p></div>`;
150
150
  const opdracht = {
151
151
  documenttype: "pakbon",
@@ -42,8 +42,8 @@ export type { EntiteitDefinitie, VeldDefinitie, VeldSoort } from './lib/fieldReg
42
42
  export { VOORBEELD_REGELS, bouwDocumentHtml, conditieVoldoet, voorbeeldContext, vulVelden } from './lib/layoutPreview.js';
43
43
  export { bewaarElementen, bewaarPrinter, bewaarVersie, dupliceerLayout, maakLayout, maakPrintJob, toggleKoppeling, updateJobStatus, updateLayout, useLayoutDetail, useLayouts, usePrintJobs, usePrinters, useVersies, verwijderLayout, verwijderPrinter } from './lib/useDocumentData.js';
44
44
  export type { PrintJobModel, PrinterModel } from './lib/useDocumentData.js';
45
- export { beschikbareLayouts, beschikbarePrinters, printDocument } from './lib/printApi.js';
46
- export type { PrintDocumentInput, PrintDocumentResult } from './lib/printApi.js';
45
+ export { beschikbareLayouts, beschikbarePrinters, printDocument, printPdf, printHtml, printerVoorWerkplek, printerVoorDocumenttype, volgJobStatus, DubbeleAanvraagFout, } from './lib/printApi.js';
46
+ export type { PrintDocumentInput, PrintDocumentResult, PrintPdfInput, PrintHtmlInput, JobStatus, } from './lib/printApi.js';
47
47
  export { bedoeldePrinter, drukAf, formaatDef, paginaCss } from './lib/browserPrint.js';
48
48
  export type { AfdrukOpdracht, AfdrukResultaat, Orientatie, PrinterKeuze } from './lib/browserPrint.js';
49
49
  export { printDirect } from './lib/directPrint.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist-lib/index.js CHANGED
@@ -35,7 +35,7 @@ export { DOCUMENT_TYPES, ELEMENT_STANDAARD, PAPIERFORMATEN, STANDAARD_KOLOMMEN,
35
35
  export { alleEntiteiten, alleVelden, registreerEntiteit, veldRegisterSubscribe, zoekVeld } from './lib/fieldRegistry.js';
36
36
  export { VOORBEELD_REGELS, bouwDocumentHtml, conditieVoldoet, voorbeeldContext, vulVelden } from './lib/layoutPreview.js';
37
37
  export { bewaarElementen, bewaarPrinter, bewaarVersie, dupliceerLayout, maakLayout, maakPrintJob, toggleKoppeling, updateJobStatus, updateLayout, useLayoutDetail, useLayouts, usePrintJobs, usePrinters, useVersies, verwijderLayout, verwijderPrinter } from './lib/useDocumentData.js';
38
- export { beschikbareLayouts, beschikbarePrinters, printDocument } from './lib/printApi.js';
38
+ export { beschikbareLayouts, beschikbarePrinters, printDocument, printPdf, printHtml, printerVoorWerkplek, printerVoorDocumenttype, volgJobStatus, DubbeleAanvraagFout, } from './lib/printApi.js';
39
39
  export { bedoeldePrinter, drukAf, formaatDef, paginaCss } from './lib/browserPrint.js';
40
40
  export { printDirect } from './lib/directPrint.js';
41
41
  export { htmlNaarPdfBase64 } from './lib/documentPdf.js';
@@ -51,7 +51,7 @@ export { TemplateModuleLogo } from './components/TemplateModuleLogo.js';
51
51
  export const layoutmodule = {
52
52
  id: "layout-maker",
53
53
  name: "Layouts en printers",
54
- version: "1.7.2",
54
+ version: "1.8.0",
55
55
  nav: {
56
56
  label: "Layouts en printers",
57
57
  href: "/layouts-printers",
@@ -7769,6 +7769,249 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
7769
7769
  };
7770
7770
  Relationships: [];
7771
7771
  };
7772
+ itk_offerte_events: {
7773
+ Row: {
7774
+ created_at: string;
7775
+ event_type: string;
7776
+ id: string;
7777
+ metadata: import("./types.js").Json;
7778
+ offerte_id: string;
7779
+ omschrijving: string | null;
7780
+ user_id: string | null;
7781
+ };
7782
+ Insert: {
7783
+ created_at?: string;
7784
+ event_type: string;
7785
+ id?: string;
7786
+ metadata?: import("./types.js").Json;
7787
+ offerte_id: string;
7788
+ omschrijving?: string | null;
7789
+ user_id?: string | null;
7790
+ };
7791
+ Update: {
7792
+ created_at?: string;
7793
+ event_type?: string;
7794
+ id?: string;
7795
+ metadata?: import("./types.js").Json;
7796
+ offerte_id?: string;
7797
+ omschrijving?: string | null;
7798
+ user_id?: string | null;
7799
+ };
7800
+ Relationships: [{
7801
+ foreignKeyName: "itk_offerte_events_offerte_id_fkey";
7802
+ columns: ["offerte_id"];
7803
+ isOneToOne: false;
7804
+ referencedRelation: "itk_offertes";
7805
+ referencedColumns: ["id"];
7806
+ }];
7807
+ };
7808
+ itk_offerte_regels: {
7809
+ Row: {
7810
+ created_at: string;
7811
+ id: string;
7812
+ line_total_cents: number;
7813
+ offerte_id: string;
7814
+ omschrijving: string;
7815
+ package_id: string | null;
7816
+ quantity: number;
7817
+ sort_order: number;
7818
+ source: string;
7819
+ unit_price_cents: number;
7820
+ updated_at: string;
7821
+ };
7822
+ Insert: {
7823
+ created_at?: string;
7824
+ id?: string;
7825
+ line_total_cents?: number;
7826
+ offerte_id: string;
7827
+ omschrijving?: string;
7828
+ package_id?: string | null;
7829
+ quantity?: number;
7830
+ sort_order?: number;
7831
+ source?: string;
7832
+ unit_price_cents?: number;
7833
+ updated_at?: string;
7834
+ };
7835
+ Update: {
7836
+ created_at?: string;
7837
+ id?: string;
7838
+ line_total_cents?: number;
7839
+ offerte_id?: string;
7840
+ omschrijving?: string;
7841
+ package_id?: string | null;
7842
+ quantity?: number;
7843
+ sort_order?: number;
7844
+ source?: string;
7845
+ unit_price_cents?: number;
7846
+ updated_at?: string;
7847
+ };
7848
+ Relationships: [{
7849
+ foreignKeyName: "itk_offerte_regels_offerte_id_fkey";
7850
+ columns: ["offerte_id"];
7851
+ isOneToOne: false;
7852
+ referencedRelation: "itk_offertes";
7853
+ referencedColumns: ["id"];
7854
+ }, {
7855
+ foreignKeyName: "itk_offerte_regels_package_id_fkey";
7856
+ columns: ["package_id"];
7857
+ isOneToOne: false;
7858
+ referencedRelation: "werkbon_packages";
7859
+ referencedColumns: ["id"];
7860
+ }];
7861
+ };
7862
+ itk_offerte_settings: {
7863
+ Row: {
7864
+ auto_convert_binnen_mandaat: boolean;
7865
+ created_at: string;
7866
+ default_geldigheid_dagen: number;
7867
+ default_vat_rate: number;
7868
+ id: string;
7869
+ singleton: boolean;
7870
+ updated_at: string;
7871
+ };
7872
+ Insert: {
7873
+ auto_convert_binnen_mandaat?: boolean;
7874
+ created_at?: string;
7875
+ default_geldigheid_dagen?: number;
7876
+ default_vat_rate?: number;
7877
+ id?: string;
7878
+ singleton?: boolean;
7879
+ updated_at?: string;
7880
+ };
7881
+ Update: {
7882
+ auto_convert_binnen_mandaat?: boolean;
7883
+ created_at?: string;
7884
+ default_geldigheid_dagen?: number;
7885
+ default_vat_rate?: number;
7886
+ id?: string;
7887
+ singleton?: boolean;
7888
+ updated_at?: string;
7889
+ };
7890
+ Relationships: [];
7891
+ };
7892
+ itk_offertes: {
7893
+ Row: {
7894
+ ai_generated: boolean;
7895
+ approved_at: string | null;
7896
+ binnen_mandaat: boolean;
7897
+ contact_id: string | null;
7898
+ converted_at: string | null;
7899
+ created_at: string;
7900
+ created_by: string | null;
7901
+ customer_id: string | null;
7902
+ follow_up_werkbon_id: string | null;
7903
+ id: string;
7904
+ jaar: number;
7905
+ mandaat_restant_cents: number;
7906
+ notities: string | null;
7907
+ offerte_number: string | null;
7908
+ omschrijving: string;
7909
+ rejected_at: string | null;
7910
+ sent_at: string | null;
7911
+ status: string;
7912
+ subtotal_cents: number;
7913
+ total_cents: number;
7914
+ updated_at: string;
7915
+ valid_until: string | null;
7916
+ vat_cents: number;
7917
+ vat_rate: number;
7918
+ viewed_at: string | null;
7919
+ volgnummer: number | null;
7920
+ werkbon_id: string | null;
7921
+ work_location_id: string | null;
7922
+ };
7923
+ Insert: {
7924
+ ai_generated?: boolean;
7925
+ approved_at?: string | null;
7926
+ binnen_mandaat?: boolean;
7927
+ contact_id?: string | null;
7928
+ converted_at?: string | null;
7929
+ created_at?: string;
7930
+ created_by?: string | null;
7931
+ customer_id?: string | null;
7932
+ follow_up_werkbon_id?: string | null;
7933
+ id?: string;
7934
+ jaar?: number;
7935
+ mandaat_restant_cents?: number;
7936
+ notities?: string | null;
7937
+ offerte_number?: string | null;
7938
+ omschrijving?: string;
7939
+ rejected_at?: string | null;
7940
+ sent_at?: string | null;
7941
+ status?: string;
7942
+ subtotal_cents?: number;
7943
+ total_cents?: number;
7944
+ updated_at?: string;
7945
+ valid_until?: string | null;
7946
+ vat_cents?: number;
7947
+ vat_rate?: number;
7948
+ viewed_at?: string | null;
7949
+ volgnummer?: number | null;
7950
+ werkbon_id?: string | null;
7951
+ work_location_id?: string | null;
7952
+ };
7953
+ Update: {
7954
+ ai_generated?: boolean;
7955
+ approved_at?: string | null;
7956
+ binnen_mandaat?: boolean;
7957
+ contact_id?: string | null;
7958
+ converted_at?: string | null;
7959
+ created_at?: string;
7960
+ created_by?: string | null;
7961
+ customer_id?: string | null;
7962
+ follow_up_werkbon_id?: string | null;
7963
+ id?: string;
7964
+ jaar?: number;
7965
+ mandaat_restant_cents?: number;
7966
+ notities?: string | null;
7967
+ offerte_number?: string | null;
7968
+ omschrijving?: string;
7969
+ rejected_at?: string | null;
7970
+ sent_at?: string | null;
7971
+ status?: string;
7972
+ subtotal_cents?: number;
7973
+ total_cents?: number;
7974
+ updated_at?: string;
7975
+ valid_until?: string | null;
7976
+ vat_cents?: number;
7977
+ vat_rate?: number;
7978
+ viewed_at?: string | null;
7979
+ volgnummer?: number | null;
7980
+ werkbon_id?: string | null;
7981
+ work_location_id?: string | null;
7982
+ };
7983
+ Relationships: [{
7984
+ foreignKeyName: "itk_offertes_contact_id_fkey";
7985
+ columns: ["contact_id"];
7986
+ isOneToOne: false;
7987
+ referencedRelation: "itk_contact_persons";
7988
+ referencedColumns: ["id"];
7989
+ }, {
7990
+ foreignKeyName: "itk_offertes_customer_id_fkey";
7991
+ columns: ["customer_id"];
7992
+ isOneToOne: false;
7993
+ referencedRelation: "itk_customers";
7994
+ referencedColumns: ["id"];
7995
+ }, {
7996
+ foreignKeyName: "itk_offertes_follow_up_werkbon_id_fkey";
7997
+ columns: ["follow_up_werkbon_id"];
7998
+ isOneToOne: false;
7999
+ referencedRelation: "werkbonnen";
8000
+ referencedColumns: ["id"];
8001
+ }, {
8002
+ foreignKeyName: "itk_offertes_werkbon_id_fkey";
8003
+ columns: ["werkbon_id"];
8004
+ isOneToOne: false;
8005
+ referencedRelation: "werkbonnen";
8006
+ referencedColumns: ["id"];
8007
+ }, {
8008
+ foreignKeyName: "itk_offertes_work_location_id_fkey";
8009
+ columns: ["work_location_id"];
8010
+ isOneToOne: false;
8011
+ referencedRelation: "itk_work_locations";
8012
+ referencedColumns: ["id"];
8013
+ }];
8014
+ };
7772
8015
  itk_work_locations: {
7773
8016
  Row: {
7774
8017
  city: string | null;
@@ -10202,6 +10445,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
10202
10445
  module_registry: {
10203
10446
  Row: {
10204
10447
  created_at: string;
10448
+ enforce: boolean;
10205
10449
  is_active: boolean;
10206
10450
  last_seen_at: string;
10207
10451
  module_id: string;
@@ -10211,6 +10455,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
10211
10455
  };
10212
10456
  Insert: {
10213
10457
  created_at?: string;
10458
+ enforce?: boolean;
10214
10459
  is_active?: boolean;
10215
10460
  last_seen_at?: string;
10216
10461
  module_id: string;
@@ -10220,6 +10465,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
10220
10465
  };
10221
10466
  Update: {
10222
10467
  created_at?: string;
10468
+ enforce?: boolean;
10223
10469
  is_active?: boolean;
10224
10470
  last_seen_at?: string;
10225
10471
  module_id?: string;
@@ -14757,6 +15003,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
14757
15003
  type: string;
14758
15004
  updated_at: string;
14759
15005
  vereist_medewerker: boolean;
15006
+ werkplek: string | null;
14760
15007
  };
14761
15008
  Insert: {
14762
15009
  actief?: boolean;
@@ -14770,6 +15017,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
14770
15017
  type?: string;
14771
15018
  updated_at?: string;
14772
15019
  vereist_medewerker?: boolean;
15020
+ werkplek?: string | null;
14773
15021
  };
14774
15022
  Update: {
14775
15023
  actief?: boolean;
@@ -14783,6 +15031,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
14783
15031
  type?: string;
14784
15032
  updated_at?: string;
14785
15033
  vereist_medewerker?: boolean;
15034
+ werkplek?: string | null;
14786
15035
  };
14787
15036
  Relationships: [];
14788
15037
  };
@@ -15980,6 +16229,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
15980
16229
  invoice_enabled_mo: boolean;
15981
16230
  payment_gl_account: string;
15982
16231
  payment_journal_code: string;
16232
+ print_werkplek: string | null;
15983
16233
  updated_at: string;
15984
16234
  user_id: string;
15985
16235
  vat_code_eu_reverse: string | null;
@@ -16002,6 +16252,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
16002
16252
  invoice_enabled_mo?: boolean;
16003
16253
  payment_gl_account?: string;
16004
16254
  payment_journal_code?: string;
16255
+ print_werkplek?: string | null;
16005
16256
  updated_at?: string;
16006
16257
  user_id: string;
16007
16258
  vat_code_eu_reverse?: string | null;
@@ -16024,6 +16275,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
16024
16275
  invoice_enabled_mo?: boolean;
16025
16276
  payment_gl_account?: string;
16026
16277
  payment_journal_code?: string;
16278
+ print_werkplek?: string | null;
16027
16279
  updated_at?: string;
16028
16280
  user_id?: string;
16029
16281
  vat_code_eu_reverse?: string | null;
@@ -18975,6 +19227,19 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
18975
19227
  };
18976
19228
  Returns: undefined;
18977
19229
  };
19230
+ approve_mailbox_order_proposal: {
19231
+ Args: {
19232
+ p_custom_fields: import("./types.js").Json;
19233
+ p_customer_id: string;
19234
+ p_delivery_date: string;
19235
+ p_field_values?: import("./types.js").Json;
19236
+ p_lines: import("./types.js").Json;
19237
+ p_notes: string;
19238
+ p_proposal_id: string;
19239
+ p_reviewed_by: string;
19240
+ };
19241
+ Returns: import("./types.js").Json;
19242
+ };
18978
19243
  assign_cart_numbers: {
18979
19244
  Args: {
18980
19245
  p_carts: import("./types.js").Json;
@@ -19406,7 +19671,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
19406
19671
  Returns: string;
19407
19672
  } | {
19408
19673
  Args: {
19409
- _feature_id?: string;
19674
+ _feature_id: string;
19410
19675
  _module_id: string;
19411
19676
  _user_id: string;
19412
19677
  };
@@ -19810,6 +20075,19 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
19810
20075
  Args: never;
19811
20076
  Returns: boolean;
19812
20077
  };
20078
+ itk_offerte_naar_werkbon: {
20079
+ Args: {
20080
+ _offerte_id: string;
20081
+ };
20082
+ Returns: string;
20083
+ };
20084
+ itk_offerte_restant_mandaat: {
20085
+ Args: {
20086
+ _exclude_offerte_id?: string;
20087
+ _werkbon_id: string;
20088
+ };
20089
+ Returns: number;
20090
+ };
19813
20091
  jwt_has_role: {
19814
20092
  Args: {
19815
20093
  _role: Database["public"]["Enums"]["app_role"];
@@ -20149,17 +20427,6 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
20149
20427
  Returns: string;
20150
20428
  };
20151
20429
  logistics_emit_event: {
20152
- Args: {
20153
- p_event_type: string;
20154
- p_idempotency_key?: string;
20155
- p_order_ref: string;
20156
- p_payload?: import("./types.js").Json;
20157
- p_shadow?: boolean;
20158
- p_source_module: string;
20159
- p_strategy_id?: string;
20160
- };
20161
- Returns: import("./types.js").Json;
20162
- } | {
20163
20430
  Args: {
20164
20431
  p_event_type: string;
20165
20432
  p_idempotency_key?: string;
@@ -21616,7 +21883,7 @@ export declare const requireSupabaseAuth: import("@tanstack/start-client-core").
21616
21883
  Enums: {
21617
21884
  ai_import_status: "nieuw" | "verwerken" | "bevestigen" | "klaar" | "mislukt";
21618
21885
  app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie";
21619
- doc_layout_type: "pakbon" | "factuur" | "offerte" | "orderbevestiging" | "etiket" | "verzendlabel" | "productlabel" | "barcode_label" | "magazijnlijst" | "controlelijst" | "transportdocument" | "vrij" | "sticker" | "productiebon";
21886
+ doc_layout_type: "pakbon" | "factuur" | "offerte" | "orderbevestiging" | "etiket" | "verzendlabel" | "productlabel" | "barcode_label" | "magazijnlijst" | "controlelijst" | "transportdocument" | "vrij" | "sticker" | "productiebon" | "veilingbon" | "afleverbrief" | "veilingbrief";
21620
21887
  doc_orientation: "portrait" | "landscape";
21621
21888
  exact_env: "staging" | "live";
21622
21889
  exact_push_status: "pending" | "sent" | "error";