@flowselections/admin-installatietechniek 1.0.4 → 1.0.6

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 (33) hide show
  1. package/dist-lib/components/AdminForInstallatieTechniek.d.ts.map +1 -1
  2. package/dist-lib/components/AdminForInstallatieTechniek.js +166 -9
  3. package/dist-lib/components/ModuleAccessGuard.d.ts +15 -0
  4. package/dist-lib/components/ModuleAccessGuard.d.ts.map +1 -0
  5. package/dist-lib/components/ModuleAccessGuard.js +40 -0
  6. package/dist-lib/hooks/useModulePermission.d.ts +10 -3
  7. package/dist-lib/hooks/useModulePermission.d.ts.map +1 -1
  8. package/dist-lib/hooks/useModulePermission.js +26 -23
  9. package/dist-lib/index.d.ts +2 -0
  10. package/dist-lib/index.d.ts.map +1 -1
  11. package/dist-lib/index.js +2 -0
  12. package/dist-lib/integrations/supabase/auth-attacher.d.ts.map +1 -1
  13. package/dist-lib/integrations/supabase/auth-attacher.js +5 -1
  14. package/dist-lib/integrations/supabase/auth-middleware.d.ts +1126 -155
  15. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  16. package/dist-lib/integrations/supabase/auth-middleware.js +21 -7
  17. package/dist-lib/integrations/supabase/client.d.ts +1126 -155
  18. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  19. package/dist-lib/integrations/supabase/client.server.d.ts +1126 -155
  20. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  21. package/dist-lib/integrations/supabase/types.d.ts +1148 -154
  22. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  23. package/dist-lib/integrations/supabase/types.js +3 -0
  24. package/dist-lib/lib/admin.functions.d.ts +171971 -2043
  25. package/dist-lib/lib/admin.functions.d.ts.map +1 -1
  26. package/dist-lib/lib/admin.functions.js +292 -16
  27. package/dist-lib/lib/permission-types.d.ts +7 -0
  28. package/dist-lib/lib/permission-types.d.ts.map +1 -0
  29. package/dist-lib/lib/permission-types.js +1 -0
  30. package/dist-lib/lib/permissions.server.d.ts +14 -0
  31. package/dist-lib/lib/permissions.server.d.ts.map +1 -0
  32. package/dist-lib/lib/permissions.server.js +26 -0
  33. package/package.json +87 -87
@@ -871,6 +871,126 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
871
871
  };
872
872
  Relationships: [];
873
873
  };
874
+ cao_holidays: {
875
+ Row: {
876
+ created_at: string;
877
+ description: string | null;
878
+ holiday_date: string;
879
+ id: string;
880
+ updated_at: string;
881
+ };
882
+ Insert: {
883
+ created_at?: string;
884
+ description?: string | null;
885
+ holiday_date: string;
886
+ id?: string;
887
+ updated_at?: string;
888
+ };
889
+ Update: {
890
+ created_at?: string;
891
+ description?: string | null;
892
+ holiday_date?: string;
893
+ id?: string;
894
+ updated_at?: string;
895
+ };
896
+ Relationships: [];
897
+ };
898
+ cao_settings: {
899
+ Row: {
900
+ auto_break_after_hours: number;
901
+ auto_break_minutes: number;
902
+ auto_break_unpaid: boolean;
903
+ auto_stop_after_hours: number;
904
+ callout_fee: number;
905
+ created_at: string;
906
+ daily_regular_hours: number;
907
+ default_hourly_rate: number;
908
+ id: string;
909
+ materials_markup_percent: number;
910
+ max_daily_hours: number;
911
+ max_weekly_hours: number;
912
+ meal_allowance_amount: number;
913
+ overtime_pct_178: number;
914
+ overtime_pct_189: number;
915
+ overtime_pct_212: number;
916
+ reminder_after_hours: number;
917
+ standby_evening_amount: number;
918
+ standby_weekend_amount: number;
919
+ travel_cost_per_km: number | null;
920
+ travel_cost_threshold_km: number | null;
921
+ travel_counts_as_work: boolean;
922
+ travel_hourly_rate: number;
923
+ travel_rate_per_hour: number;
924
+ travel_threshold_minutes: number;
925
+ updated_at: string;
926
+ weekend_always_212: boolean;
927
+ window_end: string;
928
+ window_start: string;
929
+ };
930
+ Insert: {
931
+ auto_break_after_hours?: number;
932
+ auto_break_minutes?: number;
933
+ auto_break_unpaid?: boolean;
934
+ auto_stop_after_hours?: number;
935
+ callout_fee?: number;
936
+ created_at?: string;
937
+ daily_regular_hours?: number;
938
+ default_hourly_rate?: number;
939
+ id?: string;
940
+ materials_markup_percent?: number;
941
+ max_daily_hours?: number;
942
+ max_weekly_hours?: number;
943
+ meal_allowance_amount?: number;
944
+ overtime_pct_178?: number;
945
+ overtime_pct_189?: number;
946
+ overtime_pct_212?: number;
947
+ reminder_after_hours?: number;
948
+ standby_evening_amount?: number;
949
+ standby_weekend_amount?: number;
950
+ travel_cost_per_km?: number | null;
951
+ travel_cost_threshold_km?: number | null;
952
+ travel_counts_as_work?: boolean;
953
+ travel_hourly_rate?: number;
954
+ travel_rate_per_hour?: number;
955
+ travel_threshold_minutes?: number;
956
+ updated_at?: string;
957
+ weekend_always_212?: boolean;
958
+ window_end?: string;
959
+ window_start?: string;
960
+ };
961
+ Update: {
962
+ auto_break_after_hours?: number;
963
+ auto_break_minutes?: number;
964
+ auto_break_unpaid?: boolean;
965
+ auto_stop_after_hours?: number;
966
+ callout_fee?: number;
967
+ created_at?: string;
968
+ daily_regular_hours?: number;
969
+ default_hourly_rate?: number;
970
+ id?: string;
971
+ materials_markup_percent?: number;
972
+ max_daily_hours?: number;
973
+ max_weekly_hours?: number;
974
+ meal_allowance_amount?: number;
975
+ overtime_pct_178?: number;
976
+ overtime_pct_189?: number;
977
+ overtime_pct_212?: number;
978
+ reminder_after_hours?: number;
979
+ standby_evening_amount?: number;
980
+ standby_weekend_amount?: number;
981
+ travel_cost_per_km?: number | null;
982
+ travel_cost_threshold_km?: number | null;
983
+ travel_counts_as_work?: boolean;
984
+ travel_hourly_rate?: number;
985
+ travel_rate_per_hour?: number;
986
+ travel_threshold_minutes?: number;
987
+ updated_at?: string;
988
+ weekend_always_212?: boolean;
989
+ window_end?: string;
990
+ window_start?: string;
991
+ };
992
+ Relationships: [];
993
+ };
874
994
  carrier_shipping_rates: {
875
995
  Row: {
876
996
  carrier_id: string;
@@ -4924,6 +5044,42 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
4924
5044
  };
4925
5045
  Relationships: [];
4926
5046
  };
5047
+ facturen: {
5048
+ Row: {
5049
+ bedrag_incl_btw: number;
5050
+ created_at: string;
5051
+ datum: string;
5052
+ factuurnummer: string;
5053
+ id: string;
5054
+ klantnaam: string;
5055
+ status: string;
5056
+ updated_at: string;
5057
+ user_id: string;
5058
+ };
5059
+ Insert: {
5060
+ bedrag_incl_btw: number;
5061
+ created_at?: string;
5062
+ datum?: string;
5063
+ factuurnummer: string;
5064
+ id?: string;
5065
+ klantnaam: string;
5066
+ status?: string;
5067
+ updated_at?: string;
5068
+ user_id?: string;
5069
+ };
5070
+ Update: {
5071
+ bedrag_incl_btw?: number;
5072
+ created_at?: string;
5073
+ datum?: string;
5074
+ factuurnummer?: string;
5075
+ id?: string;
5076
+ klantnaam?: string;
5077
+ status?: string;
5078
+ updated_at?: string;
5079
+ user_id?: string;
5080
+ };
5081
+ Relationships: [];
5082
+ };
4927
5083
  floricode_connection_settings: {
4928
5084
  Row: {
4929
5085
  catalog_key: string | null;
@@ -7648,6 +7804,258 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
7648
7804
  };
7649
7805
  Relationships: [];
7650
7806
  };
7807
+ itk_offerte_events: {
7808
+ Row: {
7809
+ created_at: string;
7810
+ event_type: string;
7811
+ id: string;
7812
+ metadata: import("./types").Json;
7813
+ offerte_id: string;
7814
+ omschrijving: string | null;
7815
+ user_id: string | null;
7816
+ };
7817
+ Insert: {
7818
+ created_at?: string;
7819
+ event_type: string;
7820
+ id?: string;
7821
+ metadata?: import("./types").Json;
7822
+ offerte_id: string;
7823
+ omschrijving?: string | null;
7824
+ user_id?: string | null;
7825
+ };
7826
+ Update: {
7827
+ created_at?: string;
7828
+ event_type?: string;
7829
+ id?: string;
7830
+ metadata?: import("./types").Json;
7831
+ offerte_id?: string;
7832
+ omschrijving?: string | null;
7833
+ user_id?: string | null;
7834
+ };
7835
+ Relationships: [{
7836
+ foreignKeyName: "itk_offerte_events_offerte_id_fkey";
7837
+ columns: ["offerte_id"];
7838
+ isOneToOne: false;
7839
+ referencedRelation: "itk_offertes";
7840
+ referencedColumns: ["id"];
7841
+ }];
7842
+ };
7843
+ itk_offerte_regels: {
7844
+ Row: {
7845
+ created_at: string;
7846
+ id: string;
7847
+ line_total_cents: number;
7848
+ offerte_id: string;
7849
+ omschrijving: string;
7850
+ package_id: string | null;
7851
+ quantity: number;
7852
+ sort_order: number;
7853
+ source: string;
7854
+ unit_price_cents: number;
7855
+ updated_at: string;
7856
+ };
7857
+ Insert: {
7858
+ created_at?: string;
7859
+ id?: string;
7860
+ line_total_cents?: number;
7861
+ offerte_id: string;
7862
+ omschrijving?: string;
7863
+ package_id?: string | null;
7864
+ quantity?: number;
7865
+ sort_order?: number;
7866
+ source?: string;
7867
+ unit_price_cents?: number;
7868
+ updated_at?: string;
7869
+ };
7870
+ Update: {
7871
+ created_at?: string;
7872
+ id?: string;
7873
+ line_total_cents?: number;
7874
+ offerte_id?: string;
7875
+ omschrijving?: string;
7876
+ package_id?: string | null;
7877
+ quantity?: number;
7878
+ sort_order?: number;
7879
+ source?: string;
7880
+ unit_price_cents?: number;
7881
+ updated_at?: string;
7882
+ };
7883
+ Relationships: [{
7884
+ foreignKeyName: "itk_offerte_regels_offerte_id_fkey";
7885
+ columns: ["offerte_id"];
7886
+ isOneToOne: false;
7887
+ referencedRelation: "itk_offertes";
7888
+ referencedColumns: ["id"];
7889
+ }, {
7890
+ foreignKeyName: "itk_offerte_regels_package_id_fkey";
7891
+ columns: ["package_id"];
7892
+ isOneToOne: false;
7893
+ referencedRelation: "werkbon_packages";
7894
+ referencedColumns: ["id"];
7895
+ }];
7896
+ };
7897
+ itk_offerte_settings: {
7898
+ Row: {
7899
+ auto_convert_binnen_mandaat: boolean;
7900
+ created_at: string;
7901
+ default_geldigheid_dagen: number;
7902
+ default_vat_rate: number;
7903
+ id: string;
7904
+ singleton: boolean;
7905
+ updated_at: string;
7906
+ };
7907
+ Insert: {
7908
+ auto_convert_binnen_mandaat?: boolean;
7909
+ created_at?: string;
7910
+ default_geldigheid_dagen?: number;
7911
+ default_vat_rate?: number;
7912
+ id?: string;
7913
+ singleton?: boolean;
7914
+ updated_at?: string;
7915
+ };
7916
+ Update: {
7917
+ auto_convert_binnen_mandaat?: boolean;
7918
+ created_at?: string;
7919
+ default_geldigheid_dagen?: number;
7920
+ default_vat_rate?: number;
7921
+ id?: string;
7922
+ singleton?: boolean;
7923
+ updated_at?: string;
7924
+ };
7925
+ Relationships: [];
7926
+ };
7927
+ itk_offertes: {
7928
+ Row: {
7929
+ ai_generated: boolean;
7930
+ approved_at: string | null;
7931
+ binnen_mandaat: boolean;
7932
+ contact_id: string | null;
7933
+ converted_at: string | null;
7934
+ created_at: string;
7935
+ created_by: string | null;
7936
+ customer_id: string | null;
7937
+ follow_up_werkbon_id: string | null;
7938
+ id: string;
7939
+ jaar: number;
7940
+ mandaat_restant_cents: number;
7941
+ notities: string | null;
7942
+ offerte_number: string | null;
7943
+ omschrijving: string;
7944
+ rejected_at: string | null;
7945
+ sent_at: string | null;
7946
+ source_number: string | null;
7947
+ source_ref: string | null;
7948
+ source_type: string;
7949
+ status: string;
7950
+ subtotal_cents: number;
7951
+ total_cents: number;
7952
+ updated_at: string;
7953
+ valid_until: string | null;
7954
+ vat_cents: number;
7955
+ vat_rate: number;
7956
+ viewed_at: string | null;
7957
+ volgnummer: number | null;
7958
+ werkbon_id: string | null;
7959
+ work_location_id: string | null;
7960
+ };
7961
+ Insert: {
7962
+ ai_generated?: boolean;
7963
+ approved_at?: string | null;
7964
+ binnen_mandaat?: boolean;
7965
+ contact_id?: string | null;
7966
+ converted_at?: string | null;
7967
+ created_at?: string;
7968
+ created_by?: string | null;
7969
+ customer_id?: string | null;
7970
+ follow_up_werkbon_id?: string | null;
7971
+ id?: string;
7972
+ jaar?: number;
7973
+ mandaat_restant_cents?: number;
7974
+ notities?: string | null;
7975
+ offerte_number?: string | null;
7976
+ omschrijving?: string;
7977
+ rejected_at?: string | null;
7978
+ sent_at?: string | null;
7979
+ source_number?: string | null;
7980
+ source_ref?: string | null;
7981
+ source_type?: string;
7982
+ status?: string;
7983
+ subtotal_cents?: number;
7984
+ total_cents?: number;
7985
+ updated_at?: string;
7986
+ valid_until?: string | null;
7987
+ vat_cents?: number;
7988
+ vat_rate?: number;
7989
+ viewed_at?: string | null;
7990
+ volgnummer?: number | null;
7991
+ werkbon_id?: string | null;
7992
+ work_location_id?: string | null;
7993
+ };
7994
+ Update: {
7995
+ ai_generated?: boolean;
7996
+ approved_at?: string | null;
7997
+ binnen_mandaat?: boolean;
7998
+ contact_id?: string | null;
7999
+ converted_at?: string | null;
8000
+ created_at?: string;
8001
+ created_by?: string | null;
8002
+ customer_id?: string | null;
8003
+ follow_up_werkbon_id?: string | null;
8004
+ id?: string;
8005
+ jaar?: number;
8006
+ mandaat_restant_cents?: number;
8007
+ notities?: string | null;
8008
+ offerte_number?: string | null;
8009
+ omschrijving?: string;
8010
+ rejected_at?: string | null;
8011
+ sent_at?: string | null;
8012
+ source_number?: string | null;
8013
+ source_ref?: string | null;
8014
+ source_type?: string;
8015
+ status?: string;
8016
+ subtotal_cents?: number;
8017
+ total_cents?: number;
8018
+ updated_at?: string;
8019
+ valid_until?: string | null;
8020
+ vat_cents?: number;
8021
+ vat_rate?: number;
8022
+ viewed_at?: string | null;
8023
+ volgnummer?: number | null;
8024
+ werkbon_id?: string | null;
8025
+ work_location_id?: string | null;
8026
+ };
8027
+ Relationships: [{
8028
+ foreignKeyName: "itk_offertes_contact_id_fkey";
8029
+ columns: ["contact_id"];
8030
+ isOneToOne: false;
8031
+ referencedRelation: "itk_contact_persons";
8032
+ referencedColumns: ["id"];
8033
+ }, {
8034
+ foreignKeyName: "itk_offertes_customer_id_fkey";
8035
+ columns: ["customer_id"];
8036
+ isOneToOne: false;
8037
+ referencedRelation: "itk_customers";
8038
+ referencedColumns: ["id"];
8039
+ }, {
8040
+ foreignKeyName: "itk_offertes_follow_up_werkbon_id_fkey";
8041
+ columns: ["follow_up_werkbon_id"];
8042
+ isOneToOne: false;
8043
+ referencedRelation: "werkbonnen";
8044
+ referencedColumns: ["id"];
8045
+ }, {
8046
+ foreignKeyName: "itk_offertes_werkbon_id_fkey";
8047
+ columns: ["werkbon_id"];
8048
+ isOneToOne: false;
8049
+ referencedRelation: "werkbonnen";
8050
+ referencedColumns: ["id"];
8051
+ }, {
8052
+ foreignKeyName: "itk_offertes_work_location_id_fkey";
8053
+ columns: ["work_location_id"];
8054
+ isOneToOne: false;
8055
+ referencedRelation: "itk_work_locations";
8056
+ referencedColumns: ["id"];
8057
+ }];
8058
+ };
7651
8059
  itk_work_locations: {
7652
8060
  Row: {
7653
8061
  city: string | null;
@@ -7765,7 +8173,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
7765
8173
  start_date: string;
7766
8174
  start_time: string | null;
7767
8175
  status: string;
7768
- tenant_id: string;
7769
8176
  updated_at: string;
7770
8177
  user_id: string;
7771
8178
  };
@@ -7783,7 +8190,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
7783
8190
  start_date: string;
7784
8191
  start_time?: string | null;
7785
8192
  status?: string;
7786
- tenant_id?: string;
7787
8193
  updated_at?: string;
7788
8194
  user_id: string;
7789
8195
  };
@@ -7801,7 +8207,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
7801
8207
  start_date?: string;
7802
8208
  start_time?: string | null;
7803
8209
  status?: string;
7804
- tenant_id?: string;
7805
8210
  updated_at?: string;
7806
8211
  user_id?: string;
7807
8212
  };
@@ -7809,13 +8214,13 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
7809
8214
  foreignKeyName: "leave_requests_monteur_id_fkey";
7810
8215
  columns: ["monteur_id"];
7811
8216
  isOneToOne: false;
7812
- referencedRelation: "monteurs";
8217
+ referencedRelation: "profiles";
7813
8218
  referencedColumns: ["id"];
7814
8219
  }, {
7815
8220
  foreignKeyName: "leave_requests_user_id_fkey";
7816
8221
  columns: ["user_id"];
7817
8222
  isOneToOne: false;
7818
- referencedRelation: "monteurs";
8223
+ referencedRelation: "profiles";
7819
8224
  referencedColumns: ["id"];
7820
8225
  }];
7821
8226
  };
@@ -9970,26 +10375,137 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
9970
10375
  };
9971
10376
  Relationships: [];
9972
10377
  };
9973
- module_features: {
10378
+ material_usage: {
9974
10379
  Row: {
9975
10380
  created_at: string;
9976
- feature_id: string;
9977
10381
  id: string;
9978
- is_active: boolean;
9979
- last_seen_at: string;
9980
- module_id: string;
9981
- name: string;
10382
+ material_name: string;
10383
+ monteur_id: string | null;
10384
+ price_at_time: number;
10385
+ quantity_used: number;
10386
+ updated_at: string;
10387
+ van_inventory_id: string | null;
10388
+ work_order_id: string;
9982
10389
  };
9983
10390
  Insert: {
9984
10391
  created_at?: string;
9985
- feature_id: string;
9986
10392
  id?: string;
9987
- is_active?: boolean;
9988
- last_seen_at?: string;
9989
- module_id: string;
9990
- name: string;
9991
- };
9992
- Update: {
10393
+ material_name: string;
10394
+ monteur_id?: string | null;
10395
+ price_at_time?: number;
10396
+ quantity_used?: number;
10397
+ updated_at?: string;
10398
+ van_inventory_id?: string | null;
10399
+ work_order_id: string;
10400
+ };
10401
+ Update: {
10402
+ created_at?: string;
10403
+ id?: string;
10404
+ material_name?: string;
10405
+ monteur_id?: string | null;
10406
+ price_at_time?: number;
10407
+ quantity_used?: number;
10408
+ updated_at?: string;
10409
+ van_inventory_id?: string | null;
10410
+ work_order_id?: string;
10411
+ };
10412
+ Relationships: [{
10413
+ foreignKeyName: "material_usage_monteur_id_fkey";
10414
+ columns: ["monteur_id"];
10415
+ isOneToOne: false;
10416
+ referencedRelation: "profiles";
10417
+ referencedColumns: ["id"];
10418
+ }, {
10419
+ foreignKeyName: "material_usage_van_inventory_id_fkey";
10420
+ columns: ["van_inventory_id"];
10421
+ isOneToOne: false;
10422
+ referencedRelation: "van_inventories";
10423
+ referencedColumns: ["id"];
10424
+ }, {
10425
+ foreignKeyName: "material_usage_work_order_id_fkey";
10426
+ columns: ["work_order_id"];
10427
+ isOneToOne: false;
10428
+ referencedRelation: "work_orders";
10429
+ referencedColumns: ["id"];
10430
+ }];
10431
+ };
10432
+ medewerker_details: {
10433
+ Row: {
10434
+ color: string | null;
10435
+ created_at: string;
10436
+ hours_fri: number | null;
10437
+ hours_mon: number | null;
10438
+ hours_thu: number | null;
10439
+ hours_tue: number | null;
10440
+ hours_wed: number | null;
10441
+ id: string;
10442
+ is_active: boolean;
10443
+ leave_balance_hours: number;
10444
+ persnr: string | null;
10445
+ phone: string | null;
10446
+ profile_id: string;
10447
+ updated_at: string;
10448
+ };
10449
+ Insert: {
10450
+ color?: string | null;
10451
+ created_at?: string;
10452
+ hours_fri?: number | null;
10453
+ hours_mon?: number | null;
10454
+ hours_thu?: number | null;
10455
+ hours_tue?: number | null;
10456
+ hours_wed?: number | null;
10457
+ id?: string;
10458
+ is_active?: boolean;
10459
+ leave_balance_hours?: number;
10460
+ persnr?: string | null;
10461
+ phone?: string | null;
10462
+ profile_id: string;
10463
+ updated_at?: string;
10464
+ };
10465
+ Update: {
10466
+ color?: string | null;
10467
+ created_at?: string;
10468
+ hours_fri?: number | null;
10469
+ hours_mon?: number | null;
10470
+ hours_thu?: number | null;
10471
+ hours_tue?: number | null;
10472
+ hours_wed?: number | null;
10473
+ id?: string;
10474
+ is_active?: boolean;
10475
+ leave_balance_hours?: number;
10476
+ persnr?: string | null;
10477
+ phone?: string | null;
10478
+ profile_id?: string;
10479
+ updated_at?: string;
10480
+ };
10481
+ Relationships: [{
10482
+ foreignKeyName: "medewerker_details_profile_id_fkey";
10483
+ columns: ["profile_id"];
10484
+ isOneToOne: true;
10485
+ referencedRelation: "profiles";
10486
+ referencedColumns: ["id"];
10487
+ }];
10488
+ };
10489
+ module_features: {
10490
+ Row: {
10491
+ created_at: string;
10492
+ feature_id: string;
10493
+ id: string;
10494
+ is_active: boolean;
10495
+ last_seen_at: string;
10496
+ module_id: string;
10497
+ name: string;
10498
+ };
10499
+ Insert: {
10500
+ created_at?: string;
10501
+ feature_id: string;
10502
+ id?: string;
10503
+ is_active?: boolean;
10504
+ last_seen_at?: string;
10505
+ module_id: string;
10506
+ name: string;
10507
+ };
10508
+ Update: {
9993
10509
  created_at?: string;
9994
10510
  feature_id?: string;
9995
10511
  id?: string;
@@ -10030,6 +10546,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
10030
10546
  module_registry: {
10031
10547
  Row: {
10032
10548
  created_at: string;
10549
+ enforce: boolean;
10033
10550
  is_active: boolean;
10034
10551
  last_seen_at: string;
10035
10552
  module_id: string;
@@ -10039,6 +10556,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
10039
10556
  };
10040
10557
  Insert: {
10041
10558
  created_at?: string;
10559
+ enforce?: boolean;
10042
10560
  is_active?: boolean;
10043
10561
  last_seen_at?: string;
10044
10562
  module_id: string;
@@ -10048,6 +10566,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
10048
10566
  };
10049
10567
  Update: {
10050
10568
  created_at?: string;
10569
+ enforce?: boolean;
10051
10570
  is_active?: boolean;
10052
10571
  last_seen_at?: string;
10053
10572
  module_id?: string;
@@ -10108,63 +10627,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
10108
10627
  };
10109
10628
  Relationships: [];
10110
10629
  };
10111
- monteurs: {
10112
- Row: {
10113
- avatar_url: string | null;
10114
- color: string | null;
10115
- created_at: string;
10116
- email: string | null;
10117
- id: string;
10118
- is_active: boolean;
10119
- leave_balance_hours: number;
10120
- name: string;
10121
- persnr: number | null;
10122
- phone: string | null;
10123
- role: string;
10124
- tenant_id: string;
10125
- updated_at: string;
10126
- user_id: string | null;
10127
- };
10128
- Insert: {
10129
- avatar_url?: string | null;
10130
- color?: string | null;
10131
- created_at?: string;
10132
- email?: string | null;
10133
- id?: string;
10134
- is_active?: boolean;
10135
- leave_balance_hours?: number;
10136
- name: string;
10137
- persnr?: number | null;
10138
- phone?: string | null;
10139
- role?: string;
10140
- tenant_id: string;
10141
- updated_at?: string;
10142
- user_id?: string | null;
10143
- };
10144
- Update: {
10145
- avatar_url?: string | null;
10146
- color?: string | null;
10147
- created_at?: string;
10148
- email?: string | null;
10149
- id?: string;
10150
- is_active?: boolean;
10151
- leave_balance_hours?: number;
10152
- name?: string;
10153
- persnr?: number | null;
10154
- phone?: string | null;
10155
- role?: string;
10156
- tenant_id?: string;
10157
- updated_at?: string;
10158
- user_id?: string | null;
10159
- };
10160
- Relationships: [{
10161
- foreignKeyName: "monteurs_tenant_id_fkey";
10162
- columns: ["tenant_id"];
10163
- isOneToOne: false;
10164
- referencedRelation: "tenants";
10165
- referencedColumns: ["id"];
10166
- }];
10167
- };
10168
10630
  nmbrs_component_mapping: {
10169
10631
  Row: {
10170
10632
  created_at: string;
@@ -10235,13 +10697,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
10235
10697
  nmbrs_employee_number?: string;
10236
10698
  updated_at?: string;
10237
10699
  };
10238
- Relationships: [{
10239
- foreignKeyName: "nmbrs_employee_mapping_monteur_id_fkey";
10240
- columns: ["monteur_id"];
10241
- isOneToOne: true;
10242
- referencedRelation: "monteurs";
10243
- referencedColumns: ["id"];
10244
- }];
10700
+ Relationships: [];
10245
10701
  };
10246
10702
  nmbrs_export_lines: {
10247
10703
  Row: {
@@ -10290,12 +10746,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
10290
10746
  wage_code?: string;
10291
10747
  };
10292
10748
  Relationships: [{
10293
- foreignKeyName: "nmbrs_export_lines_monteur_id_fkey";
10294
- columns: ["monteur_id"];
10295
- isOneToOne: false;
10296
- referencedRelation: "monteurs";
10297
- referencedColumns: ["id"];
10298
- }, {
10299
10749
  foreignKeyName: "nmbrs_export_lines_run_id_fkey";
10300
10750
  columns: ["run_id"];
10301
10751
  isOneToOne: false;
@@ -13435,6 +13885,66 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
13435
13885
  };
13436
13886
  Relationships: [];
13437
13887
  };
13888
+ profile_modules: {
13889
+ Row: {
13890
+ created_at: string;
13891
+ id: string;
13892
+ module_id: string;
13893
+ profile_id: string;
13894
+ };
13895
+ Insert: {
13896
+ created_at?: string;
13897
+ id?: string;
13898
+ module_id: string;
13899
+ profile_id: string;
13900
+ };
13901
+ Update: {
13902
+ created_at?: string;
13903
+ id?: string;
13904
+ module_id?: string;
13905
+ profile_id?: string;
13906
+ };
13907
+ Relationships: [{
13908
+ foreignKeyName: "profile_modules_profile_id_fkey";
13909
+ columns: ["profile_id"];
13910
+ isOneToOne: false;
13911
+ referencedRelation: "profiles_org";
13912
+ referencedColumns: ["id"];
13913
+ }];
13914
+ };
13915
+ profile_roles: {
13916
+ Row: {
13917
+ created_at: string;
13918
+ id: string;
13919
+ profile_id: string;
13920
+ role_id: string;
13921
+ };
13922
+ Insert: {
13923
+ created_at?: string;
13924
+ id?: string;
13925
+ profile_id: string;
13926
+ role_id: string;
13927
+ };
13928
+ Update: {
13929
+ created_at?: string;
13930
+ id?: string;
13931
+ profile_id?: string;
13932
+ role_id?: string;
13933
+ };
13934
+ Relationships: [{
13935
+ foreignKeyName: "profile_roles_profile_id_fkey";
13936
+ columns: ["profile_id"];
13937
+ isOneToOne: false;
13938
+ referencedRelation: "profiles_org";
13939
+ referencedColumns: ["id"];
13940
+ }, {
13941
+ foreignKeyName: "profile_roles_role_id_fkey";
13942
+ columns: ["role_id"];
13943
+ isOneToOne: false;
13944
+ referencedRelation: "roles";
13945
+ referencedColumns: ["id"];
13946
+ }];
13947
+ };
13438
13948
  profiles: {
13439
13949
  Row: {
13440
13950
  address: string | null;
@@ -13480,6 +13990,39 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
13480
13990
  referencedColumns: ["id"];
13481
13991
  }];
13482
13992
  };
13993
+ profiles_org: {
13994
+ Row: {
13995
+ created_at: string;
13996
+ id: string;
13997
+ is_default: boolean;
13998
+ name: string;
13999
+ tenant_id: string | null;
14000
+ updated_at: string;
14001
+ };
14002
+ Insert: {
14003
+ created_at?: string;
14004
+ id?: string;
14005
+ is_default?: boolean;
14006
+ name: string;
14007
+ tenant_id?: string | null;
14008
+ updated_at?: string;
14009
+ };
14010
+ Update: {
14011
+ created_at?: string;
14012
+ id?: string;
14013
+ is_default?: boolean;
14014
+ name?: string;
14015
+ tenant_id?: string | null;
14016
+ updated_at?: string;
14017
+ };
14018
+ Relationships: [{
14019
+ foreignKeyName: "profiles_org_tenant_id_fkey";
14020
+ columns: ["tenant_id"];
14021
+ isOneToOne: false;
14022
+ referencedRelation: "tenants";
14023
+ referencedColumns: ["id"];
14024
+ }];
14025
+ };
13483
14026
  projects: {
13484
14027
  Row: {
13485
14028
  contact_name: string | null;
@@ -14654,6 +15197,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
14654
15197
  type: string;
14655
15198
  updated_at: string;
14656
15199
  vereist_medewerker: boolean;
15200
+ werkplek: string | null;
14657
15201
  };
14658
15202
  Insert: {
14659
15203
  actief?: boolean;
@@ -14667,6 +15211,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
14667
15211
  type?: string;
14668
15212
  updated_at?: string;
14669
15213
  vereist_medewerker?: boolean;
15214
+ werkplek?: string | null;
14670
15215
  };
14671
15216
  Update: {
14672
15217
  actief?: boolean;
@@ -14680,9 +15225,46 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
14680
15225
  type?: string;
14681
15226
  updated_at?: string;
14682
15227
  vereist_medewerker?: boolean;
15228
+ werkplek?: string | null;
14683
15229
  };
14684
15230
  Relationships: [];
14685
15231
  };
15232
+ sick_periods: {
15233
+ Row: {
15234
+ created_at: string;
15235
+ employee_id: string;
15236
+ end_date: string | null;
15237
+ id: string;
15238
+ notes: string | null;
15239
+ start_date: string;
15240
+ updated_at: string;
15241
+ };
15242
+ Insert: {
15243
+ created_at?: string;
15244
+ employee_id: string;
15245
+ end_date?: string | null;
15246
+ id?: string;
15247
+ notes?: string | null;
15248
+ start_date: string;
15249
+ updated_at?: string;
15250
+ };
15251
+ Update: {
15252
+ created_at?: string;
15253
+ employee_id?: string;
15254
+ end_date?: string | null;
15255
+ id?: string;
15256
+ notes?: string | null;
15257
+ start_date?: string;
15258
+ updated_at?: string;
15259
+ };
15260
+ Relationships: [{
15261
+ foreignKeyName: "sick_periods_employee_id_fkey";
15262
+ columns: ["employee_id"];
15263
+ isOneToOne: false;
15264
+ referencedRelation: "profiles";
15265
+ referencedColumns: ["id"];
15266
+ }];
15267
+ };
14686
15268
  sidebar_config: {
14687
15269
  Row: {
14688
15270
  id: string;
@@ -14980,99 +15562,252 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
14980
15562
  };
14981
15563
  Relationships: [];
14982
15564
  };
14983
- time_entries: {
15565
+ time_compensation_entries: {
15566
+ Row: {
15567
+ created_at: string;
15568
+ employee_id: string;
15569
+ entry_date: string;
15570
+ id: string;
15571
+ km: number;
15572
+ meal_allowance: number;
15573
+ notes: string | null;
15574
+ standby_evening: number;
15575
+ standby_weekend: number;
15576
+ tvt_change: number;
15577
+ updated_at: string;
15578
+ };
15579
+ Insert: {
15580
+ created_at?: string;
15581
+ employee_id: string;
15582
+ entry_date: string;
15583
+ id?: string;
15584
+ km?: number;
15585
+ meal_allowance?: number;
15586
+ notes?: string | null;
15587
+ standby_evening?: number;
15588
+ standby_weekend?: number;
15589
+ tvt_change?: number;
15590
+ updated_at?: string;
15591
+ };
15592
+ Update: {
15593
+ created_at?: string;
15594
+ employee_id?: string;
15595
+ entry_date?: string;
15596
+ id?: string;
15597
+ km?: number;
15598
+ meal_allowance?: number;
15599
+ notes?: string | null;
15600
+ standby_evening?: number;
15601
+ standby_weekend?: number;
15602
+ tvt_change?: number;
15603
+ updated_at?: string;
15604
+ };
15605
+ Relationships: [{
15606
+ foreignKeyName: "time_compensation_entries_employee_id_fkey";
15607
+ columns: ["employee_id"];
15608
+ isOneToOne: false;
15609
+ referencedRelation: "profiles";
15610
+ referencedColumns: ["id"];
15611
+ }];
15612
+ };
15613
+ time_entries: {
15614
+ Row: {
15615
+ created_at: string;
15616
+ employee_id: string;
15617
+ entry_date: string;
15618
+ hours: number;
15619
+ id: string;
15620
+ notes: string | null;
15621
+ overtime: number;
15622
+ undertime: number;
15623
+ updated_at: string;
15624
+ };
15625
+ Insert: {
15626
+ created_at?: string;
15627
+ employee_id: string;
15628
+ entry_date: string;
15629
+ hours?: number;
15630
+ id?: string;
15631
+ notes?: string | null;
15632
+ overtime?: number;
15633
+ undertime?: number;
15634
+ updated_at?: string;
15635
+ };
15636
+ Update: {
15637
+ created_at?: string;
15638
+ employee_id?: string;
15639
+ entry_date?: string;
15640
+ hours?: number;
15641
+ id?: string;
15642
+ notes?: string | null;
15643
+ overtime?: number;
15644
+ undertime?: number;
15645
+ updated_at?: string;
15646
+ };
15647
+ Relationships: [];
15648
+ };
15649
+ time_log_week_approvals: {
14984
15650
  Row: {
15651
+ approved_at: string | null;
15652
+ approved_by: string | null;
14985
15653
  created_at: string;
14986
15654
  employee_id: string;
14987
- entry_date: string;
14988
- hours: number;
14989
15655
  id: string;
15656
+ locked: boolean;
14990
15657
  notes: string | null;
14991
- overtime: number;
14992
- undertime: number;
15658
+ status: string;
15659
+ submitted_at: string | null;
14993
15660
  updated_at: string;
15661
+ week_start: string;
14994
15662
  };
14995
15663
  Insert: {
15664
+ approved_at?: string | null;
15665
+ approved_by?: string | null;
14996
15666
  created_at?: string;
14997
15667
  employee_id: string;
14998
- entry_date: string;
14999
- hours?: number;
15000
15668
  id?: string;
15669
+ locked?: boolean;
15001
15670
  notes?: string | null;
15002
- overtime?: number;
15003
- undertime?: number;
15671
+ status?: string;
15672
+ submitted_at?: string | null;
15004
15673
  updated_at?: string;
15674
+ week_start: string;
15005
15675
  };
15006
15676
  Update: {
15677
+ approved_at?: string | null;
15678
+ approved_by?: string | null;
15007
15679
  created_at?: string;
15008
15680
  employee_id?: string;
15009
- entry_date?: string;
15010
- hours?: number;
15011
15681
  id?: string;
15682
+ locked?: boolean;
15012
15683
  notes?: string | null;
15013
- overtime?: number;
15014
- undertime?: number;
15684
+ status?: string;
15685
+ submitted_at?: string | null;
15015
15686
  updated_at?: string;
15687
+ week_start?: string;
15016
15688
  };
15017
15689
  Relationships: [{
15018
- foreignKeyName: "time_entries_employee_id_fkey";
15690
+ foreignKeyName: "time_log_week_approvals_employee_id_fkey";
15019
15691
  columns: ["employee_id"];
15020
15692
  isOneToOne: false;
15021
- referencedRelation: "monteurs";
15693
+ referencedRelation: "profiles";
15022
15694
  referencedColumns: ["id"];
15023
15695
  }];
15024
15696
  };
15025
15697
  time_logs: {
15026
15698
  Row: {
15699
+ auto_stop_reason: string | null;
15700
+ auto_stopped: boolean;
15027
15701
  created_at: string;
15702
+ current_latitude: number | null;
15703
+ current_longitude: number | null;
15704
+ current_position_updated_at: string | null;
15028
15705
  employee_id: string;
15706
+ end_latitude: number | null;
15707
+ end_longitude: number | null;
15029
15708
  end_time: string | null;
15709
+ eta_distance_km: number | null;
15710
+ eta_minutes: number | null;
15711
+ eta_updated_at: string | null;
15712
+ hour_category: string | null;
15030
15713
  id: string;
15714
+ last_reminder_at: string | null;
15031
15715
  notes: string | null;
15032
15716
  overtime_hours: number;
15033
15717
  overtime_type: string | null;
15034
15718
  regular_hours: number;
15719
+ reminder_count: number;
15720
+ requires_review: boolean;
15721
+ start_latitude: number | null;
15722
+ start_longitude: number | null;
15035
15723
  start_time: string;
15036
15724
  travel_cost: number | null;
15037
15725
  travel_distance_km: number | null;
15726
+ travel_duration_min: number | null;
15727
+ travel_time_minutes: number | null;
15038
15728
  type: string;
15039
15729
  updated_at: string;
15730
+ work_order_id: string | null;
15040
15731
  };
15041
15732
  Insert: {
15733
+ auto_stop_reason?: string | null;
15734
+ auto_stopped?: boolean;
15042
15735
  created_at?: string;
15736
+ current_latitude?: number | null;
15737
+ current_longitude?: number | null;
15738
+ current_position_updated_at?: string | null;
15043
15739
  employee_id: string;
15740
+ end_latitude?: number | null;
15741
+ end_longitude?: number | null;
15044
15742
  end_time?: string | null;
15743
+ eta_distance_km?: number | null;
15744
+ eta_minutes?: number | null;
15745
+ eta_updated_at?: string | null;
15746
+ hour_category?: string | null;
15045
15747
  id?: string;
15748
+ last_reminder_at?: string | null;
15046
15749
  notes?: string | null;
15047
15750
  overtime_hours?: number;
15048
15751
  overtime_type?: string | null;
15049
15752
  regular_hours?: number;
15753
+ reminder_count?: number;
15754
+ requires_review?: boolean;
15755
+ start_latitude?: number | null;
15756
+ start_longitude?: number | null;
15050
15757
  start_time?: string;
15051
15758
  travel_cost?: number | null;
15052
15759
  travel_distance_km?: number | null;
15760
+ travel_duration_min?: number | null;
15761
+ travel_time_minutes?: number | null;
15053
15762
  type: string;
15054
15763
  updated_at?: string;
15764
+ work_order_id?: string | null;
15055
15765
  };
15056
15766
  Update: {
15767
+ auto_stop_reason?: string | null;
15768
+ auto_stopped?: boolean;
15057
15769
  created_at?: string;
15770
+ current_latitude?: number | null;
15771
+ current_longitude?: number | null;
15772
+ current_position_updated_at?: string | null;
15058
15773
  employee_id?: string;
15774
+ end_latitude?: number | null;
15775
+ end_longitude?: number | null;
15059
15776
  end_time?: string | null;
15777
+ eta_distance_km?: number | null;
15778
+ eta_minutes?: number | null;
15779
+ eta_updated_at?: string | null;
15780
+ hour_category?: string | null;
15060
15781
  id?: string;
15782
+ last_reminder_at?: string | null;
15061
15783
  notes?: string | null;
15062
15784
  overtime_hours?: number;
15063
15785
  overtime_type?: string | null;
15064
15786
  regular_hours?: number;
15787
+ reminder_count?: number;
15788
+ requires_review?: boolean;
15789
+ start_latitude?: number | null;
15790
+ start_longitude?: number | null;
15065
15791
  start_time?: string;
15066
15792
  travel_cost?: number | null;
15067
15793
  travel_distance_km?: number | null;
15794
+ travel_duration_min?: number | null;
15795
+ travel_time_minutes?: number | null;
15068
15796
  type?: string;
15069
15797
  updated_at?: string;
15798
+ work_order_id?: string | null;
15070
15799
  };
15071
15800
  Relationships: [{
15072
15801
  foreignKeyName: "time_logs_employee_id_fkey";
15073
15802
  columns: ["employee_id"];
15074
15803
  isOneToOne: false;
15075
- referencedRelation: "monteurs";
15804
+ referencedRelation: "profiles";
15805
+ referencedColumns: ["id"];
15806
+ }, {
15807
+ foreignKeyName: "time_logs_work_order_id_fkey";
15808
+ columns: ["work_order_id"];
15809
+ isOneToOne: false;
15810
+ referencedRelation: "work_orders";
15076
15811
  referencedColumns: ["id"];
15077
15812
  }];
15078
15813
  };
@@ -15111,7 +15846,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
15111
15846
  foreignKeyName: "time_off_entries_employee_id_fkey";
15112
15847
  columns: ["employee_id"];
15113
15848
  isOneToOne: false;
15114
- referencedRelation: "monteurs";
15849
+ referencedRelation: "profiles";
15115
15850
  referencedColumns: ["id"];
15116
15851
  }];
15117
15852
  };
@@ -15421,6 +16156,39 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
15421
16156
  };
15422
16157
  Relationships: [];
15423
16158
  };
16159
+ twinfield_cron_locks: {
16160
+ Row: {
16161
+ created_at: string;
16162
+ heartbeat_at: string;
16163
+ job_name: string;
16164
+ last_error: string | null;
16165
+ last_finished_at: string | null;
16166
+ locked_at: string;
16167
+ run_id: string;
16168
+ updated_at: string;
16169
+ };
16170
+ Insert: {
16171
+ created_at?: string;
16172
+ heartbeat_at?: string;
16173
+ job_name: string;
16174
+ last_error?: string | null;
16175
+ last_finished_at?: string | null;
16176
+ locked_at?: string;
16177
+ run_id?: string;
16178
+ updated_at?: string;
16179
+ };
16180
+ Update: {
16181
+ created_at?: string;
16182
+ heartbeat_at?: string;
16183
+ job_name?: string;
16184
+ last_error?: string | null;
16185
+ last_finished_at?: string | null;
16186
+ locked_at?: string;
16187
+ run_id?: string;
16188
+ updated_at?: string;
16189
+ };
16190
+ Relationships: [];
16191
+ };
15424
16192
  twinfield_customers: {
15425
16193
  Row: {
15426
16194
  address: string | null;
@@ -16021,6 +16789,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
16021
16789
  twinfield_push_queue: {
16022
16790
  Row: {
16023
16791
  action: string;
16792
+ attempt_started_at: string | null;
16024
16793
  attempts: number;
16025
16794
  connection_id: string | null;
16026
16795
  created_at: string;
@@ -16037,6 +16806,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
16037
16806
  };
16038
16807
  Insert: {
16039
16808
  action?: string;
16809
+ attempt_started_at?: string | null;
16040
16810
  attempts?: number;
16041
16811
  connection_id?: string | null;
16042
16812
  created_at?: string;
@@ -16053,6 +16823,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
16053
16823
  };
16054
16824
  Update: {
16055
16825
  action?: string;
16826
+ attempt_started_at?: string | null;
16056
16827
  attempts?: number;
16057
16828
  connection_id?: string | null;
16058
16829
  created_at?: string;
@@ -16250,13 +17021,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
16250
17021
  workday_end?: string | null;
16251
17022
  workday_start?: string | null;
16252
17023
  };
16253
- Relationships: [{
16254
- foreignKeyName: "uren_cao_profiles_monteur_id_fkey";
16255
- columns: ["monteur_id"];
16256
- isOneToOne: true;
16257
- referencedRelation: "monteurs";
16258
- referencedColumns: ["id"];
16259
- }];
17024
+ Relationships: [];
16260
17025
  };
16261
17026
  uren_entries: {
16262
17027
  Row: {
@@ -16302,12 +17067,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
16302
17067
  werkbon_id?: string | null;
16303
17068
  };
16304
17069
  Relationships: [{
16305
- foreignKeyName: "uren_entries_monteur_id_fkey";
16306
- columns: ["monteur_id"];
16307
- isOneToOne: false;
16308
- referencedRelation: "monteurs";
16309
- referencedColumns: ["id"];
16310
- }, {
16311
17070
  foreignKeyName: "uren_entries_werkbon_id_fkey";
16312
17071
  columns: ["werkbon_id"];
16313
17072
  isOneToOne: false;
@@ -16775,13 +17534,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
16775
17534
  submitted_at?: string | null;
16776
17535
  updated_at?: string;
16777
17536
  };
16778
- Relationships: [{
16779
- foreignKeyName: "uren_weekstaten_monteur_id_fkey";
16780
- columns: ["monteur_id"];
16781
- isOneToOne: false;
16782
- referencedRelation: "monteurs";
16783
- referencedColumns: ["id"];
16784
- }];
17537
+ Relationships: [];
16785
17538
  };
16786
17539
  user_module_permissions: {
16787
17540
  Row: {
@@ -16840,6 +17593,51 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
16840
17593
  referencedColumns: ["id"];
16841
17594
  }];
16842
17595
  };
17596
+ van_inventories: {
17597
+ Row: {
17598
+ barcode: string | null;
17599
+ created_at: string;
17600
+ id: string;
17601
+ monteur_id: string | null;
17602
+ price_per_unit: number;
17603
+ product_name: string;
17604
+ quantity_current: number;
17605
+ quantity_min: number;
17606
+ unit: string;
17607
+ updated_at: string;
17608
+ };
17609
+ Insert: {
17610
+ barcode?: string | null;
17611
+ created_at?: string;
17612
+ id?: string;
17613
+ monteur_id?: string | null;
17614
+ price_per_unit?: number;
17615
+ product_name: string;
17616
+ quantity_current?: number;
17617
+ quantity_min?: number;
17618
+ unit?: string;
17619
+ updated_at?: string;
17620
+ };
17621
+ Update: {
17622
+ barcode?: string | null;
17623
+ created_at?: string;
17624
+ id?: string;
17625
+ monteur_id?: string | null;
17626
+ price_per_unit?: number;
17627
+ product_name?: string;
17628
+ quantity_current?: number;
17629
+ quantity_min?: number;
17630
+ unit?: string;
17631
+ updated_at?: string;
17632
+ };
17633
+ Relationships: [{
17634
+ foreignKeyName: "van_inventories_monteur_id_fkey";
17635
+ columns: ["monteur_id"];
17636
+ isOneToOne: false;
17637
+ referencedRelation: "profiles";
17638
+ referencedColumns: ["id"];
17639
+ }];
17640
+ };
16843
17641
  voorraad_custom_fields: {
16844
17642
  Row: {
16845
17643
  created_at: string;
@@ -17790,7 +18588,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
17790
18588
  foreignKeyName: "work_order_monteurs_monteur_id_fkey";
17791
18589
  columns: ["monteur_id"];
17792
18590
  isOneToOne: false;
17793
- referencedRelation: "monteurs";
18591
+ referencedRelation: "profiles";
17794
18592
  referencedColumns: ["id"];
17795
18593
  }, {
17796
18594
  foreignKeyName: "work_order_monteurs_work_order_id_fkey";
@@ -17800,6 +18598,60 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
17800
18598
  referencedColumns: ["id"];
17801
18599
  }];
17802
18600
  };
18601
+ work_order_photos: {
18602
+ Row: {
18603
+ ai_caption: string | null;
18604
+ ai_categorized_at: string | null;
18605
+ ai_labels: import("./types").Json | null;
18606
+ caption: string | null;
18607
+ created_at: string;
18608
+ id: string;
18609
+ monteur_id: string | null;
18610
+ photo_type: string;
18611
+ storage_path: string;
18612
+ updated_at: string;
18613
+ work_order_id: string;
18614
+ };
18615
+ Insert: {
18616
+ ai_caption?: string | null;
18617
+ ai_categorized_at?: string | null;
18618
+ ai_labels?: import("./types").Json | null;
18619
+ caption?: string | null;
18620
+ created_at?: string;
18621
+ id?: string;
18622
+ monteur_id?: string | null;
18623
+ photo_type?: string;
18624
+ storage_path: string;
18625
+ updated_at?: string;
18626
+ work_order_id: string;
18627
+ };
18628
+ Update: {
18629
+ ai_caption?: string | null;
18630
+ ai_categorized_at?: string | null;
18631
+ ai_labels?: import("./types").Json | null;
18632
+ caption?: string | null;
18633
+ created_at?: string;
18634
+ id?: string;
18635
+ monteur_id?: string | null;
18636
+ photo_type?: string;
18637
+ storage_path?: string;
18638
+ updated_at?: string;
18639
+ work_order_id?: string;
18640
+ };
18641
+ Relationships: [{
18642
+ foreignKeyName: "work_order_photos_monteur_id_fkey";
18643
+ columns: ["monteur_id"];
18644
+ isOneToOne: false;
18645
+ referencedRelation: "profiles";
18646
+ referencedColumns: ["id"];
18647
+ }, {
18648
+ foreignKeyName: "work_order_photos_work_order_id_fkey";
18649
+ columns: ["work_order_id"];
18650
+ isOneToOne: false;
18651
+ referencedRelation: "work_orders";
18652
+ referencedColumns: ["id"];
18653
+ }];
18654
+ };
17803
18655
  work_orders: {
17804
18656
  Row: {
17805
18657
  assigned_to: string | null;
@@ -17831,7 +18683,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
17831
18683
  scheduled_end_time: string | null;
17832
18684
  scheduled_start_time: string | null;
17833
18685
  status: string;
17834
- tenant_id: string;
17835
18686
  total_hours_worked: number | null;
17836
18687
  total_price: number | null;
17837
18688
  travel_time_minutes: number | null;
@@ -17869,7 +18720,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
17869
18720
  scheduled_end_time?: string | null;
17870
18721
  scheduled_start_time?: string | null;
17871
18722
  status?: string;
17872
- tenant_id: string;
17873
18723
  total_hours_worked?: number | null;
17874
18724
  total_price?: number | null;
17875
18725
  travel_time_minutes?: number | null;
@@ -17907,7 +18757,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
17907
18757
  scheduled_end_time?: string | null;
17908
18758
  scheduled_start_time?: string | null;
17909
18759
  status?: string;
17910
- tenant_id?: string;
17911
18760
  total_hours_worked?: number | null;
17912
18761
  total_price?: number | null;
17913
18762
  travel_time_minutes?: number | null;
@@ -17921,12 +18770,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
17921
18770
  isOneToOne: false;
17922
18771
  referencedRelation: "work_orders";
17923
18772
  referencedColumns: ["id"];
17924
- }, {
17925
- foreignKeyName: "work_orders_tenant_id_fkey";
17926
- columns: ["tenant_id"];
17927
- isOneToOne: false;
17928
- referencedRelation: "tenants";
17929
- referencedColumns: ["id"];
17930
18773
  }];
17931
18774
  };
17932
18775
  };
@@ -18611,6 +19454,19 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
18611
19454
  };
18612
19455
  Returns: undefined;
18613
19456
  };
19457
+ approve_mailbox_order_proposal: {
19458
+ Args: {
19459
+ p_custom_fields: import("./types").Json;
19460
+ p_customer_id: string;
19461
+ p_delivery_date: string;
19462
+ p_field_values?: import("./types").Json;
19463
+ p_lines: import("./types").Json;
19464
+ p_notes: string;
19465
+ p_proposal_id: string;
19466
+ p_reviewed_by: string;
19467
+ };
19468
+ Returns: import("./types").Json;
19469
+ };
18614
19470
  assign_cart_numbers: {
18615
19471
  Args: {
18616
19472
  p_carts: import("./types").Json;
@@ -18662,6 +19518,10 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
18662
19518
  };
18663
19519
  Returns: number;
18664
19520
  };
19521
+ can_manage_hours: {
19522
+ Args: never;
19523
+ Returns: boolean;
19524
+ };
18665
19525
  check_offer_product_available_stock: {
18666
19526
  Args: {
18667
19527
  p_campaign_product_id: string;
@@ -18851,6 +19711,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
18851
19711
  };
18852
19712
  Returns: {
18853
19713
  action: string;
19714
+ attempt_started_at: string | null;
18854
19715
  attempts: number;
18855
19716
  connection_id: string | null;
18856
19717
  created_at: string;
@@ -18938,6 +19799,30 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
18938
19799
  agent_naam: string;
18939
19800
  }[];
18940
19801
  };
19802
+ consume_van_inventory: {
19803
+ Args: {
19804
+ p_inventory_id: string;
19805
+ p_quantity: number;
19806
+ };
19807
+ Returns: {
19808
+ barcode: string | null;
19809
+ created_at: string;
19810
+ id: string;
19811
+ monteur_id: string | null;
19812
+ price_per_unit: number;
19813
+ product_name: string;
19814
+ quantity_current: number;
19815
+ quantity_min: number;
19816
+ unit: string;
19817
+ updated_at: string;
19818
+ };
19819
+ SetofOptions: {
19820
+ from: "*";
19821
+ to: "van_inventories";
19822
+ isOneToOne: true;
19823
+ isSetofReturn: false;
19824
+ };
19825
+ };
18941
19826
  control_get_todays_carts: {
18942
19827
  Args: never;
18943
19828
  Returns: {
@@ -19013,7 +19898,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
19013
19898
  Returns: string;
19014
19899
  } | {
19015
19900
  Args: {
19016
- _feature_id?: string;
19901
+ _feature_id: string;
19017
19902
  _module_id: string;
19018
19903
  _user_id: string;
19019
19904
  };
@@ -19064,6 +19949,13 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
19064
19949
  };
19065
19950
  Returns: string;
19066
19951
  };
19952
+ employee_day_hours: {
19953
+ Args: {
19954
+ _day: string;
19955
+ _employee_id: string;
19956
+ };
19957
+ Returns: number;
19958
+ };
19067
19959
  enqueue_cart_replan_if_unlocked: {
19068
19960
  Args: {
19069
19961
  p_order_id: string;
@@ -19369,12 +20261,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
19369
20261
  Args: never;
19370
20262
  Returns: string;
19371
20263
  };
19372
- get_work_order_tenant_id: {
19373
- Args: {
19374
- wo_id: string;
19375
- };
19376
- Returns: string;
19377
- };
19378
20264
  has_module_permission: {
19379
20265
  Args: {
19380
20266
  _min: string;
@@ -19408,6 +20294,13 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
19408
20294
  };
19409
20295
  Returns: boolean;
19410
20296
  };
20297
+ is_time_log_week_locked: {
20298
+ Args: {
20299
+ p_employee_id: string;
20300
+ p_start_time: string;
20301
+ };
20302
+ Returns: boolean;
20303
+ };
19411
20304
  is_user_admin: {
19412
20305
  Args: never;
19413
20306
  Returns: boolean;
@@ -19416,19 +20309,43 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
19416
20309
  Args: never;
19417
20310
  Returns: boolean;
19418
20311
  };
20312
+ itk_offerte_naar_werkbon: {
20313
+ Args: {
20314
+ _offerte_id: string;
20315
+ };
20316
+ Returns: string;
20317
+ };
20318
+ itk_offerte_restant_mandaat: {
20319
+ Args: {
20320
+ _exclude_offerte_id?: string;
20321
+ _werkbon_id: string;
20322
+ };
20323
+ Returns: number;
20324
+ };
19419
20325
  jwt_has_role: {
19420
20326
  Args: {
19421
20327
  _role: Database["public"]["Enums"]["app_role"];
19422
20328
  };
19423
20329
  Returns: boolean;
19424
20330
  };
19425
- list_monteurs: {
20331
+ list_medewerkers: {
19426
20332
  Args: never;
19427
20333
  Returns: {
19428
20334
  avatar_url: string;
20335
+ color: string;
19429
20336
  display_name: string;
19430
20337
  email: string;
20338
+ hours_fri: number;
20339
+ hours_mon: number;
20340
+ hours_thu: number;
20341
+ hours_tue: number;
20342
+ hours_wed: number;
19431
20343
  id: string;
20344
+ is_active: boolean;
20345
+ leave_balance_hours: number;
20346
+ persnr: string;
20347
+ phone: string;
20348
+ roles: string[];
19432
20349
  }[];
19433
20350
  };
19434
20351
  list_my_planning_items: {
@@ -19754,17 +20671,6 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
19754
20671
  Returns: string;
19755
20672
  };
19756
20673
  logistics_emit_event: {
19757
- Args: {
19758
- p_event_type: string;
19759
- p_idempotency_key?: string;
19760
- p_order_ref: string;
19761
- p_payload?: import("./types").Json;
19762
- p_shadow?: boolean;
19763
- p_source_module: string;
19764
- p_strategy_id?: string;
19765
- };
19766
- Returns: import("./types").Json;
19767
- } | {
19768
20674
  Args: {
19769
20675
  p_event_type: string;
19770
20676
  p_idempotency_key?: string;
@@ -20609,6 +21515,37 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
20609
21515
  };
20610
21516
  Returns: undefined;
20611
21517
  };
21518
+ quote_create_from_source: {
21519
+ Args: {
21520
+ _payload?: import("./types").Json;
21521
+ _source_id: string;
21522
+ _source_type: string;
21523
+ };
21524
+ Returns: string;
21525
+ };
21526
+ quote_get_billable_lines: {
21527
+ Args: {
21528
+ _quotation_id: string;
21529
+ };
21530
+ Returns: import("./types").Json;
21531
+ };
21532
+ quote_get_summary: {
21533
+ Args: {
21534
+ _quotation_id: string;
21535
+ };
21536
+ Returns: import("./types").Json;
21537
+ };
21538
+ quote_list_packages: {
21539
+ Args: never;
21540
+ Returns: import("./types").Json;
21541
+ };
21542
+ quote_list_sources: {
21543
+ Args: {
21544
+ _limit?: number;
21545
+ _source_type?: string;
21546
+ };
21547
+ Returns: import("./types").Json;
21548
+ };
20612
21549
  recompute_all_reserved_stock: {
20613
21550
  Args: never;
20614
21551
  Returns: undefined;
@@ -21100,6 +22037,16 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
21100
22037
  };
21101
22038
  Returns: string[];
21102
22039
  };
22040
+ switch_time_log: {
22041
+ Args: {
22042
+ p_employee_id: string;
22043
+ p_start_lat?: number;
22044
+ p_start_lng?: number;
22045
+ p_type: string;
22046
+ p_work_order_id?: string;
22047
+ };
22048
+ Returns: import("./types").Json;
22049
+ };
21103
22050
  sync_all_layer_stocks: {
21104
22051
  Args: never;
21105
22052
  Returns: undefined;
@@ -21134,6 +22081,12 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
21134
22081
  };
21135
22082
  Returns: undefined;
21136
22083
  };
22084
+ sync_sick_time_off: {
22085
+ Args: {
22086
+ _period_id: string;
22087
+ };
22088
+ Returns: number;
22089
+ };
21137
22090
  trade_item_stock_duplicates: {
21138
22091
  Args: never;
21139
22092
  Returns: {
@@ -21150,6 +22103,24 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
21150
22103
  };
21151
22104
  Returns: boolean;
21152
22105
  };
22106
+ twinfield_cron_lock_acquire: {
22107
+ Args: {
22108
+ _job_name: string;
22109
+ _stale_seconds?: number;
22110
+ };
22111
+ Returns: boolean;
22112
+ };
22113
+ twinfield_cron_lock_release: {
22114
+ Args: {
22115
+ _error?: string;
22116
+ _job_name: string;
22117
+ };
22118
+ Returns: undefined;
22119
+ };
22120
+ twinfield_prune_push_queue: {
22121
+ Args: never;
22122
+ Returns: number;
22123
+ };
21153
22124
  twinfield_register_cron: {
21154
22125
  Args: {
21155
22126
  apikey?: string;
@@ -21193,7 +22164,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
21193
22164
  Enums: {
21194
22165
  ai_import_status: "nieuw" | "verwerken" | "bevestigen" | "klaar" | "mislukt";
21195
22166
  app_role: "admin" | "planner" | "monteur" | "administratie" | "ai_admin" | "manager" | "warehouse" | "sales" | "developer" | "receptie";
21196
- doc_layout_type: "pakbon" | "factuur" | "offerte" | "orderbevestiging" | "etiket" | "verzendlabel" | "productlabel" | "barcode_label" | "magazijnlijst" | "controlelijst" | "transportdocument" | "vrij" | "sticker" | "productiebon";
22167
+ doc_layout_type: "pakbon" | "factuur" | "offerte" | "orderbevestiging" | "etiket" | "verzendlabel" | "productlabel" | "barcode_label" | "magazijnlijst" | "controlelijst" | "transportdocument" | "vrij" | "sticker" | "productiebon" | "veilingbon" | "afleverbrief" | "veilingbrief";
21197
22168
  doc_orientation: "portrait" | "landscape";
21198
22169
  exact_env: "staging" | "live";
21199
22170
  exact_push_status: "pending" | "sent" | "error";