@flowselections/floriday-klanten-module 1.0.14 → 1.0.16

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 (101) hide show
  1. package/dist-lib/assets/floriday-logo.png.asset.json +11 -0
  2. package/dist-lib/components/CustomerAvatar.js +1 -1
  3. package/dist-lib/components/klanten/BackLink.d.ts +12 -0
  4. package/dist-lib/components/klanten/BackLink.d.ts.map +1 -0
  5. package/dist-lib/components/klanten/BackLink.js +12 -0
  6. package/dist-lib/components/klanten/FloridayAssortmentTab.d.ts +4 -0
  7. package/dist-lib/components/klanten/FloridayAssortmentTab.d.ts.map +1 -0
  8. package/dist-lib/components/klanten/FloridayAssortmentTab.js +80 -0
  9. package/dist-lib/components/klanten/FloridayDeeplinkButton.d.ts +8 -0
  10. package/dist-lib/components/klanten/FloridayDeeplinkButton.d.ts.map +1 -0
  11. package/dist-lib/components/klanten/FloridayDeeplinkButton.js +9 -0
  12. package/dist-lib/components/klanten/GroupedKlantDetail.d.ts.map +1 -1
  13. package/dist-lib/components/klanten/GroupedKlantDetail.js +19 -5
  14. package/dist-lib/components/klanten/ImportKlanten.d.ts.map +1 -1
  15. package/dist-lib/components/klanten/ImportKlanten.js +46 -13
  16. package/dist-lib/components/klanten/KlantDetail.d.ts.map +1 -1
  17. package/dist-lib/components/klanten/KlantDetail.js +9 -3
  18. package/dist-lib/components/klanten/KlantenOverzicht.d.ts.map +1 -1
  19. package/dist-lib/components/klanten/KlantenOverzicht.js +6 -3
  20. package/dist-lib/components/klanten/NetwerkPagina.d.ts.map +1 -1
  21. package/dist-lib/components/klanten/NetwerkPagina.js +42 -10
  22. package/dist-lib/components/klanten/NieuweKlant.d.ts.map +1 -1
  23. package/dist-lib/components/klanten/NieuweKlant.js +23 -8
  24. package/dist-lib/components/klanten/PriceGroupBadges.d.ts +7 -0
  25. package/dist-lib/components/klanten/PriceGroupBadges.d.ts.map +1 -0
  26. package/dist-lib/components/klanten/PriceGroupBadges.js +13 -0
  27. package/dist-lib/components/klanten/SyncStatusChip.d.ts +4 -0
  28. package/dist-lib/components/klanten/SyncStatusChip.d.ts.map +1 -0
  29. package/dist-lib/components/klanten/SyncStatusChip.js +49 -0
  30. package/dist-lib/components/klanten/pricegroups/CustomerPickerDialog.d.ts +8 -0
  31. package/dist-lib/components/klanten/pricegroups/CustomerPickerDialog.d.ts.map +1 -0
  32. package/dist-lib/components/klanten/pricegroups/CustomerPickerDialog.js +75 -0
  33. package/dist-lib/components/klanten/pricegroups/PriceGroupFormPage.d.ts +4 -0
  34. package/dist-lib/components/klanten/pricegroups/PriceGroupFormPage.d.ts.map +1 -0
  35. package/dist-lib/components/klanten/pricegroups/PriceGroupFormPage.js +269 -0
  36. package/dist-lib/components/klanten/pricegroups/PriceGroupsPage.d.ts +2 -0
  37. package/dist-lib/components/klanten/pricegroups/PriceGroupsPage.d.ts.map +1 -0
  38. package/dist-lib/components/klanten/pricegroups/PriceGroupsPage.js +133 -0
  39. package/dist-lib/components/klanten/pricegroups/ProductPickerDialog.d.ts +8 -0
  40. package/dist-lib/components/klanten/pricegroups/ProductPickerDialog.d.ts.map +1 -0
  41. package/dist-lib/components/klanten/pricegroups/ProductPickerDialog.js +18 -0
  42. package/dist-lib/index.d.ts +1 -0
  43. package/dist-lib/index.d.ts.map +1 -1
  44. package/dist-lib/index.js +6 -1
  45. package/dist-lib/integrations/supabase/auth-middleware.d.ts +762 -3
  46. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  47. package/dist-lib/integrations/supabase/client.d.ts +762 -3
  48. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  49. package/dist-lib/integrations/supabase/client.js +4 -3
  50. package/dist-lib/integrations/supabase/client.server.d.ts +762 -3
  51. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  52. package/dist-lib/integrations/supabase/types.d.ts +789 -8
  53. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  54. package/dist-lib/lib/accounting/twinfield/client.server.d.ts +21 -0
  55. package/dist-lib/lib/accounting/twinfield/client.server.d.ts.map +1 -0
  56. package/dist-lib/lib/accounting/twinfield/client.server.js +171 -0
  57. package/dist-lib/lib/accounting/twinfield/mapping.d.ts +46 -0
  58. package/dist-lib/lib/accounting/twinfield/mapping.d.ts.map +1 -0
  59. package/dist-lib/lib/accounting/twinfield/mapping.js +109 -0
  60. package/dist-lib/lib/accounting/twinfield/worker.functions.d.ts +36318 -0
  61. package/dist-lib/lib/accounting/twinfield/worker.functions.d.ts.map +1 -0
  62. package/dist-lib/lib/accounting/twinfield/worker.functions.js +48 -0
  63. package/dist-lib/lib/accounting/twinfield/worker.server.d.ts +12 -0
  64. package/dist-lib/lib/accounting/twinfield/worker.server.d.ts.map +1 -0
  65. package/dist-lib/lib/accounting/twinfield/worker.server.js +124 -0
  66. package/dist-lib/lib/accounting.functions.d.ts +2286 -9
  67. package/dist-lib/lib/accounting.functions.d.ts.map +1 -1
  68. package/dist-lib/lib/customer-analytics.functions.d.ts +762 -3
  69. package/dist-lib/lib/customer-analytics.functions.d.ts.map +1 -1
  70. package/dist-lib/lib/customer-schemas.d.ts +48 -46
  71. package/dist-lib/lib/customer-schemas.d.ts.map +1 -1
  72. package/dist-lib/lib/customer-schemas.js +46 -3
  73. package/dist-lib/lib/customers.functions.d.ts +18288 -129
  74. package/dist-lib/lib/customers.functions.d.ts.map +1 -1
  75. package/dist-lib/lib/customers.functions.js +146 -10
  76. package/dist-lib/lib/delivery-locations.functions.d.ts +3048 -12
  77. package/dist-lib/lib/delivery-locations.functions.d.ts.map +1 -1
  78. package/dist-lib/lib/external-customers.functions.d.ts +3048 -12
  79. package/dist-lib/lib/external-customers.functions.d.ts.map +1 -1
  80. package/dist-lib/lib/floriday-assortment.functions.d.ts +12127 -0
  81. package/dist-lib/lib/floriday-assortment.functions.d.ts.map +1 -0
  82. package/dist-lib/lib/floriday-assortment.functions.js +213 -0
  83. package/dist-lib/lib/floriday-discounts.functions.d.ts +1800 -282
  84. package/dist-lib/lib/floriday-discounts.functions.d.ts.map +1 -1
  85. package/dist-lib/lib/floriday-trade-items.functions.d.ts +12111 -0
  86. package/dist-lib/lib/floriday-trade-items.functions.d.ts.map +1 -0
  87. package/dist-lib/lib/floriday-trade-items.functions.js +107 -0
  88. package/dist-lib/lib/local-discounts.functions.d.ts +5336 -23
  89. package/dist-lib/lib/local-discounts.functions.d.ts.map +1 -1
  90. package/dist-lib/lib/overdue-invoices.functions.d.ts +762 -3
  91. package/dist-lib/lib/overdue-invoices.functions.d.ts.map +1 -1
  92. package/dist-lib/lib/price-groups-local.functions.d.ts +84841 -0
  93. package/dist-lib/lib/price-groups-local.functions.d.ts.map +1 -0
  94. package/dist-lib/lib/price-groups-local.functions.js +148 -0
  95. package/dist-lib/lib/price-groups.functions.d.ts +12120 -0
  96. package/dist-lib/lib/price-groups.functions.d.ts.map +1 -0
  97. package/dist-lib/lib/price-groups.functions.js +115 -0
  98. package/dist-lib/lib/pricing.d.ts +24 -0
  99. package/dist-lib/lib/pricing.d.ts.map +1 -0
  100. package/dist-lib/lib/pricing.js +60 -0
  101. package/package.json +6 -3
@@ -247,6 +247,246 @@ export type Database = {
247
247
  };
248
248
  Relationships: [];
249
249
  };
250
+ ai_admin_credentials: {
251
+ Row: {
252
+ active: boolean;
253
+ admin_key: string;
254
+ created_at: string;
255
+ id: string;
256
+ label: string;
257
+ provider_id: string;
258
+ updated_at: string;
259
+ };
260
+ Insert: {
261
+ active?: boolean;
262
+ admin_key: string;
263
+ created_at?: string;
264
+ id?: string;
265
+ label: string;
266
+ provider_id: string;
267
+ updated_at?: string;
268
+ };
269
+ Update: {
270
+ active?: boolean;
271
+ admin_key?: string;
272
+ created_at?: string;
273
+ id?: string;
274
+ label?: string;
275
+ provider_id?: string;
276
+ updated_at?: string;
277
+ };
278
+ Relationships: [
279
+ {
280
+ foreignKeyName: "ai_admin_credentials_provider_id_fkey";
281
+ columns: ["provider_id"];
282
+ isOneToOne: true;
283
+ referencedRelation: "ai_providers";
284
+ referencedColumns: ["id"];
285
+ }
286
+ ];
287
+ };
288
+ ai_credentials: {
289
+ Row: {
290
+ active: boolean;
291
+ api_key: string;
292
+ created_at: string;
293
+ id: string;
294
+ label: string;
295
+ provider_id: string;
296
+ updated_at: string;
297
+ };
298
+ Insert: {
299
+ active?: boolean;
300
+ api_key: string;
301
+ created_at?: string;
302
+ id?: string;
303
+ label: string;
304
+ provider_id: string;
305
+ updated_at?: string;
306
+ };
307
+ Update: {
308
+ active?: boolean;
309
+ api_key?: string;
310
+ created_at?: string;
311
+ id?: string;
312
+ label?: string;
313
+ provider_id?: string;
314
+ updated_at?: string;
315
+ };
316
+ Relationships: [
317
+ {
318
+ foreignKeyName: "ai_credentials_provider_id_fkey";
319
+ columns: ["provider_id"];
320
+ isOneToOne: false;
321
+ referencedRelation: "ai_providers";
322
+ referencedColumns: ["id"];
323
+ }
324
+ ];
325
+ };
326
+ ai_model_pricing: {
327
+ Row: {
328
+ created_at: string;
329
+ currency: string;
330
+ fetched_at: string;
331
+ id: string;
332
+ input_per_mtok: number | null;
333
+ model_slug: string;
334
+ output_per_mtok: number | null;
335
+ provider_slug: string;
336
+ source: string;
337
+ updated_at: string;
338
+ };
339
+ Insert: {
340
+ created_at?: string;
341
+ currency?: string;
342
+ fetched_at?: string;
343
+ id?: string;
344
+ input_per_mtok?: number | null;
345
+ model_slug: string;
346
+ output_per_mtok?: number | null;
347
+ provider_slug: string;
348
+ source?: string;
349
+ updated_at?: string;
350
+ };
351
+ Update: {
352
+ created_at?: string;
353
+ currency?: string;
354
+ fetched_at?: string;
355
+ id?: string;
356
+ input_per_mtok?: number | null;
357
+ model_slug?: string;
358
+ output_per_mtok?: number | null;
359
+ provider_slug?: string;
360
+ source?: string;
361
+ updated_at?: string;
362
+ };
363
+ Relationships: [];
364
+ };
365
+ ai_models: {
366
+ Row: {
367
+ active: boolean;
368
+ context_window: number | null;
369
+ created_at: string;
370
+ display_name: string;
371
+ id: string;
372
+ is_default: boolean;
373
+ modality: string;
374
+ provider_id: string;
375
+ slug: string;
376
+ updated_at: string;
377
+ };
378
+ Insert: {
379
+ active?: boolean;
380
+ context_window?: number | null;
381
+ created_at?: string;
382
+ display_name: string;
383
+ id?: string;
384
+ is_default?: boolean;
385
+ modality?: string;
386
+ provider_id: string;
387
+ slug: string;
388
+ updated_at?: string;
389
+ };
390
+ Update: {
391
+ active?: boolean;
392
+ context_window?: number | null;
393
+ created_at?: string;
394
+ display_name?: string;
395
+ id?: string;
396
+ is_default?: boolean;
397
+ modality?: string;
398
+ provider_id?: string;
399
+ slug?: string;
400
+ updated_at?: string;
401
+ };
402
+ Relationships: [
403
+ {
404
+ foreignKeyName: "ai_models_provider_id_fkey";
405
+ columns: ["provider_id"];
406
+ isOneToOne: false;
407
+ referencedRelation: "ai_providers";
408
+ referencedColumns: ["id"];
409
+ }
410
+ ];
411
+ };
412
+ ai_module_bindings: {
413
+ Row: {
414
+ consumer_module_id: string;
415
+ created_at: string;
416
+ credential_id: string;
417
+ id: string;
418
+ model_id: string;
419
+ notes: string | null;
420
+ updated_at: string;
421
+ };
422
+ Insert: {
423
+ consumer_module_id: string;
424
+ created_at?: string;
425
+ credential_id: string;
426
+ id?: string;
427
+ model_id: string;
428
+ notes?: string | null;
429
+ updated_at?: string;
430
+ };
431
+ Update: {
432
+ consumer_module_id?: string;
433
+ created_at?: string;
434
+ credential_id?: string;
435
+ id?: string;
436
+ model_id?: string;
437
+ notes?: string | null;
438
+ updated_at?: string;
439
+ };
440
+ Relationships: [
441
+ {
442
+ foreignKeyName: "ai_module_bindings_credential_id_fkey";
443
+ columns: ["credential_id"];
444
+ isOneToOne: false;
445
+ referencedRelation: "ai_credentials";
446
+ referencedColumns: ["id"];
447
+ },
448
+ {
449
+ foreignKeyName: "ai_module_bindings_model_id_fkey";
450
+ columns: ["model_id"];
451
+ isOneToOne: false;
452
+ referencedRelation: "ai_models";
453
+ referencedColumns: ["id"];
454
+ }
455
+ ];
456
+ };
457
+ ai_providers: {
458
+ Row: {
459
+ active: boolean;
460
+ auth_type: string;
461
+ base_url: string | null;
462
+ created_at: string;
463
+ id: string;
464
+ name: string;
465
+ slug: string;
466
+ updated_at: string;
467
+ };
468
+ Insert: {
469
+ active?: boolean;
470
+ auth_type?: string;
471
+ base_url?: string | null;
472
+ created_at?: string;
473
+ id?: string;
474
+ name: string;
475
+ slug: string;
476
+ updated_at?: string;
477
+ };
478
+ Update: {
479
+ active?: boolean;
480
+ auth_type?: string;
481
+ base_url?: string | null;
482
+ created_at?: string;
483
+ id?: string;
484
+ name?: string;
485
+ slug?: string;
486
+ updated_at?: string;
487
+ };
488
+ Relationships: [];
489
+ };
250
490
  app_settings: {
251
491
  Row: {
252
492
  created_at: string;
@@ -917,6 +1157,69 @@ export type Database = {
917
1157
  }
918
1158
  ];
919
1159
  };
1160
+ catalog_articles_cache: {
1161
+ Row: {
1162
+ created_at: string;
1163
+ default_price: number;
1164
+ default_vat_rate_ref: string | null;
1165
+ external_ref: string;
1166
+ id: string;
1167
+ name: string;
1168
+ updated_at: string;
1169
+ user_id: string;
1170
+ };
1171
+ Insert: {
1172
+ created_at?: string;
1173
+ default_price?: number;
1174
+ default_vat_rate_ref?: string | null;
1175
+ external_ref: string;
1176
+ id?: string;
1177
+ name: string;
1178
+ updated_at?: string;
1179
+ user_id: string;
1180
+ };
1181
+ Update: {
1182
+ created_at?: string;
1183
+ default_price?: number;
1184
+ default_vat_rate_ref?: string | null;
1185
+ external_ref?: string;
1186
+ id?: string;
1187
+ name?: string;
1188
+ updated_at?: string;
1189
+ user_id?: string;
1190
+ };
1191
+ Relationships: [];
1192
+ };
1193
+ catalog_vat_rates_cache: {
1194
+ Row: {
1195
+ created_at: string;
1196
+ external_ref: string;
1197
+ id: string;
1198
+ label: string;
1199
+ percentage: number;
1200
+ updated_at: string;
1201
+ user_id: string;
1202
+ };
1203
+ Insert: {
1204
+ created_at?: string;
1205
+ external_ref: string;
1206
+ id?: string;
1207
+ label: string;
1208
+ percentage?: number;
1209
+ updated_at?: string;
1210
+ user_id: string;
1211
+ };
1212
+ Update: {
1213
+ created_at?: string;
1214
+ external_ref?: string;
1215
+ id?: string;
1216
+ label?: string;
1217
+ percentage?: number;
1218
+ updated_at?: string;
1219
+ user_id?: string;
1220
+ };
1221
+ Relationships: [];
1222
+ };
920
1223
  collections: {
921
1224
  Row: {
922
1225
  created_at: string;
@@ -1159,18 +1462,119 @@ export type Database = {
1159
1462
  field_label: string;
1160
1463
  field_type?: string;
1161
1464
  id?: string;
1162
- is_custom?: boolean;
1465
+ is_custom?: boolean;
1466
+ sort_order?: number;
1467
+ updated_at?: string;
1468
+ };
1469
+ Update: {
1470
+ created_at?: string;
1471
+ field_key?: string;
1472
+ field_label?: string;
1473
+ field_type?: string;
1474
+ id?: string;
1475
+ is_custom?: boolean;
1476
+ sort_order?: number;
1477
+ updated_at?: string;
1478
+ };
1479
+ Relationships: [];
1480
+ };
1481
+ customer_price_group_members: {
1482
+ Row: {
1483
+ created_at: string;
1484
+ customer_key: string;
1485
+ id: string;
1486
+ owner_id: string;
1487
+ price_group_id: string;
1488
+ };
1489
+ Insert: {
1490
+ created_at?: string;
1491
+ customer_key: string;
1492
+ id?: string;
1493
+ owner_id?: string;
1494
+ price_group_id: string;
1495
+ };
1496
+ Update: {
1497
+ created_at?: string;
1498
+ customer_key?: string;
1499
+ id?: string;
1500
+ owner_id?: string;
1501
+ price_group_id?: string;
1502
+ };
1503
+ Relationships: [
1504
+ {
1505
+ foreignKeyName: "customer_price_group_members_price_group_id_fkey";
1506
+ columns: ["price_group_id"];
1507
+ isOneToOne: false;
1508
+ referencedRelation: "customer_price_groups";
1509
+ referencedColumns: ["id"];
1510
+ }
1511
+ ];
1512
+ };
1513
+ customer_price_groups: {
1514
+ Row: {
1515
+ calc_type: string | null;
1516
+ calc_value: number | null;
1517
+ calc_value_type: string | null;
1518
+ created_at: string;
1519
+ currency: string;
1520
+ distribute_over: string | null;
1521
+ group_type: string;
1522
+ handling_fee: number | null;
1523
+ id: string;
1524
+ include_stickers: boolean;
1525
+ is_active: boolean;
1526
+ name: string;
1527
+ owner_id: string;
1528
+ price_scope: string;
1529
+ pricing_mode: string;
1530
+ rounding: string;
1531
+ rounding_step: number;
1532
+ sort_order: number;
1533
+ unit: string;
1534
+ updated_at: string;
1535
+ };
1536
+ Insert: {
1537
+ calc_type?: string | null;
1538
+ calc_value?: number | null;
1539
+ calc_value_type?: string | null;
1540
+ created_at?: string;
1541
+ currency?: string;
1542
+ distribute_over?: string | null;
1543
+ group_type?: string;
1544
+ handling_fee?: number | null;
1545
+ id?: string;
1546
+ include_stickers?: boolean;
1547
+ is_active?: boolean;
1548
+ name: string;
1549
+ owner_id?: string;
1550
+ price_scope?: string;
1551
+ pricing_mode?: string;
1552
+ rounding?: string;
1553
+ rounding_step?: number;
1163
1554
  sort_order?: number;
1555
+ unit?: string;
1164
1556
  updated_at?: string;
1165
1557
  };
1166
1558
  Update: {
1559
+ calc_type?: string | null;
1560
+ calc_value?: number | null;
1561
+ calc_value_type?: string | null;
1167
1562
  created_at?: string;
1168
- field_key?: string;
1169
- field_label?: string;
1170
- field_type?: string;
1563
+ currency?: string;
1564
+ distribute_over?: string | null;
1565
+ group_type?: string;
1566
+ handling_fee?: number | null;
1171
1567
  id?: string;
1172
- is_custom?: boolean;
1568
+ include_stickers?: boolean;
1569
+ is_active?: boolean;
1570
+ name?: string;
1571
+ owner_id?: string;
1572
+ price_scope?: string;
1573
+ pricing_mode?: string;
1574
+ rounding?: string;
1575
+ rounding_step?: number;
1173
1576
  sort_order?: number;
1577
+ unit?: string;
1174
1578
  updated_at?: string;
1175
1579
  };
1176
1580
  Relationships: [];
@@ -1332,6 +1736,10 @@ export type Database = {
1332
1736
  sync_error: string | null;
1333
1737
  sync_status: string;
1334
1738
  trade_forms: string[];
1739
+ twinfield_code: string | null;
1740
+ twinfield_last_hash: string | null;
1741
+ twinfield_sync_error: string | null;
1742
+ twinfield_synced_at: string | null;
1335
1743
  updated_at: string;
1336
1744
  vat_display: string | null;
1337
1745
  vat_number: string | null;
@@ -1399,6 +1807,10 @@ export type Database = {
1399
1807
  sync_error?: string | null;
1400
1808
  sync_status?: string;
1401
1809
  trade_forms?: string[];
1810
+ twinfield_code?: string | null;
1811
+ twinfield_last_hash?: string | null;
1812
+ twinfield_sync_error?: string | null;
1813
+ twinfield_synced_at?: string | null;
1402
1814
  updated_at?: string;
1403
1815
  vat_display?: string | null;
1404
1816
  vat_number?: string | null;
@@ -1466,6 +1878,10 @@ export type Database = {
1466
1878
  sync_error?: string | null;
1467
1879
  sync_status?: string;
1468
1880
  trade_forms?: string[];
1881
+ twinfield_code?: string | null;
1882
+ twinfield_last_hash?: string | null;
1883
+ twinfield_sync_error?: string | null;
1884
+ twinfield_synced_at?: string | null;
1469
1885
  updated_at?: string;
1470
1886
  vat_display?: string | null;
1471
1887
  vat_number?: string | null;
@@ -8678,6 +9094,27 @@ export type Database = {
8678
9094
  };
8679
9095
  Relationships: [];
8680
9096
  };
9097
+ technician_rates: {
9098
+ Row: {
9099
+ created_at: string;
9100
+ hourly_rate_cents: number;
9101
+ updated_at: string;
9102
+ user_id: string;
9103
+ };
9104
+ Insert: {
9105
+ created_at?: string;
9106
+ hourly_rate_cents?: number;
9107
+ updated_at?: string;
9108
+ user_id: string;
9109
+ };
9110
+ Update: {
9111
+ created_at?: string;
9112
+ hourly_rate_cents?: number;
9113
+ updated_at?: string;
9114
+ user_id?: string;
9115
+ };
9116
+ Relationships: [];
9117
+ };
8681
9118
  tenants: {
8682
9119
  Row: {
8683
9120
  created_at: string;
@@ -9155,6 +9592,7 @@ export type Database = {
9155
9592
  country: string | null;
9156
9593
  created_at: string;
9157
9594
  email: string | null;
9595
+ external_group_key: string | null;
9158
9596
  id: string;
9159
9597
  last_synced_at: string | null;
9160
9598
  name: string;
@@ -9173,6 +9611,7 @@ export type Database = {
9173
9611
  country?: string | null;
9174
9612
  created_at?: string;
9175
9613
  email?: string | null;
9614
+ external_group_key?: string | null;
9176
9615
  id?: string;
9177
9616
  last_synced_at?: string | null;
9178
9617
  name: string;
@@ -9191,6 +9630,7 @@ export type Database = {
9191
9630
  country?: string | null;
9192
9631
  created_at?: string;
9193
9632
  email?: string | null;
9633
+ external_group_key?: string | null;
9194
9634
  id?: string;
9195
9635
  last_synced_at?: string | null;
9196
9636
  name?: string;
@@ -9361,6 +9801,8 @@ export type Database = {
9361
9801
  twinfield_invoice_settings: {
9362
9802
  Row: {
9363
9803
  created_at: string;
9804
+ debtor_gl_account: string;
9805
+ default_credit_invoice_type: string | null;
9364
9806
  default_gl_account: string;
9365
9807
  default_invoice_type: string;
9366
9808
  default_payment_term_days: number;
@@ -9369,11 +9811,15 @@ export type Database = {
9369
9811
  invoice_enabled_fo: boolean;
9370
9812
  invoice_enabled_ho: boolean;
9371
9813
  invoice_enabled_mo: boolean;
9814
+ payment_gl_account: string;
9815
+ payment_journal_code: string;
9372
9816
  updated_at: string;
9373
9817
  user_id: string;
9374
9818
  };
9375
9819
  Insert: {
9376
9820
  created_at?: string;
9821
+ debtor_gl_account?: string;
9822
+ default_credit_invoice_type?: string | null;
9377
9823
  default_gl_account?: string;
9378
9824
  default_invoice_type?: string;
9379
9825
  default_payment_term_days?: number;
@@ -9382,11 +9828,15 @@ export type Database = {
9382
9828
  invoice_enabled_fo?: boolean;
9383
9829
  invoice_enabled_ho?: boolean;
9384
9830
  invoice_enabled_mo?: boolean;
9831
+ payment_gl_account?: string;
9832
+ payment_journal_code?: string;
9385
9833
  updated_at?: string;
9386
9834
  user_id: string;
9387
9835
  };
9388
9836
  Update: {
9389
9837
  created_at?: string;
9838
+ debtor_gl_account?: string;
9839
+ default_credit_invoice_type?: string | null;
9390
9840
  default_gl_account?: string;
9391
9841
  default_invoice_type?: string;
9392
9842
  default_payment_term_days?: number;
@@ -9395,6 +9845,8 @@ export type Database = {
9395
9845
  invoice_enabled_fo?: boolean;
9396
9846
  invoice_enabled_ho?: boolean;
9397
9847
  invoice_enabled_mo?: boolean;
9848
+ payment_gl_account?: string;
9849
+ payment_journal_code?: string;
9398
9850
  updated_at?: string;
9399
9851
  user_id?: string;
9400
9852
  };
@@ -9617,43 +10069,49 @@ export type Database = {
9617
10069
  };
9618
10070
  twinfield_push_queue: {
9619
10071
  Row: {
10072
+ action: string;
9620
10073
  attempts: number;
9621
10074
  connection_id: string;
9622
10075
  created_at: string;
10076
+ customer_id: string | null;
9623
10077
  external_id: string | null;
9624
10078
  id: string;
9625
10079
  idempotency_key: string;
9626
10080
  last_error: string | null;
9627
10081
  next_attempt_at: string;
9628
- office_code: string;
10082
+ office_code: string | null;
9629
10083
  payload: Json;
9630
10084
  status: string;
9631
10085
  updated_at: string;
9632
10086
  };
9633
10087
  Insert: {
10088
+ action?: string;
9634
10089
  attempts?: number;
9635
10090
  connection_id: string;
9636
10091
  created_at?: string;
10092
+ customer_id?: string | null;
9637
10093
  external_id?: string | null;
9638
10094
  id?: string;
9639
10095
  idempotency_key: string;
9640
10096
  last_error?: string | null;
9641
10097
  next_attempt_at?: string;
9642
- office_code: string;
10098
+ office_code?: string | null;
9643
10099
  payload: Json;
9644
10100
  status?: string;
9645
10101
  updated_at?: string;
9646
10102
  };
9647
10103
  Update: {
10104
+ action?: string;
9648
10105
  attempts?: number;
9649
10106
  connection_id?: string;
9650
10107
  created_at?: string;
10108
+ customer_id?: string | null;
9651
10109
  external_id?: string | null;
9652
10110
  id?: string;
9653
10111
  idempotency_key?: string;
9654
10112
  last_error?: string | null;
9655
10113
  next_attempt_at?: string;
9656
- office_code?: string;
10114
+ office_code?: string | null;
9657
10115
  payload?: Json;
9658
10116
  status?: string;
9659
10117
  updated_at?: string;
@@ -9665,6 +10123,13 @@ export type Database = {
9665
10123
  isOneToOne: false;
9666
10124
  referencedRelation: "twinfield_connections";
9667
10125
  referencedColumns: ["id"];
10126
+ },
10127
+ {
10128
+ foreignKeyName: "twinfield_push_queue_customer_id_fkey";
10129
+ columns: ["customer_id"];
10130
+ isOneToOne: false;
10131
+ referencedRelation: "customers";
10132
+ referencedColumns: ["id"];
9668
10133
  }
9669
10134
  ];
9670
10135
  };
@@ -9947,6 +10412,256 @@ export type Database = {
9947
10412
  };
9948
10413
  Relationships: [];
9949
10414
  };
10415
+ werkbon_package_lines: {
10416
+ Row: {
10417
+ created_at: string;
10418
+ created_by: string | null;
10419
+ id: string;
10420
+ package_id: string;
10421
+ quantity: number;
10422
+ unit_price_cents_snapshot: number;
10423
+ werkbon_id: string;
10424
+ };
10425
+ Insert: {
10426
+ created_at?: string;
10427
+ created_by?: string | null;
10428
+ id?: string;
10429
+ package_id: string;
10430
+ quantity?: number;
10431
+ unit_price_cents_snapshot?: number;
10432
+ werkbon_id: string;
10433
+ };
10434
+ Update: {
10435
+ created_at?: string;
10436
+ created_by?: string | null;
10437
+ id?: string;
10438
+ package_id?: string;
10439
+ quantity?: number;
10440
+ unit_price_cents_snapshot?: number;
10441
+ werkbon_id?: string;
10442
+ };
10443
+ Relationships: [
10444
+ {
10445
+ foreignKeyName: "werkbon_package_lines_package_id_fkey";
10446
+ columns: ["package_id"];
10447
+ isOneToOne: false;
10448
+ referencedRelation: "werkbon_packages";
10449
+ referencedColumns: ["id"];
10450
+ },
10451
+ {
10452
+ foreignKeyName: "werkbon_package_lines_werkbon_id_fkey";
10453
+ columns: ["werkbon_id"];
10454
+ isOneToOne: false;
10455
+ referencedRelation: "werkbonnen";
10456
+ referencedColumns: ["id"];
10457
+ }
10458
+ ];
10459
+ };
10460
+ werkbon_packages: {
10461
+ Row: {
10462
+ active: boolean;
10463
+ code: string;
10464
+ created_at: string;
10465
+ default_quantity: number;
10466
+ description: string | null;
10467
+ id: string;
10468
+ name: string;
10469
+ unit_price_cents: number;
10470
+ updated_at: string;
10471
+ };
10472
+ Insert: {
10473
+ active?: boolean;
10474
+ code: string;
10475
+ created_at?: string;
10476
+ default_quantity?: number;
10477
+ description?: string | null;
10478
+ id?: string;
10479
+ name: string;
10480
+ unit_price_cents?: number;
10481
+ updated_at?: string;
10482
+ };
10483
+ Update: {
10484
+ active?: boolean;
10485
+ code?: string;
10486
+ created_at?: string;
10487
+ default_quantity?: number;
10488
+ description?: string | null;
10489
+ id?: string;
10490
+ name?: string;
10491
+ unit_price_cents?: number;
10492
+ updated_at?: string;
10493
+ };
10494
+ Relationships: [];
10495
+ };
10496
+ werkbon_photos: {
10497
+ Row: {
10498
+ created_at: string;
10499
+ id: string;
10500
+ storage_path: string;
10501
+ user_id: string;
10502
+ werkbon_id: string;
10503
+ };
10504
+ Insert: {
10505
+ created_at?: string;
10506
+ id?: string;
10507
+ storage_path: string;
10508
+ user_id: string;
10509
+ werkbon_id: string;
10510
+ };
10511
+ Update: {
10512
+ created_at?: string;
10513
+ id?: string;
10514
+ storage_path?: string;
10515
+ user_id?: string;
10516
+ werkbon_id?: string;
10517
+ };
10518
+ Relationships: [
10519
+ {
10520
+ foreignKeyName: "werkbon_photos_werkbon_id_fkey";
10521
+ columns: ["werkbon_id"];
10522
+ isOneToOne: false;
10523
+ referencedRelation: "werkbonnen";
10524
+ referencedColumns: ["id"];
10525
+ }
10526
+ ];
10527
+ };
10528
+ werkbon_time_logs: {
10529
+ Row: {
10530
+ activity: string;
10531
+ created_at: string;
10532
+ ended_at: string | null;
10533
+ id: string;
10534
+ started_at: string;
10535
+ user_id: string;
10536
+ werkbon_id: string;
10537
+ };
10538
+ Insert: {
10539
+ activity: string;
10540
+ created_at?: string;
10541
+ ended_at?: string | null;
10542
+ id?: string;
10543
+ started_at?: string;
10544
+ user_id: string;
10545
+ werkbon_id: string;
10546
+ };
10547
+ Update: {
10548
+ activity?: string;
10549
+ created_at?: string;
10550
+ ended_at?: string | null;
10551
+ id?: string;
10552
+ started_at?: string;
10553
+ user_id?: string;
10554
+ werkbon_id?: string;
10555
+ };
10556
+ Relationships: [
10557
+ {
10558
+ foreignKeyName: "werkbon_time_logs_werkbon_id_fkey";
10559
+ columns: ["werkbon_id"];
10560
+ isOneToOne: false;
10561
+ referencedRelation: "werkbonnen";
10562
+ referencedColumns: ["id"];
10563
+ }
10564
+ ];
10565
+ };
10566
+ werkbonnen: {
10567
+ Row: {
10568
+ assigned_user_id: string | null;
10569
+ budget_mandate_cents: number;
10570
+ complaint_description: string | null;
10571
+ created_at: string;
10572
+ created_by: string | null;
10573
+ customer_id: string | null;
10574
+ externe_referentie: string | null;
10575
+ first_time_fix: boolean | null;
10576
+ id: string;
10577
+ internal_notes: string | null;
10578
+ parent_werkbon_id: string | null;
10579
+ parsed_payload: Json | null;
10580
+ project_number: string | null;
10581
+ room_number: string | null;
10582
+ scheduled_end_time: string | null;
10583
+ scheduled_start_time: string | null;
10584
+ sequence_number: number;
10585
+ source_pdf_path: string | null;
10586
+ status: string;
10587
+ technician_notes: string | null;
10588
+ technician_notes_raw: string | null;
10589
+ technician_task_description: string | null;
10590
+ updated_at: string;
10591
+ version: number;
10592
+ work_address: string | null;
10593
+ };
10594
+ Insert: {
10595
+ assigned_user_id?: string | null;
10596
+ budget_mandate_cents?: number;
10597
+ complaint_description?: string | null;
10598
+ created_at?: string;
10599
+ created_by?: string | null;
10600
+ customer_id?: string | null;
10601
+ externe_referentie?: string | null;
10602
+ first_time_fix?: boolean | null;
10603
+ id?: string;
10604
+ internal_notes?: string | null;
10605
+ parent_werkbon_id?: string | null;
10606
+ parsed_payload?: Json | null;
10607
+ project_number?: string | null;
10608
+ room_number?: string | null;
10609
+ scheduled_end_time?: string | null;
10610
+ scheduled_start_time?: string | null;
10611
+ sequence_number: number;
10612
+ source_pdf_path?: string | null;
10613
+ status?: string;
10614
+ technician_notes?: string | null;
10615
+ technician_notes_raw?: string | null;
10616
+ technician_task_description?: string | null;
10617
+ updated_at?: string;
10618
+ version?: number;
10619
+ work_address?: string | null;
10620
+ };
10621
+ Update: {
10622
+ assigned_user_id?: string | null;
10623
+ budget_mandate_cents?: number;
10624
+ complaint_description?: string | null;
10625
+ created_at?: string;
10626
+ created_by?: string | null;
10627
+ customer_id?: string | null;
10628
+ externe_referentie?: string | null;
10629
+ first_time_fix?: boolean | null;
10630
+ id?: string;
10631
+ internal_notes?: string | null;
10632
+ parent_werkbon_id?: string | null;
10633
+ parsed_payload?: Json | null;
10634
+ project_number?: string | null;
10635
+ room_number?: string | null;
10636
+ scheduled_end_time?: string | null;
10637
+ scheduled_start_time?: string | null;
10638
+ sequence_number?: number;
10639
+ source_pdf_path?: string | null;
10640
+ status?: string;
10641
+ technician_notes?: string | null;
10642
+ technician_notes_raw?: string | null;
10643
+ technician_task_description?: string | null;
10644
+ updated_at?: string;
10645
+ version?: number;
10646
+ work_address?: string | null;
10647
+ };
10648
+ Relationships: [
10649
+ {
10650
+ foreignKeyName: "werkbonnen_customer_id_fkey";
10651
+ columns: ["customer_id"];
10652
+ isOneToOne: false;
10653
+ referencedRelation: "customers";
10654
+ referencedColumns: ["id"];
10655
+ },
10656
+ {
10657
+ foreignKeyName: "werkbonnen_parent_werkbon_id_fkey";
10658
+ columns: ["parent_werkbon_id"];
10659
+ isOneToOne: false;
10660
+ referencedRelation: "werkbonnen";
10661
+ referencedColumns: ["id"];
10662
+ }
10663
+ ];
10664
+ };
9950
10665
  work_order_monteurs: {
9951
10666
  Row: {
9952
10667
  created_at: string;
@@ -10123,6 +10838,8 @@ export type Database = {
10123
10838
  created_at: string | null;
10124
10839
  created_by: string | null;
10125
10840
  display_name: string | null;
10841
+ graph_subscription_expires_at: string | null;
10842
+ graph_subscription_id: string | null;
10126
10843
  has_access_token: boolean | null;
10127
10844
  has_client_id: boolean | null;
10128
10845
  has_client_secret: boolean | null;
@@ -10140,6 +10857,7 @@ export type Database = {
10140
10857
  oauth_mode: string | null;
10141
10858
  provider: string | null;
10142
10859
  purpose_assignments: Json | null;
10860
+ realtime_mode: string | null;
10143
10861
  scopes: string[] | null;
10144
10862
  smtp_host: string | null;
10145
10863
  smtp_port: number | null;
@@ -10154,6 +10872,8 @@ export type Database = {
10154
10872
  created_at?: string | null;
10155
10873
  created_by?: string | null;
10156
10874
  display_name?: string | null;
10875
+ graph_subscription_expires_at?: string | null;
10876
+ graph_subscription_id?: string | null;
10157
10877
  has_access_token?: never;
10158
10878
  has_client_id?: never;
10159
10879
  has_client_secret?: never;
@@ -10171,6 +10891,7 @@ export type Database = {
10171
10891
  oauth_mode?: string | null;
10172
10892
  provider?: string | null;
10173
10893
  purpose_assignments?: Json | null;
10894
+ realtime_mode?: string | null;
10174
10895
  scopes?: string[] | null;
10175
10896
  smtp_host?: string | null;
10176
10897
  smtp_port?: number | null;
@@ -10185,6 +10906,8 @@ export type Database = {
10185
10906
  created_at?: string | null;
10186
10907
  created_by?: string | null;
10187
10908
  display_name?: string | null;
10909
+ graph_subscription_expires_at?: string | null;
10910
+ graph_subscription_id?: string | null;
10188
10911
  has_access_token?: never;
10189
10912
  has_client_id?: never;
10190
10913
  has_client_secret?: never;
@@ -10202,6 +10925,7 @@ export type Database = {
10202
10925
  oauth_mode?: string | null;
10203
10926
  provider?: string | null;
10204
10927
  purpose_assignments?: Json | null;
10928
+ realtime_mode?: string | null;
10205
10929
  scopes?: string[] | null;
10206
10930
  smtp_host?: string | null;
10207
10931
  smtp_port?: number | null;
@@ -10757,6 +11481,33 @@ export type Database = {
10757
11481
  };
10758
11482
  Returns: Json;
10759
11483
  };
11484
+ claim_twinfield_push_batch: {
11485
+ Args: {
11486
+ _limit?: number;
11487
+ };
11488
+ Returns: {
11489
+ action: string;
11490
+ attempts: number;
11491
+ connection_id: string;
11492
+ created_at: string;
11493
+ customer_id: string | null;
11494
+ external_id: string | null;
11495
+ id: string;
11496
+ idempotency_key: string;
11497
+ last_error: string | null;
11498
+ next_attempt_at: string;
11499
+ office_code: string | null;
11500
+ payload: Json;
11501
+ status: string;
11502
+ updated_at: string;
11503
+ }[];
11504
+ SetofOptions: {
11505
+ from: "*";
11506
+ to: "twinfield_push_queue";
11507
+ isOneToOne: false;
11508
+ isSetofReturn: true;
11509
+ };
11510
+ };
10760
11511
  cleanup_old_bookings: {
10761
11512
  Args: never;
10762
11513
  Returns: undefined;
@@ -10853,6 +11604,16 @@ export type Database = {
10853
11604
  status: string;
10854
11605
  }[];
10855
11606
  };
11607
+ email_auth_upsert_connection: {
11608
+ Args: {
11609
+ _account_email: string;
11610
+ _created_by: string;
11611
+ _is_active: boolean;
11612
+ _provider: string;
11613
+ _status: string;
11614
+ };
11615
+ Returns: string;
11616
+ };
10856
11617
  enqueue_cart_replan_if_unlocked: {
10857
11618
  Args: {
10858
11619
  p_order_id: string;
@@ -11125,6 +11886,10 @@ export type Database = {
11125
11886
  };
11126
11887
  Returns: boolean;
11127
11888
  };
11889
+ has_twinfield_link: {
11890
+ Args: never;
11891
+ Returns: boolean;
11892
+ };
11128
11893
  is_authenticated: {
11129
11894
  Args: never;
11130
11895
  Returns: boolean;
@@ -11180,6 +11945,10 @@ export type Database = {
11180
11945
  };
11181
11946
  Returns: string;
11182
11947
  };
11948
+ next_twinfield_code: {
11949
+ Args: never;
11950
+ Returns: string;
11951
+ };
11183
11952
  next_work_order_number: {
11184
11953
  Args: {
11185
11954
  p_parent_work_order_id?: string;
@@ -11294,6 +12063,12 @@ export type Database = {
11294
12063
  };
11295
12064
  Returns: number;
11296
12065
  };
12066
+ reorder_customer_price_groups: {
12067
+ Args: {
12068
+ _ids: string[];
12069
+ };
12070
+ Returns: undefined;
12071
+ };
11297
12072
  reset_floriday_sync_cursor: {
11298
12073
  Args: {
11299
12074
  p_connection_id: string;
@@ -11307,6 +12082,12 @@ export type Database = {
11307
12082
  };
11308
12083
  Returns: string;
11309
12084
  };
12085
+ retry_twinfield_push: {
12086
+ Args: {
12087
+ _customer_id: string;
12088
+ };
12089
+ Returns: number;
12090
+ };
11310
12091
  schedule_floriday_additional_services_sync: {
11311
12092
  Args: {
11312
12093
  p_apikey: string;