@flowselections/floriday-voorraad 1.0.12 → 1.0.13

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 (32) hide show
  1. package/dist-lib/components/voorraad/ConnectionBadge.d.ts +6 -0
  2. package/dist-lib/components/voorraad/ConnectionBadge.d.ts.map +1 -0
  3. package/dist-lib/components/voorraad/ConnectionBadge.js +12 -0
  4. package/dist-lib/components/voorraad/VoorraadPage.d.ts.map +1 -1
  5. package/dist-lib/components/voorraad/VoorraadPage.js +18 -10
  6. package/dist-lib/components/voorraad/VoorraadTable.d.ts.map +1 -1
  7. package/dist-lib/components/voorraad/VoorraadTable.js +10 -2
  8. package/dist-lib/hooks/useFloridayConnection.d.ts +9 -4
  9. package/dist-lib/hooks/useFloridayConnection.d.ts.map +1 -1
  10. package/dist-lib/hooks/useFloridayConnection.js +23 -23
  11. package/dist-lib/hooks/useFlorydayCustomers.d.ts +17 -0
  12. package/dist-lib/hooks/useFlorydayCustomers.d.ts.map +1 -0
  13. package/dist-lib/hooks/useFlorydayCustomers.js +65 -0
  14. package/dist-lib/hooks/useLocalTradeItems.d.ts +22 -0
  15. package/dist-lib/hooks/useLocalTradeItems.d.ts.map +1 -0
  16. package/dist-lib/hooks/useLocalTradeItems.js +100 -0
  17. package/dist-lib/hooks/useVoorraadData.d.ts +5 -0
  18. package/dist-lib/hooks/useVoorraadData.d.ts.map +1 -1
  19. package/dist-lib/hooks/useVoorraadData.js +37 -10
  20. package/dist-lib/integrations/supabase/auth-middleware.d.ts +2493 -32
  21. package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
  22. package/dist-lib/integrations/supabase/client.d.ts +2493 -32
  23. package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
  24. package/dist-lib/integrations/supabase/client.server.d.ts +2493 -32
  25. package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
  26. package/dist-lib/integrations/supabase/types.d.ts +2606 -82
  27. package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
  28. package/dist-lib/integrations/supabase/types.js +10 -0
  29. package/dist-lib/lib/floriday-client.d.ts +10 -12
  30. package/dist-lib/lib/floriday-client.d.ts.map +1 -1
  31. package/dist-lib/lib/floriday-client.js +32 -15
  32. package/package.json +2 -2
@@ -1,6 +1,192 @@
1
1
  import type { Database } from './types';
2
2
  export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClient<Database, "public", "public", {
3
3
  Tables: {
4
+ agenda_connections: {
5
+ Row: {
6
+ account_email: string | null;
7
+ created_at: string;
8
+ id: string;
9
+ last_error: string | null;
10
+ last_synced_at: string | null;
11
+ provider: string;
12
+ selected_calendars: import("./types").Json;
13
+ status: string;
14
+ sync_mode: string;
15
+ updated_at: string;
16
+ user_id: string;
17
+ };
18
+ Insert: {
19
+ account_email?: string | null;
20
+ created_at?: string;
21
+ id?: string;
22
+ last_error?: string | null;
23
+ last_synced_at?: string | null;
24
+ provider: string;
25
+ selected_calendars?: import("./types").Json;
26
+ status?: string;
27
+ sync_mode?: string;
28
+ updated_at?: string;
29
+ user_id: string;
30
+ };
31
+ Update: {
32
+ account_email?: string | null;
33
+ created_at?: string;
34
+ id?: string;
35
+ last_error?: string | null;
36
+ last_synced_at?: string | null;
37
+ provider?: string;
38
+ selected_calendars?: import("./types").Json;
39
+ status?: string;
40
+ sync_mode?: string;
41
+ updated_at?: string;
42
+ user_id?: string;
43
+ };
44
+ Relationships: [];
45
+ };
46
+ agenda_events: {
47
+ Row: {
48
+ all_day: boolean;
49
+ calendar_id: string;
50
+ category: string | null;
51
+ color: string;
52
+ created_at: string;
53
+ description: string | null;
54
+ end_at: string;
55
+ external_id: string | null;
56
+ external_provider: string | null;
57
+ id: string;
58
+ linked_data: import("./types").Json;
59
+ location: string | null;
60
+ notes: string | null;
61
+ recurrence: string | null;
62
+ reminders: import("./types").Json;
63
+ source_id: string | null;
64
+ source_module: string;
65
+ source_type: string | null;
66
+ start_at: string;
67
+ status: string;
68
+ title: string;
69
+ updated_at: string;
70
+ user_id: string;
71
+ };
72
+ Insert: {
73
+ all_day?: boolean;
74
+ calendar_id?: string;
75
+ category?: string | null;
76
+ color?: string;
77
+ created_at?: string;
78
+ description?: string | null;
79
+ end_at: string;
80
+ external_id?: string | null;
81
+ external_provider?: string | null;
82
+ id?: string;
83
+ linked_data?: import("./types").Json;
84
+ location?: string | null;
85
+ notes?: string | null;
86
+ recurrence?: string | null;
87
+ reminders?: import("./types").Json;
88
+ source_id?: string | null;
89
+ source_module?: string;
90
+ source_type?: string | null;
91
+ start_at: string;
92
+ status?: string;
93
+ title: string;
94
+ updated_at?: string;
95
+ user_id: string;
96
+ };
97
+ Update: {
98
+ all_day?: boolean;
99
+ calendar_id?: string;
100
+ category?: string | null;
101
+ color?: string;
102
+ created_at?: string;
103
+ description?: string | null;
104
+ end_at?: string;
105
+ external_id?: string | null;
106
+ external_provider?: string | null;
107
+ id?: string;
108
+ linked_data?: import("./types").Json;
109
+ location?: string | null;
110
+ notes?: string | null;
111
+ recurrence?: string | null;
112
+ reminders?: import("./types").Json;
113
+ source_id?: string | null;
114
+ source_module?: string;
115
+ source_type?: string | null;
116
+ start_at?: string;
117
+ status?: string;
118
+ title?: string;
119
+ updated_at?: string;
120
+ user_id?: string;
121
+ };
122
+ Relationships: [];
123
+ };
124
+ agenda_oauth_tokens: {
125
+ Row: {
126
+ access_token: string | null;
127
+ created_at: string;
128
+ id: string;
129
+ provider: string;
130
+ refresh_token: string | null;
131
+ scope: string | null;
132
+ token_expires_at: string | null;
133
+ updated_at: string;
134
+ user_id: string;
135
+ };
136
+ Insert: {
137
+ access_token?: string | null;
138
+ created_at?: string;
139
+ id?: string;
140
+ provider: string;
141
+ refresh_token?: string | null;
142
+ scope?: string | null;
143
+ token_expires_at?: string | null;
144
+ updated_at?: string;
145
+ user_id: string;
146
+ };
147
+ Update: {
148
+ access_token?: string | null;
149
+ created_at?: string;
150
+ id?: string;
151
+ provider?: string;
152
+ refresh_token?: string | null;
153
+ scope?: string | null;
154
+ token_expires_at?: string | null;
155
+ updated_at?: string;
156
+ user_id?: string;
157
+ };
158
+ Relationships: [];
159
+ };
160
+ agenda_settings: {
161
+ Row: {
162
+ color_map: import("./types").Json;
163
+ created_at: string;
164
+ default_calendar_id: string;
165
+ default_view: string;
166
+ settings: import("./types").Json;
167
+ updated_at: string;
168
+ user_id: string;
169
+ };
170
+ Insert: {
171
+ color_map?: import("./types").Json;
172
+ created_at?: string;
173
+ default_calendar_id?: string;
174
+ default_view?: string;
175
+ settings?: import("./types").Json;
176
+ updated_at?: string;
177
+ user_id: string;
178
+ };
179
+ Update: {
180
+ color_map?: import("./types").Json;
181
+ created_at?: string;
182
+ default_calendar_id?: string;
183
+ default_view?: string;
184
+ settings?: import("./types").Json;
185
+ updated_at?: string;
186
+ user_id?: string;
187
+ };
188
+ Relationships: [];
189
+ };
4
190
  bugs: {
5
191
  Row: {
6
192
  attachment_url: string | null;
@@ -745,6 +931,315 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
745
931
  };
746
932
  Relationships: [];
747
933
  };
934
+ email_auth_connections: {
935
+ Row: {
936
+ access_token_encrypted: string | null;
937
+ account_email: string | null;
938
+ client_id_encrypted: string | null;
939
+ client_secret_encrypted: string | null;
940
+ created_at: string;
941
+ created_by: string | null;
942
+ display_name: string | null;
943
+ id: string;
944
+ imap_host: string | null;
945
+ imap_password_encrypted: string | null;
946
+ imap_port: number | null;
947
+ imap_secure: boolean | null;
948
+ imap_username: string | null;
949
+ is_active: boolean;
950
+ last_error: string | null;
951
+ last_verified_at: string | null;
952
+ oauth_mode: string | null;
953
+ provider: string;
954
+ refresh_token_encrypted: string | null;
955
+ scopes: string[] | null;
956
+ smtp_host: string | null;
957
+ smtp_password_encrypted: string | null;
958
+ smtp_port: number | null;
959
+ smtp_secure: boolean | null;
960
+ smtp_username: string | null;
961
+ status: string;
962
+ token_expires_at: string | null;
963
+ updated_at: string;
964
+ };
965
+ Insert: {
966
+ access_token_encrypted?: string | null;
967
+ account_email?: string | null;
968
+ client_id_encrypted?: string | null;
969
+ client_secret_encrypted?: string | null;
970
+ created_at?: string;
971
+ created_by?: string | null;
972
+ display_name?: string | null;
973
+ id?: string;
974
+ imap_host?: string | null;
975
+ imap_password_encrypted?: string | null;
976
+ imap_port?: number | null;
977
+ imap_secure?: boolean | null;
978
+ imap_username?: string | null;
979
+ is_active?: boolean;
980
+ last_error?: string | null;
981
+ last_verified_at?: string | null;
982
+ oauth_mode?: string | null;
983
+ provider: string;
984
+ refresh_token_encrypted?: string | null;
985
+ scopes?: string[] | null;
986
+ smtp_host?: string | null;
987
+ smtp_password_encrypted?: string | null;
988
+ smtp_port?: number | null;
989
+ smtp_secure?: boolean | null;
990
+ smtp_username?: string | null;
991
+ status?: string;
992
+ token_expires_at?: string | null;
993
+ updated_at?: string;
994
+ };
995
+ Update: {
996
+ access_token_encrypted?: string | null;
997
+ account_email?: string | null;
998
+ client_id_encrypted?: string | null;
999
+ client_secret_encrypted?: string | null;
1000
+ created_at?: string;
1001
+ created_by?: string | null;
1002
+ display_name?: string | null;
1003
+ id?: string;
1004
+ imap_host?: string | null;
1005
+ imap_password_encrypted?: string | null;
1006
+ imap_port?: number | null;
1007
+ imap_secure?: boolean | null;
1008
+ imap_username?: string | null;
1009
+ is_active?: boolean;
1010
+ last_error?: string | null;
1011
+ last_verified_at?: string | null;
1012
+ oauth_mode?: string | null;
1013
+ provider?: string;
1014
+ refresh_token_encrypted?: string | null;
1015
+ scopes?: string[] | null;
1016
+ smtp_host?: string | null;
1017
+ smtp_password_encrypted?: string | null;
1018
+ smtp_port?: number | null;
1019
+ smtp_secure?: boolean | null;
1020
+ smtp_username?: string | null;
1021
+ status?: string;
1022
+ token_expires_at?: string | null;
1023
+ updated_at?: string;
1024
+ };
1025
+ Relationships: [];
1026
+ };
1027
+ exact_account_analytics_cache: {
1028
+ Row: {
1029
+ account_id: string;
1030
+ account_name: string | null;
1031
+ avg_payment_days: number | null;
1032
+ computed_at: string;
1033
+ connection_id: string;
1034
+ expires_at: string | null;
1035
+ id: string;
1036
+ invoice_count: number | null;
1037
+ last_invoice_date: string | null;
1038
+ last_payment_date: string | null;
1039
+ open_balance: number | null;
1040
+ overdue_balance: number | null;
1041
+ total_revenue: number | null;
1042
+ };
1043
+ Insert: {
1044
+ account_id: string;
1045
+ account_name?: string | null;
1046
+ avg_payment_days?: number | null;
1047
+ computed_at?: string;
1048
+ connection_id: string;
1049
+ expires_at?: string | null;
1050
+ id?: string;
1051
+ invoice_count?: number | null;
1052
+ last_invoice_date?: string | null;
1053
+ last_payment_date?: string | null;
1054
+ open_balance?: number | null;
1055
+ overdue_balance?: number | null;
1056
+ total_revenue?: number | null;
1057
+ };
1058
+ Update: {
1059
+ account_id?: string;
1060
+ account_name?: string | null;
1061
+ avg_payment_days?: number | null;
1062
+ computed_at?: string;
1063
+ connection_id?: string;
1064
+ expires_at?: string | null;
1065
+ id?: string;
1066
+ invoice_count?: number | null;
1067
+ last_invoice_date?: string | null;
1068
+ last_payment_date?: string | null;
1069
+ open_balance?: number | null;
1070
+ overdue_balance?: number | null;
1071
+ total_revenue?: number | null;
1072
+ };
1073
+ Relationships: [{
1074
+ foreignKeyName: "exact_account_analytics_cache_connection_id_fkey";
1075
+ columns: ["connection_id"];
1076
+ isOneToOne: false;
1077
+ referencedRelation: "exact_connections";
1078
+ referencedColumns: ["id"];
1079
+ }];
1080
+ };
1081
+ exact_analytics_cache: {
1082
+ Row: {
1083
+ analytics_type: string;
1084
+ avg_payment_days: number | null;
1085
+ computed_at: string;
1086
+ connection_id: string;
1087
+ data_raw: import("./types").Json | null;
1088
+ expires_at: string | null;
1089
+ id: string;
1090
+ open_count: number | null;
1091
+ overdue_amount: number | null;
1092
+ paid_this_month: number | null;
1093
+ period_key: string;
1094
+ total_invoiced: number | null;
1095
+ total_open: number | null;
1096
+ };
1097
+ Insert: {
1098
+ analytics_type: string;
1099
+ avg_payment_days?: number | null;
1100
+ computed_at?: string;
1101
+ connection_id: string;
1102
+ data_raw?: import("./types").Json | null;
1103
+ expires_at?: string | null;
1104
+ id?: string;
1105
+ open_count?: number | null;
1106
+ overdue_amount?: number | null;
1107
+ paid_this_month?: number | null;
1108
+ period_key: string;
1109
+ total_invoiced?: number | null;
1110
+ total_open?: number | null;
1111
+ };
1112
+ Update: {
1113
+ analytics_type?: string;
1114
+ avg_payment_days?: number | null;
1115
+ computed_at?: string;
1116
+ connection_id?: string;
1117
+ data_raw?: import("./types").Json | null;
1118
+ expires_at?: string | null;
1119
+ id?: string;
1120
+ open_count?: number | null;
1121
+ overdue_amount?: number | null;
1122
+ paid_this_month?: number | null;
1123
+ period_key?: string;
1124
+ total_invoiced?: number | null;
1125
+ total_open?: number | null;
1126
+ };
1127
+ Relationships: [{
1128
+ foreignKeyName: "exact_analytics_cache_connection_id_fkey";
1129
+ columns: ["connection_id"];
1130
+ isOneToOne: false;
1131
+ referencedRelation: "exact_connections";
1132
+ referencedColumns: ["id"];
1133
+ }];
1134
+ };
1135
+ exact_bulk_operation_items: {
1136
+ Row: {
1137
+ attempts: number;
1138
+ bulk_operation_id: string;
1139
+ created_at: string;
1140
+ error_message: string | null;
1141
+ id: string;
1142
+ invoice_cache_id: string | null;
1143
+ invoice_exact_id: string | null;
1144
+ processed_at: string | null;
1145
+ result_data: import("./types").Json | null;
1146
+ status: string;
1147
+ };
1148
+ Insert: {
1149
+ attempts?: number;
1150
+ bulk_operation_id: string;
1151
+ created_at?: string;
1152
+ error_message?: string | null;
1153
+ id?: string;
1154
+ invoice_cache_id?: string | null;
1155
+ invoice_exact_id?: string | null;
1156
+ processed_at?: string | null;
1157
+ result_data?: import("./types").Json | null;
1158
+ status?: string;
1159
+ };
1160
+ Update: {
1161
+ attempts?: number;
1162
+ bulk_operation_id?: string;
1163
+ created_at?: string;
1164
+ error_message?: string | null;
1165
+ id?: string;
1166
+ invoice_cache_id?: string | null;
1167
+ invoice_exact_id?: string | null;
1168
+ processed_at?: string | null;
1169
+ result_data?: import("./types").Json | null;
1170
+ status?: string;
1171
+ };
1172
+ Relationships: [{
1173
+ foreignKeyName: "exact_bulk_operation_items_bulk_operation_id_fkey";
1174
+ columns: ["bulk_operation_id"];
1175
+ isOneToOne: false;
1176
+ referencedRelation: "exact_bulk_operations";
1177
+ referencedColumns: ["id"];
1178
+ }, {
1179
+ foreignKeyName: "exact_bulk_operation_items_invoice_cache_id_fkey";
1180
+ columns: ["invoice_cache_id"];
1181
+ isOneToOne: false;
1182
+ referencedRelation: "exact_invoices_cache";
1183
+ referencedColumns: ["id"];
1184
+ }];
1185
+ };
1186
+ exact_bulk_operations: {
1187
+ Row: {
1188
+ completed_at: string | null;
1189
+ connection_id: string;
1190
+ created_at: string;
1191
+ created_by: string | null;
1192
+ error_message: string | null;
1193
+ failed_count: number | null;
1194
+ id: string;
1195
+ operation_type: string;
1196
+ processed_count: number | null;
1197
+ result_data: import("./types").Json | null;
1198
+ started_at: string | null;
1199
+ status: string;
1200
+ total_count: number | null;
1201
+ updated_at: string;
1202
+ };
1203
+ Insert: {
1204
+ completed_at?: string | null;
1205
+ connection_id: string;
1206
+ created_at?: string;
1207
+ created_by?: string | null;
1208
+ error_message?: string | null;
1209
+ failed_count?: number | null;
1210
+ id?: string;
1211
+ operation_type: string;
1212
+ processed_count?: number | null;
1213
+ result_data?: import("./types").Json | null;
1214
+ started_at?: string | null;
1215
+ status?: string;
1216
+ total_count?: number | null;
1217
+ updated_at?: string;
1218
+ };
1219
+ Update: {
1220
+ completed_at?: string | null;
1221
+ connection_id?: string;
1222
+ created_at?: string;
1223
+ created_by?: string | null;
1224
+ error_message?: string | null;
1225
+ failed_count?: number | null;
1226
+ id?: string;
1227
+ operation_type?: string;
1228
+ processed_count?: number | null;
1229
+ result_data?: import("./types").Json | null;
1230
+ started_at?: string | null;
1231
+ status?: string;
1232
+ total_count?: number | null;
1233
+ updated_at?: string;
1234
+ };
1235
+ Relationships: [{
1236
+ foreignKeyName: "exact_bulk_operations_connection_id_fkey";
1237
+ columns: ["connection_id"];
1238
+ isOneToOne: false;
1239
+ referencedRelation: "exact_connections";
1240
+ referencedColumns: ["id"];
1241
+ }];
1242
+ };
748
1243
  exact_connections: {
749
1244
  Row: {
750
1245
  access_token_encrypted: string;
@@ -826,24 +1321,450 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
826
1321
  };
827
1322
  Relationships: [];
828
1323
  };
829
- exact_customers_cache: {
1324
+ exact_customer_sync_queue: {
830
1325
  Row: {
1326
+ attempts: number;
831
1327
  connection_id: string;
832
- data: import("./types").Json;
833
- exact_id: string;
834
- fetched_at: string;
1328
+ created_at: string;
1329
+ customer_exact_id: string | null;
1330
+ error_message: string | null;
1331
+ id: string;
1332
+ max_attempts: number;
1333
+ operation: string;
1334
+ payload: import("./types").Json;
1335
+ process_at: string;
1336
+ processed_at: string | null;
1337
+ status: string;
1338
+ updated_at: string;
835
1339
  };
836
1340
  Insert: {
1341
+ attempts?: number;
837
1342
  connection_id: string;
838
- data?: import("./types").Json;
839
- exact_id: string;
840
- fetched_at?: string;
841
- };
842
- Update: {
843
- connection_id?: string;
844
- data?: import("./types").Json;
1343
+ created_at?: string;
1344
+ customer_exact_id?: string | null;
1345
+ error_message?: string | null;
1346
+ id?: string;
1347
+ max_attempts?: number;
1348
+ operation: string;
1349
+ payload?: import("./types").Json;
1350
+ process_at?: string;
1351
+ processed_at?: string | null;
1352
+ status?: string;
1353
+ updated_at?: string;
1354
+ };
1355
+ Update: {
1356
+ attempts?: number;
1357
+ connection_id?: string;
1358
+ created_at?: string;
1359
+ customer_exact_id?: string | null;
1360
+ error_message?: string | null;
1361
+ id?: string;
1362
+ max_attempts?: number;
1363
+ operation?: string;
1364
+ payload?: import("./types").Json;
1365
+ process_at?: string;
1366
+ processed_at?: string | null;
1367
+ status?: string;
1368
+ updated_at?: string;
1369
+ };
1370
+ Relationships: [{
1371
+ foreignKeyName: "exact_customer_sync_queue_connection_id_fkey";
1372
+ columns: ["connection_id"];
1373
+ isOneToOne: false;
1374
+ referencedRelation: "exact_connections";
1375
+ referencedColumns: ["id"];
1376
+ }];
1377
+ };
1378
+ exact_customers_cache: {
1379
+ Row: {
1380
+ account_name: string | null;
1381
+ account_number: string | null;
1382
+ address_line1: string | null;
1383
+ address_line2: string | null;
1384
+ balance: number | null;
1385
+ chamber_of_commerce: string | null;
1386
+ city: string | null;
1387
+ classification_description: string | null;
1388
+ connection_id: string;
1389
+ contact_name: string | null;
1390
+ country: string | null;
1391
+ created_at_exact: string | null;
1392
+ credit_line: number | null;
1393
+ currency: string | null;
1394
+ data_raw: import("./types").Json | null;
1395
+ email: string | null;
1396
+ exact_id: string;
1397
+ expires_at: string | null;
1398
+ fetched_at: string;
1399
+ id: string;
1400
+ is_sales: boolean | null;
1401
+ is_supplier: boolean | null;
1402
+ language: string | null;
1403
+ modified_at_exact: string | null;
1404
+ payment_condition_description: string | null;
1405
+ payment_condition_sales: string | null;
1406
+ phone: string | null;
1407
+ postal_code: string | null;
1408
+ remarks: string | null;
1409
+ search_text: string | null;
1410
+ status: string | null;
1411
+ updated_at: string;
1412
+ vat_number: string | null;
1413
+ website: string | null;
1414
+ };
1415
+ Insert: {
1416
+ account_name?: string | null;
1417
+ account_number?: string | null;
1418
+ address_line1?: string | null;
1419
+ address_line2?: string | null;
1420
+ balance?: number | null;
1421
+ chamber_of_commerce?: string | null;
1422
+ city?: string | null;
1423
+ classification_description?: string | null;
1424
+ connection_id: string;
1425
+ contact_name?: string | null;
1426
+ country?: string | null;
1427
+ created_at_exact?: string | null;
1428
+ credit_line?: number | null;
1429
+ currency?: string | null;
1430
+ data_raw?: import("./types").Json | null;
1431
+ email?: string | null;
1432
+ exact_id: string;
1433
+ expires_at?: string | null;
1434
+ fetched_at?: string;
1435
+ id?: string;
1436
+ is_sales?: boolean | null;
1437
+ is_supplier?: boolean | null;
1438
+ language?: string | null;
1439
+ modified_at_exact?: string | null;
1440
+ payment_condition_description?: string | null;
1441
+ payment_condition_sales?: string | null;
1442
+ phone?: string | null;
1443
+ postal_code?: string | null;
1444
+ remarks?: string | null;
1445
+ search_text?: string | null;
1446
+ status?: string | null;
1447
+ updated_at?: string;
1448
+ vat_number?: string | null;
1449
+ website?: string | null;
1450
+ };
1451
+ Update: {
1452
+ account_name?: string | null;
1453
+ account_number?: string | null;
1454
+ address_line1?: string | null;
1455
+ address_line2?: string | null;
1456
+ balance?: number | null;
1457
+ chamber_of_commerce?: string | null;
1458
+ city?: string | null;
1459
+ classification_description?: string | null;
1460
+ connection_id?: string;
1461
+ contact_name?: string | null;
1462
+ country?: string | null;
1463
+ created_at_exact?: string | null;
1464
+ credit_line?: number | null;
1465
+ currency?: string | null;
1466
+ data_raw?: import("./types").Json | null;
1467
+ email?: string | null;
1468
+ exact_id?: string;
1469
+ expires_at?: string | null;
1470
+ fetched_at?: string;
1471
+ id?: string;
1472
+ is_sales?: boolean | null;
1473
+ is_supplier?: boolean | null;
1474
+ language?: string | null;
1475
+ modified_at_exact?: string | null;
1476
+ payment_condition_description?: string | null;
1477
+ payment_condition_sales?: string | null;
1478
+ phone?: string | null;
1479
+ postal_code?: string | null;
1480
+ remarks?: string | null;
1481
+ search_text?: string | null;
1482
+ status?: string | null;
1483
+ updated_at?: string;
1484
+ vat_number?: string | null;
1485
+ website?: string | null;
1486
+ };
1487
+ Relationships: [{
1488
+ foreignKeyName: "exact_customers_cache_connection_id_fkey";
1489
+ columns: ["connection_id"];
1490
+ isOneToOne: false;
1491
+ referencedRelation: "exact_connections";
1492
+ referencedColumns: ["id"];
1493
+ }];
1494
+ };
1495
+ exact_invoice_actions: {
1496
+ Row: {
1497
+ action_type: string;
1498
+ connection_id: string;
1499
+ created_at: string;
1500
+ created_by: string | null;
1501
+ error_message: string | null;
1502
+ id: string;
1503
+ invoice_cache_id: string | null;
1504
+ invoice_exact_id: string | null;
1505
+ rate_limit_remaining: number | null;
1506
+ response_data: import("./types").Json | null;
1507
+ status: string;
1508
+ };
1509
+ Insert: {
1510
+ action_type: string;
1511
+ connection_id: string;
1512
+ created_at?: string;
1513
+ created_by?: string | null;
1514
+ error_message?: string | null;
1515
+ id?: string;
1516
+ invoice_cache_id?: string | null;
1517
+ invoice_exact_id?: string | null;
1518
+ rate_limit_remaining?: number | null;
1519
+ response_data?: import("./types").Json | null;
1520
+ status: string;
1521
+ };
1522
+ Update: {
1523
+ action_type?: string;
1524
+ connection_id?: string;
1525
+ created_at?: string;
1526
+ created_by?: string | null;
1527
+ error_message?: string | null;
1528
+ id?: string;
1529
+ invoice_cache_id?: string | null;
1530
+ invoice_exact_id?: string | null;
1531
+ rate_limit_remaining?: number | null;
1532
+ response_data?: import("./types").Json | null;
1533
+ status?: string;
1534
+ };
1535
+ Relationships: [{
1536
+ foreignKeyName: "exact_invoice_actions_connection_id_fkey";
1537
+ columns: ["connection_id"];
1538
+ isOneToOne: false;
1539
+ referencedRelation: "exact_connections";
1540
+ referencedColumns: ["id"];
1541
+ }, {
1542
+ foreignKeyName: "exact_invoice_actions_invoice_cache_id_fkey";
1543
+ columns: ["invoice_cache_id"];
1544
+ isOneToOne: false;
1545
+ referencedRelation: "exact_invoices_cache";
1546
+ referencedColumns: ["id"];
1547
+ }];
1548
+ };
1549
+ exact_invoice_lines_cache: {
1550
+ Row: {
1551
+ connection_id: string;
1552
+ created_at: string;
1553
+ data_raw: import("./types").Json | null;
1554
+ description: string | null;
1555
+ discount: number | null;
1556
+ exact_line_id: string;
1557
+ gl_account_code: string | null;
1558
+ id: string;
1559
+ invoice_cache_id: string;
1560
+ item_code: string | null;
1561
+ line_total: number | null;
1562
+ quantity: number | null;
1563
+ unit_price: number | null;
1564
+ vat_code: string | null;
1565
+ };
1566
+ Insert: {
1567
+ connection_id: string;
1568
+ created_at?: string;
1569
+ data_raw?: import("./types").Json | null;
1570
+ description?: string | null;
1571
+ discount?: number | null;
1572
+ exact_line_id: string;
1573
+ gl_account_code?: string | null;
1574
+ id?: string;
1575
+ invoice_cache_id: string;
1576
+ item_code?: string | null;
1577
+ line_total?: number | null;
1578
+ quantity?: number | null;
1579
+ unit_price?: number | null;
1580
+ vat_code?: string | null;
1581
+ };
1582
+ Update: {
1583
+ connection_id?: string;
1584
+ created_at?: string;
1585
+ data_raw?: import("./types").Json | null;
1586
+ description?: string | null;
1587
+ discount?: number | null;
1588
+ exact_line_id?: string;
1589
+ gl_account_code?: string | null;
1590
+ id?: string;
1591
+ invoice_cache_id?: string;
1592
+ item_code?: string | null;
1593
+ line_total?: number | null;
1594
+ quantity?: number | null;
1595
+ unit_price?: number | null;
1596
+ vat_code?: string | null;
1597
+ };
1598
+ Relationships: [{
1599
+ foreignKeyName: "exact_invoice_lines_cache_connection_id_fkey";
1600
+ columns: ["connection_id"];
1601
+ isOneToOne: false;
1602
+ referencedRelation: "exact_connections";
1603
+ referencedColumns: ["id"];
1604
+ }, {
1605
+ foreignKeyName: "exact_invoice_lines_cache_invoice_cache_id_fkey";
1606
+ columns: ["invoice_cache_id"];
1607
+ isOneToOne: false;
1608
+ referencedRelation: "exact_invoices_cache";
1609
+ referencedColumns: ["id"];
1610
+ }];
1611
+ };
1612
+ exact_invoices_cache: {
1613
+ Row: {
1614
+ account_id: string | null;
1615
+ account_name: string | null;
1616
+ amount_excl_btw: number | null;
1617
+ btw_amount: number | null;
1618
+ connection_id: string;
1619
+ data_raw: import("./types").Json | null;
1620
+ due_date: string | null;
1621
+ entry_id: string | null;
1622
+ exact_id: string;
1623
+ expires_at: string | null;
1624
+ fetched_at: string;
1625
+ has_pdf: boolean | null;
1626
+ id: string;
1627
+ invoice_date: string | null;
1628
+ invoice_number: string | null;
1629
+ last_reminder_date: string | null;
1630
+ open_amount: number | null;
1631
+ paid_amount: number | null;
1632
+ paid_date: string | null;
1633
+ reminder_count: number | null;
1634
+ search_text: string | null;
1635
+ status: string | null;
1636
+ total_amount: number | null;
1637
+ updated_at: string;
1638
+ };
1639
+ Insert: {
1640
+ account_id?: string | null;
1641
+ account_name?: string | null;
1642
+ amount_excl_btw?: number | null;
1643
+ btw_amount?: number | null;
1644
+ connection_id: string;
1645
+ data_raw?: import("./types").Json | null;
1646
+ due_date?: string | null;
1647
+ entry_id?: string | null;
1648
+ exact_id: string;
1649
+ expires_at?: string | null;
1650
+ fetched_at?: string;
1651
+ has_pdf?: boolean | null;
1652
+ id?: string;
1653
+ invoice_date?: string | null;
1654
+ invoice_number?: string | null;
1655
+ last_reminder_date?: string | null;
1656
+ open_amount?: number | null;
1657
+ paid_amount?: number | null;
1658
+ paid_date?: string | null;
1659
+ reminder_count?: number | null;
1660
+ search_text?: string | null;
1661
+ status?: string | null;
1662
+ total_amount?: number | null;
1663
+ updated_at?: string;
1664
+ };
1665
+ Update: {
1666
+ account_id?: string | null;
1667
+ account_name?: string | null;
1668
+ amount_excl_btw?: number | null;
1669
+ btw_amount?: number | null;
1670
+ connection_id?: string;
1671
+ data_raw?: import("./types").Json | null;
1672
+ due_date?: string | null;
1673
+ entry_id?: string | null;
845
1674
  exact_id?: string;
1675
+ expires_at?: string | null;
846
1676
  fetched_at?: string;
1677
+ has_pdf?: boolean | null;
1678
+ id?: string;
1679
+ invoice_date?: string | null;
1680
+ invoice_number?: string | null;
1681
+ last_reminder_date?: string | null;
1682
+ open_amount?: number | null;
1683
+ paid_amount?: number | null;
1684
+ paid_date?: string | null;
1685
+ reminder_count?: number | null;
1686
+ search_text?: string | null;
1687
+ status?: string | null;
1688
+ total_amount?: number | null;
1689
+ updated_at?: string;
1690
+ };
1691
+ Relationships: [{
1692
+ foreignKeyName: "exact_invoices_cache_connection_id_fkey";
1693
+ columns: ["connection_id"];
1694
+ isOneToOne: false;
1695
+ referencedRelation: "exact_connections";
1696
+ referencedColumns: ["id"];
1697
+ }];
1698
+ };
1699
+ exact_operation_logs: {
1700
+ Row: {
1701
+ connection_id: string | null;
1702
+ created_at: string;
1703
+ duration_ms: number | null;
1704
+ entity_id: string | null;
1705
+ entity_type: string | null;
1706
+ error_message: string | null;
1707
+ id: string;
1708
+ operation: string | null;
1709
+ rate_limit_remaining: number | null;
1710
+ request_data: import("./types").Json | null;
1711
+ response_data: import("./types").Json | null;
1712
+ status: string | null;
1713
+ };
1714
+ Insert: {
1715
+ connection_id?: string | null;
1716
+ created_at?: string;
1717
+ duration_ms?: number | null;
1718
+ entity_id?: string | null;
1719
+ entity_type?: string | null;
1720
+ error_message?: string | null;
1721
+ id?: string;
1722
+ operation?: string | null;
1723
+ rate_limit_remaining?: number | null;
1724
+ request_data?: import("./types").Json | null;
1725
+ response_data?: import("./types").Json | null;
1726
+ status?: string | null;
1727
+ };
1728
+ Update: {
1729
+ connection_id?: string | null;
1730
+ created_at?: string;
1731
+ duration_ms?: number | null;
1732
+ entity_id?: string | null;
1733
+ entity_type?: string | null;
1734
+ error_message?: string | null;
1735
+ id?: string;
1736
+ operation?: string | null;
1737
+ rate_limit_remaining?: number | null;
1738
+ request_data?: import("./types").Json | null;
1739
+ response_data?: import("./types").Json | null;
1740
+ status?: string | null;
1741
+ };
1742
+ Relationships: [{
1743
+ foreignKeyName: "exact_operation_logs_connection_id_fkey";
1744
+ columns: ["connection_id"];
1745
+ isOneToOne: false;
1746
+ referencedRelation: "exact_connections";
1747
+ referencedColumns: ["id"];
1748
+ }];
1749
+ };
1750
+ exact_refresh_locks: {
1751
+ Row: {
1752
+ environment: Database["public"]["Enums"]["exact_env"];
1753
+ locked_by: string;
1754
+ locked_until: string;
1755
+ updated_at: string;
1756
+ };
1757
+ Insert: {
1758
+ environment: Database["public"]["Enums"]["exact_env"];
1759
+ locked_by: string;
1760
+ locked_until: string;
1761
+ updated_at?: string;
1762
+ };
1763
+ Update: {
1764
+ environment?: Database["public"]["Enums"]["exact_env"];
1765
+ locked_by?: string;
1766
+ locked_until?: string;
1767
+ updated_at?: string;
847
1768
  };
848
1769
  Relationships: [];
849
1770
  };
@@ -1021,6 +1942,48 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
1021
1942
  };
1022
1943
  Relationships: [];
1023
1944
  };
1945
+ floriday_connections_cache: {
1946
+ Row: {
1947
+ buyer_organization_id: string | null;
1948
+ buyer_organization_name: string | null;
1949
+ connection_id: string;
1950
+ data: import("./types").Json;
1951
+ floriday_connection_id: string;
1952
+ is_deleted: boolean;
1953
+ sequence_number: number;
1954
+ status: string | null;
1955
+ synced_at: string;
1956
+ };
1957
+ Insert: {
1958
+ buyer_organization_id?: string | null;
1959
+ buyer_organization_name?: string | null;
1960
+ connection_id: string;
1961
+ data: import("./types").Json;
1962
+ floriday_connection_id: string;
1963
+ is_deleted?: boolean;
1964
+ sequence_number: number;
1965
+ status?: string | null;
1966
+ synced_at?: string;
1967
+ };
1968
+ Update: {
1969
+ buyer_organization_id?: string | null;
1970
+ buyer_organization_name?: string | null;
1971
+ connection_id?: string;
1972
+ data?: import("./types").Json;
1973
+ floriday_connection_id?: string;
1974
+ is_deleted?: boolean;
1975
+ sequence_number?: number;
1976
+ status?: string | null;
1977
+ synced_at?: string;
1978
+ };
1979
+ Relationships: [{
1980
+ foreignKeyName: "floriday_connections_cache_connection_id_fkey";
1981
+ columns: ["connection_id"];
1982
+ isOneToOne: false;
1983
+ referencedRelation: "floriday_connections";
1984
+ referencedColumns: ["id"];
1985
+ }];
1986
+ };
1024
1987
  floriday_customers_cache: {
1025
1988
  Row: {
1026
1989
  connection_id: string | null;
@@ -1105,6 +2068,48 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
1105
2068
  };
1106
2069
  Relationships: [];
1107
2070
  };
2071
+ floriday_salesorders_cache: {
2072
+ Row: {
2073
+ buyer_organization_id: string | null;
2074
+ connection_id: string;
2075
+ created_at: string;
2076
+ data: import("./types").Json;
2077
+ floriday_id: string;
2078
+ is_deleted: boolean;
2079
+ sequence_number: number;
2080
+ status: string | null;
2081
+ updated_at: string;
2082
+ };
2083
+ Insert: {
2084
+ buyer_organization_id?: string | null;
2085
+ connection_id: string;
2086
+ created_at?: string;
2087
+ data: import("./types").Json;
2088
+ floriday_id: string;
2089
+ is_deleted?: boolean;
2090
+ sequence_number: number;
2091
+ status?: string | null;
2092
+ updated_at?: string;
2093
+ };
2094
+ Update: {
2095
+ buyer_organization_id?: string | null;
2096
+ connection_id?: string;
2097
+ created_at?: string;
2098
+ data?: import("./types").Json;
2099
+ floriday_id?: string;
2100
+ is_deleted?: boolean;
2101
+ sequence_number?: number;
2102
+ status?: string | null;
2103
+ updated_at?: string;
2104
+ };
2105
+ Relationships: [{
2106
+ foreignKeyName: "floriday_salesorders_cache_connection_id_fkey";
2107
+ columns: ["connection_id"];
2108
+ isOneToOne: false;
2109
+ referencedRelation: "floriday_connections";
2110
+ referencedColumns: ["id"];
2111
+ }];
2112
+ };
1108
2113
  floriday_settings: {
1109
2114
  Row: {
1110
2115
  active_environment: string;
@@ -1123,20 +2128,272 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
1123
2128
  };
1124
2129
  Relationships: [];
1125
2130
  };
1126
- inventory_settings: {
2131
+ floriday_sync_state: {
1127
2132
  Row: {
1128
- created_at: string;
1129
- hierarchy_levels: string[];
1130
- id: string;
2133
+ connection_id: string;
2134
+ entity_type: string;
2135
+ last_error: string | null;
2136
+ last_sequence_number: number;
2137
+ last_synced_at: string | null;
1131
2138
  updated_at: string;
1132
- visible_columns: string[];
1133
2139
  };
1134
2140
  Insert: {
1135
- created_at?: string;
1136
- hierarchy_levels?: string[];
1137
- id?: string;
2141
+ connection_id: string;
2142
+ entity_type: string;
2143
+ last_error?: string | null;
2144
+ last_sequence_number?: number;
2145
+ last_synced_at?: string | null;
1138
2146
  updated_at?: string;
1139
- visible_columns?: string[];
2147
+ };
2148
+ Update: {
2149
+ connection_id?: string;
2150
+ entity_type?: string;
2151
+ last_error?: string | null;
2152
+ last_sequence_number?: number;
2153
+ last_synced_at?: string | null;
2154
+ updated_at?: string;
2155
+ };
2156
+ Relationships: [{
2157
+ foreignKeyName: "floriday_sync_state_connection_id_fkey";
2158
+ columns: ["connection_id"];
2159
+ isOneToOne: false;
2160
+ referencedRelation: "floriday_connections";
2161
+ referencedColumns: ["id"];
2162
+ }];
2163
+ };
2164
+ floriday_token_refresh_log: {
2165
+ Row: {
2166
+ attempted_at: string;
2167
+ connection_id: string | null;
2168
+ environment: string;
2169
+ error: string | null;
2170
+ expires_at: string | null;
2171
+ id: string;
2172
+ ok: boolean;
2173
+ };
2174
+ Insert: {
2175
+ attempted_at?: string;
2176
+ connection_id?: string | null;
2177
+ environment: string;
2178
+ error?: string | null;
2179
+ expires_at?: string | null;
2180
+ id?: string;
2181
+ ok: boolean;
2182
+ };
2183
+ Update: {
2184
+ attempted_at?: string;
2185
+ connection_id?: string | null;
2186
+ environment?: string;
2187
+ error?: string | null;
2188
+ expires_at?: string | null;
2189
+ id?: string;
2190
+ ok?: boolean;
2191
+ };
2192
+ Relationships: [{
2193
+ foreignKeyName: "floriday_token_refresh_log_connection_id_fkey";
2194
+ columns: ["connection_id"];
2195
+ isOneToOne: false;
2196
+ referencedRelation: "floriday_connections";
2197
+ referencedColumns: ["id"];
2198
+ }];
2199
+ };
2200
+ floriday_trade_items_cache: {
2201
+ Row: {
2202
+ connection_id: string;
2203
+ data: import("./types").Json;
2204
+ fetched_at: string;
2205
+ floriday_id: string;
2206
+ is_deleted: boolean;
2207
+ sequence_number: number;
2208
+ };
2209
+ Insert: {
2210
+ connection_id: string;
2211
+ data?: import("./types").Json;
2212
+ fetched_at?: string;
2213
+ floriday_id: string;
2214
+ is_deleted?: boolean;
2215
+ sequence_number?: number;
2216
+ };
2217
+ Update: {
2218
+ connection_id?: string;
2219
+ data?: import("./types").Json;
2220
+ fetched_at?: string;
2221
+ floriday_id?: string;
2222
+ is_deleted?: boolean;
2223
+ sequence_number?: number;
2224
+ };
2225
+ Relationships: [{
2226
+ foreignKeyName: "floriday_trade_items_cache_connection_id_fkey";
2227
+ columns: ["connection_id"];
2228
+ isOneToOne: false;
2229
+ referencedRelation: "floriday_connections";
2230
+ referencedColumns: ["id"];
2231
+ }];
2232
+ };
2233
+ imap_accounts: {
2234
+ Row: {
2235
+ created_at: string;
2236
+ email: string | null;
2237
+ host: string;
2238
+ id: string;
2239
+ is_active: boolean;
2240
+ last_test_error: string | null;
2241
+ last_test_ok: boolean | null;
2242
+ last_tested_at: string | null;
2243
+ name: string;
2244
+ password: string | null;
2245
+ password_secret_name: string | null;
2246
+ port: number;
2247
+ updated_at: string;
2248
+ use_tls: boolean;
2249
+ username: string;
2250
+ };
2251
+ Insert: {
2252
+ created_at?: string;
2253
+ email?: string | null;
2254
+ host: string;
2255
+ id?: string;
2256
+ is_active?: boolean;
2257
+ last_test_error?: string | null;
2258
+ last_test_ok?: boolean | null;
2259
+ last_tested_at?: string | null;
2260
+ name: string;
2261
+ password?: string | null;
2262
+ password_secret_name?: string | null;
2263
+ port?: number;
2264
+ updated_at?: string;
2265
+ use_tls?: boolean;
2266
+ username: string;
2267
+ };
2268
+ Update: {
2269
+ created_at?: string;
2270
+ email?: string | null;
2271
+ host?: string;
2272
+ id?: string;
2273
+ is_active?: boolean;
2274
+ last_test_error?: string | null;
2275
+ last_test_ok?: boolean | null;
2276
+ last_tested_at?: string | null;
2277
+ name?: string;
2278
+ password?: string | null;
2279
+ password_secret_name?: string | null;
2280
+ port?: number;
2281
+ updated_at?: string;
2282
+ use_tls?: boolean;
2283
+ username?: string;
2284
+ };
2285
+ Relationships: [];
2286
+ };
2287
+ imap_profiles: {
2288
+ Row: {
2289
+ account_id: string | null;
2290
+ created_at: string;
2291
+ folder: string;
2292
+ id: string;
2293
+ last_error: string | null;
2294
+ last_polled_at: string | null;
2295
+ last_uid_seen: number;
2296
+ name: string;
2297
+ polling_enabled: boolean;
2298
+ profile_key: string;
2299
+ updated_at: string;
2300
+ };
2301
+ Insert: {
2302
+ account_id?: string | null;
2303
+ created_at?: string;
2304
+ folder?: string;
2305
+ id?: string;
2306
+ last_error?: string | null;
2307
+ last_polled_at?: string | null;
2308
+ last_uid_seen?: number;
2309
+ name: string;
2310
+ polling_enabled?: boolean;
2311
+ profile_key: string;
2312
+ updated_at?: string;
2313
+ };
2314
+ Update: {
2315
+ account_id?: string | null;
2316
+ created_at?: string;
2317
+ folder?: string;
2318
+ id?: string;
2319
+ last_error?: string | null;
2320
+ last_polled_at?: string | null;
2321
+ last_uid_seen?: number;
2322
+ name?: string;
2323
+ polling_enabled?: boolean;
2324
+ profile_key?: string;
2325
+ updated_at?: string;
2326
+ };
2327
+ Relationships: [{
2328
+ foreignKeyName: "imap_profiles_account_id_fkey";
2329
+ columns: ["account_id"];
2330
+ isOneToOne: false;
2331
+ referencedRelation: "imap_accounts";
2332
+ referencedColumns: ["id"];
2333
+ }];
2334
+ };
2335
+ imap_sync_log: {
2336
+ Row: {
2337
+ account_id: string | null;
2338
+ details: import("./types").Json | null;
2339
+ error: string | null;
2340
+ finished_at: string | null;
2341
+ id: string;
2342
+ inserted: number;
2343
+ ok: boolean | null;
2344
+ profile_id: string | null;
2345
+ started_at: string;
2346
+ };
2347
+ Insert: {
2348
+ account_id?: string | null;
2349
+ details?: import("./types").Json | null;
2350
+ error?: string | null;
2351
+ finished_at?: string | null;
2352
+ id?: string;
2353
+ inserted?: number;
2354
+ ok?: boolean | null;
2355
+ profile_id?: string | null;
2356
+ started_at?: string;
2357
+ };
2358
+ Update: {
2359
+ account_id?: string | null;
2360
+ details?: import("./types").Json | null;
2361
+ error?: string | null;
2362
+ finished_at?: string | null;
2363
+ id?: string;
2364
+ inserted?: number;
2365
+ ok?: boolean | null;
2366
+ profile_id?: string | null;
2367
+ started_at?: string;
2368
+ };
2369
+ Relationships: [{
2370
+ foreignKeyName: "imap_sync_log_account_id_fkey";
2371
+ columns: ["account_id"];
2372
+ isOneToOne: false;
2373
+ referencedRelation: "imap_accounts";
2374
+ referencedColumns: ["id"];
2375
+ }, {
2376
+ foreignKeyName: "imap_sync_log_profile_id_fkey";
2377
+ columns: ["profile_id"];
2378
+ isOneToOne: false;
2379
+ referencedRelation: "imap_profiles";
2380
+ referencedColumns: ["id"];
2381
+ }];
2382
+ };
2383
+ inventory_settings: {
2384
+ Row: {
2385
+ created_at: string;
2386
+ hierarchy_levels: string[];
2387
+ id: string;
2388
+ updated_at: string;
2389
+ visible_columns: string[];
2390
+ };
2391
+ Insert: {
2392
+ created_at?: string;
2393
+ hierarchy_levels?: string[];
2394
+ id?: string;
2395
+ updated_at?: string;
2396
+ visible_columns?: string[];
1140
2397
  };
1141
2398
  Update: {
1142
2399
  created_at?: string;
@@ -1181,6 +2438,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
1181
2438
  from_name: string | null;
1182
2439
  id: string;
1183
2440
  message_id: string | null;
2441
+ profile_id: string | null;
1184
2442
  raw_size: number | null;
1185
2443
  received_at: string | null;
1186
2444
  status: string;
@@ -1197,6 +2455,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
1197
2455
  from_name?: string | null;
1198
2456
  id?: string;
1199
2457
  message_id?: string | null;
2458
+ profile_id?: string | null;
1200
2459
  raw_size?: number | null;
1201
2460
  received_at?: string | null;
1202
2461
  status?: string;
@@ -1213,6 +2472,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
1213
2472
  from_name?: string | null;
1214
2473
  id?: string;
1215
2474
  message_id?: string | null;
2475
+ profile_id?: string | null;
1216
2476
  raw_size?: number | null;
1217
2477
  received_at?: string | null;
1218
2478
  status?: string;
@@ -1220,7 +2480,13 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
1220
2480
  uid?: number;
1221
2481
  updated_at?: string;
1222
2482
  };
1223
- Relationships: [];
2483
+ Relationships: [{
2484
+ foreignKeyName: "mailbox_messages_profile_id_fkey";
2485
+ columns: ["profile_id"];
2486
+ isOneToOne: false;
2487
+ referencedRelation: "imap_profiles";
2488
+ referencedColumns: ["id"];
2489
+ }];
1224
2490
  };
1225
2491
  mailbox_order_proposals: {
1226
2492
  Row: {
@@ -2056,6 +3322,99 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2056
3322
  referencedColumns: ["id"];
2057
3323
  }];
2058
3324
  };
3325
+ packages: {
3326
+ Row: {
3327
+ color: string;
3328
+ created_at: string;
3329
+ description: string | null;
3330
+ id: string;
3331
+ is_active: boolean;
3332
+ name: string;
3333
+ sort_order: number;
3334
+ updated_at: string;
3335
+ value: number;
3336
+ };
3337
+ Insert: {
3338
+ color?: string;
3339
+ created_at?: string;
3340
+ description?: string | null;
3341
+ id?: string;
3342
+ is_active?: boolean;
3343
+ name: string;
3344
+ sort_order?: number;
3345
+ updated_at?: string;
3346
+ value?: number;
3347
+ };
3348
+ Update: {
3349
+ color?: string;
3350
+ created_at?: string;
3351
+ description?: string | null;
3352
+ id?: string;
3353
+ is_active?: boolean;
3354
+ name?: string;
3355
+ sort_order?: number;
3356
+ updated_at?: string;
3357
+ value?: number;
3358
+ };
3359
+ Relationships: [];
3360
+ };
3361
+ pipeline_settings: {
3362
+ Row: {
3363
+ created_at: string;
3364
+ id: string;
3365
+ key: string;
3366
+ updated_at: string;
3367
+ value: string | null;
3368
+ };
3369
+ Insert: {
3370
+ created_at?: string;
3371
+ id?: string;
3372
+ key: string;
3373
+ updated_at?: string;
3374
+ value?: string | null;
3375
+ };
3376
+ Update: {
3377
+ created_at?: string;
3378
+ id?: string;
3379
+ key?: string;
3380
+ updated_at?: string;
3381
+ value?: string | null;
3382
+ };
3383
+ Relationships: [];
3384
+ };
3385
+ pipeline_stages: {
3386
+ Row: {
3387
+ automation_type: string;
3388
+ color: string;
3389
+ created_at: string;
3390
+ id: string;
3391
+ is_active: boolean;
3392
+ name: string;
3393
+ sort_order: number;
3394
+ updated_at: string;
3395
+ };
3396
+ Insert: {
3397
+ automation_type?: string;
3398
+ color?: string;
3399
+ created_at?: string;
3400
+ id?: string;
3401
+ is_active?: boolean;
3402
+ name: string;
3403
+ sort_order?: number;
3404
+ updated_at?: string;
3405
+ };
3406
+ Update: {
3407
+ automation_type?: string;
3408
+ color?: string;
3409
+ created_at?: string;
3410
+ id?: string;
3411
+ is_active?: boolean;
3412
+ name?: string;
3413
+ sort_order?: number;
3414
+ updated_at?: string;
3415
+ };
3416
+ Relationships: [];
3417
+ };
2059
3418
  product_categories: {
2060
3419
  Row: {
2061
3420
  color: string;
@@ -2242,15 +3601,183 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2242
3601
  };
2243
3602
  Relationships: [];
2244
3603
  };
2245
- purchase_order_items: {
3604
+ projects: {
2246
3605
  Row: {
3606
+ contact_name: string | null;
2247
3607
  created_at: string;
3608
+ email: string | null;
2248
3609
  id: string;
2249
- product_id: string | null;
2250
- product_type: string;
2251
- purchase_order_id: string;
2252
- quantity: number;
2253
- };
3610
+ name: string;
3611
+ notes: string | null;
3612
+ order_value: number;
3613
+ package_id: string | null;
3614
+ package_name: string | null;
3615
+ phone: string | null;
3616
+ prospect_id: string | null;
3617
+ status: string;
3618
+ updated_at: string;
3619
+ };
3620
+ Insert: {
3621
+ contact_name?: string | null;
3622
+ created_at?: string;
3623
+ email?: string | null;
3624
+ id?: string;
3625
+ name: string;
3626
+ notes?: string | null;
3627
+ order_value?: number;
3628
+ package_id?: string | null;
3629
+ package_name?: string | null;
3630
+ phone?: string | null;
3631
+ prospect_id?: string | null;
3632
+ status?: string;
3633
+ updated_at?: string;
3634
+ };
3635
+ Update: {
3636
+ contact_name?: string | null;
3637
+ created_at?: string;
3638
+ email?: string | null;
3639
+ id?: string;
3640
+ name?: string;
3641
+ notes?: string | null;
3642
+ order_value?: number;
3643
+ package_id?: string | null;
3644
+ package_name?: string | null;
3645
+ phone?: string | null;
3646
+ prospect_id?: string | null;
3647
+ status?: string;
3648
+ updated_at?: string;
3649
+ };
3650
+ Relationships: [{
3651
+ foreignKeyName: "projects_package_id_fkey";
3652
+ columns: ["package_id"];
3653
+ isOneToOne: false;
3654
+ referencedRelation: "packages";
3655
+ referencedColumns: ["id"];
3656
+ }, {
3657
+ foreignKeyName: "projects_prospect_id_fkey";
3658
+ columns: ["prospect_id"];
3659
+ isOneToOne: false;
3660
+ referencedRelation: "prospects";
3661
+ referencedColumns: ["id"];
3662
+ }];
3663
+ };
3664
+ prospect_field_settings: {
3665
+ Row: {
3666
+ created_at: string;
3667
+ field_key: string;
3668
+ field_type: string;
3669
+ id: string;
3670
+ label: string;
3671
+ required: boolean;
3672
+ sort_order: number;
3673
+ updated_at: string;
3674
+ visible: boolean;
3675
+ };
3676
+ Insert: {
3677
+ created_at?: string;
3678
+ field_key: string;
3679
+ field_type?: string;
3680
+ id?: string;
3681
+ label: string;
3682
+ required?: boolean;
3683
+ sort_order?: number;
3684
+ updated_at?: string;
3685
+ visible?: boolean;
3686
+ };
3687
+ Update: {
3688
+ created_at?: string;
3689
+ field_key?: string;
3690
+ field_type?: string;
3691
+ id?: string;
3692
+ label?: string;
3693
+ required?: boolean;
3694
+ sort_order?: number;
3695
+ updated_at?: string;
3696
+ visible?: boolean;
3697
+ };
3698
+ Relationships: [];
3699
+ };
3700
+ prospects: {
3701
+ Row: {
3702
+ address: string | null;
3703
+ company_name: string;
3704
+ contact_name: string | null;
3705
+ created_at: string;
3706
+ email: string | null;
3707
+ id: string;
3708
+ industry: string | null;
3709
+ notes: string | null;
3710
+ order_value: number;
3711
+ package_id: string | null;
3712
+ phone: string | null;
3713
+ source: string | null;
3714
+ stage_id: string | null;
3715
+ status: string;
3716
+ updated_at: string;
3717
+ value_mode: string;
3718
+ website: string | null;
3719
+ };
3720
+ Insert: {
3721
+ address?: string | null;
3722
+ company_name: string;
3723
+ contact_name?: string | null;
3724
+ created_at?: string;
3725
+ email?: string | null;
3726
+ id?: string;
3727
+ industry?: string | null;
3728
+ notes?: string | null;
3729
+ order_value?: number;
3730
+ package_id?: string | null;
3731
+ phone?: string | null;
3732
+ source?: string | null;
3733
+ stage_id?: string | null;
3734
+ status?: string;
3735
+ updated_at?: string;
3736
+ value_mode?: string;
3737
+ website?: string | null;
3738
+ };
3739
+ Update: {
3740
+ address?: string | null;
3741
+ company_name?: string;
3742
+ contact_name?: string | null;
3743
+ created_at?: string;
3744
+ email?: string | null;
3745
+ id?: string;
3746
+ industry?: string | null;
3747
+ notes?: string | null;
3748
+ order_value?: number;
3749
+ package_id?: string | null;
3750
+ phone?: string | null;
3751
+ source?: string | null;
3752
+ stage_id?: string | null;
3753
+ status?: string;
3754
+ updated_at?: string;
3755
+ value_mode?: string;
3756
+ website?: string | null;
3757
+ };
3758
+ Relationships: [{
3759
+ foreignKeyName: "prospects_package_id_fkey";
3760
+ columns: ["package_id"];
3761
+ isOneToOne: false;
3762
+ referencedRelation: "packages";
3763
+ referencedColumns: ["id"];
3764
+ }, {
3765
+ foreignKeyName: "prospects_stage_id_fkey";
3766
+ columns: ["stage_id"];
3767
+ isOneToOne: false;
3768
+ referencedRelation: "pipeline_stages";
3769
+ referencedColumns: ["id"];
3770
+ }];
3771
+ };
3772
+ purchase_order_items: {
3773
+ Row: {
3774
+ created_at: string;
3775
+ id: string;
3776
+ product_id: string | null;
3777
+ product_type: string;
3778
+ purchase_order_id: string;
3779
+ quantity: number;
3780
+ };
2254
3781
  Insert: {
2255
3782
  created_at?: string;
2256
3783
  id?: string;
@@ -2322,13 +3849,457 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2322
3849
  foreignKeyName: "purchase_orders_location_id_fkey";
2323
3850
  columns: ["location_id"];
2324
3851
  isOneToOne: false;
2325
- referencedRelation: "locations";
3852
+ referencedRelation: "locations";
3853
+ referencedColumns: ["id"];
3854
+ }, {
3855
+ foreignKeyName: "purchase_orders_supplier_id_fkey";
3856
+ columns: ["supplier_id"];
3857
+ isOneToOne: false;
3858
+ referencedRelation: "suppliers";
3859
+ referencedColumns: ["id"];
3860
+ }];
3861
+ };
3862
+ quote_activities: {
3863
+ Row: {
3864
+ created_at: string;
3865
+ event_type: string;
3866
+ id: string;
3867
+ metadata: import("./types").Json;
3868
+ quote_id: string;
3869
+ user_id: string | null;
3870
+ };
3871
+ Insert: {
3872
+ created_at?: string;
3873
+ event_type: string;
3874
+ id?: string;
3875
+ metadata?: import("./types").Json;
3876
+ quote_id: string;
3877
+ user_id?: string | null;
3878
+ };
3879
+ Update: {
3880
+ created_at?: string;
3881
+ event_type?: string;
3882
+ id?: string;
3883
+ metadata?: import("./types").Json;
3884
+ quote_id?: string;
3885
+ user_id?: string | null;
3886
+ };
3887
+ Relationships: [{
3888
+ foreignKeyName: "quote_activities_quote_id_fkey";
3889
+ columns: ["quote_id"];
3890
+ isOneToOne: false;
3891
+ referencedRelation: "quotes";
3892
+ referencedColumns: ["id"];
3893
+ }];
3894
+ };
3895
+ quote_attachments: {
3896
+ Row: {
3897
+ created_at: string;
3898
+ file_name: string;
3899
+ file_size: number | null;
3900
+ file_url: string;
3901
+ id: string;
3902
+ mime_type: string | null;
3903
+ quote_id: string;
3904
+ };
3905
+ Insert: {
3906
+ created_at?: string;
3907
+ file_name: string;
3908
+ file_size?: number | null;
3909
+ file_url: string;
3910
+ id?: string;
3911
+ mime_type?: string | null;
3912
+ quote_id: string;
3913
+ };
3914
+ Update: {
3915
+ created_at?: string;
3916
+ file_name?: string;
3917
+ file_size?: number | null;
3918
+ file_url?: string;
3919
+ id?: string;
3920
+ mime_type?: string | null;
3921
+ quote_id?: string;
3922
+ };
3923
+ Relationships: [{
3924
+ foreignKeyName: "quote_attachments_quote_id_fkey";
3925
+ columns: ["quote_id"];
3926
+ isOneToOne: false;
3927
+ referencedRelation: "quotes";
3928
+ referencedColumns: ["id"];
3929
+ }];
3930
+ };
3931
+ quote_field_options: {
3932
+ Row: {
3933
+ created_at: string;
3934
+ field_id: string;
3935
+ id: string;
3936
+ label: string;
3937
+ sort_order: number;
3938
+ value: string;
3939
+ };
3940
+ Insert: {
3941
+ created_at?: string;
3942
+ field_id: string;
3943
+ id?: string;
3944
+ label: string;
3945
+ sort_order?: number;
3946
+ value: string;
3947
+ };
3948
+ Update: {
3949
+ created_at?: string;
3950
+ field_id?: string;
3951
+ id?: string;
3952
+ label?: string;
3953
+ sort_order?: number;
3954
+ value?: string;
3955
+ };
3956
+ Relationships: [{
3957
+ foreignKeyName: "quote_field_options_field_id_fkey";
3958
+ columns: ["field_id"];
3959
+ isOneToOne: false;
3960
+ referencedRelation: "quote_field_settings";
3961
+ referencedColumns: ["id"];
3962
+ }];
3963
+ };
3964
+ quote_field_settings: {
3965
+ Row: {
3966
+ created_at: string;
3967
+ default_value: string | null;
3968
+ field_key: string;
3969
+ field_type: string;
3970
+ id: string;
3971
+ is_system: boolean;
3972
+ label: string;
3973
+ required: boolean;
3974
+ sort_order: number;
3975
+ updated_at: string;
3976
+ visible: boolean;
3977
+ };
3978
+ Insert: {
3979
+ created_at?: string;
3980
+ default_value?: string | null;
3981
+ field_key: string;
3982
+ field_type: string;
3983
+ id?: string;
3984
+ is_system?: boolean;
3985
+ label: string;
3986
+ required?: boolean;
3987
+ sort_order?: number;
3988
+ updated_at?: string;
3989
+ visible?: boolean;
3990
+ };
3991
+ Update: {
3992
+ created_at?: string;
3993
+ default_value?: string | null;
3994
+ field_key?: string;
3995
+ field_type?: string;
3996
+ id?: string;
3997
+ is_system?: boolean;
3998
+ label?: string;
3999
+ required?: boolean;
4000
+ sort_order?: number;
4001
+ updated_at?: string;
4002
+ visible?: boolean;
4003
+ };
4004
+ Relationships: [];
4005
+ };
4006
+ quote_items: {
4007
+ Row: {
4008
+ category: string | null;
4009
+ created_at: string;
4010
+ description: string;
4011
+ id: string;
4012
+ line_total: number;
4013
+ module_id: string | null;
4014
+ name: string | null;
4015
+ quantity: number;
4016
+ quote_id: string;
4017
+ sort_order: number;
4018
+ unit_price: number;
4019
+ };
4020
+ Insert: {
4021
+ category?: string | null;
4022
+ created_at?: string;
4023
+ description?: string;
4024
+ id?: string;
4025
+ line_total?: number;
4026
+ module_id?: string | null;
4027
+ name?: string | null;
4028
+ quantity?: number;
4029
+ quote_id: string;
4030
+ sort_order?: number;
4031
+ unit_price?: number;
4032
+ };
4033
+ Update: {
4034
+ category?: string | null;
4035
+ created_at?: string;
4036
+ description?: string;
4037
+ id?: string;
4038
+ line_total?: number;
4039
+ module_id?: string | null;
4040
+ name?: string | null;
4041
+ quantity?: number;
4042
+ quote_id?: string;
4043
+ sort_order?: number;
4044
+ unit_price?: number;
4045
+ };
4046
+ Relationships: [{
4047
+ foreignKeyName: "quote_items_module_id_fkey";
4048
+ columns: ["module_id"];
4049
+ isOneToOne: false;
4050
+ referencedRelation: "quote_modules";
4051
+ referencedColumns: ["id"];
4052
+ }, {
4053
+ foreignKeyName: "quote_items_quote_id_fkey";
4054
+ columns: ["quote_id"];
4055
+ isOneToOne: false;
4056
+ referencedRelation: "quotes";
4057
+ referencedColumns: ["id"];
4058
+ }];
4059
+ };
4060
+ quote_modules: {
4061
+ Row: {
4062
+ category: string | null;
4063
+ created_at: string;
4064
+ description: string | null;
4065
+ id: string;
4066
+ is_active: boolean;
4067
+ name: string;
4068
+ price: number;
4069
+ sort_order: number;
4070
+ updated_at: string;
4071
+ };
4072
+ Insert: {
4073
+ category?: string | null;
4074
+ created_at?: string;
4075
+ description?: string | null;
4076
+ id?: string;
4077
+ is_active?: boolean;
4078
+ name: string;
4079
+ price?: number;
4080
+ sort_order?: number;
4081
+ updated_at?: string;
4082
+ };
4083
+ Update: {
4084
+ category?: string | null;
4085
+ created_at?: string;
4086
+ description?: string | null;
4087
+ id?: string;
4088
+ is_active?: boolean;
4089
+ name?: string;
4090
+ price?: number;
4091
+ sort_order?: number;
4092
+ updated_at?: string;
4093
+ };
4094
+ Relationships: [];
4095
+ };
4096
+ quote_templates: {
4097
+ Row: {
4098
+ created_at: string;
4099
+ description: string | null;
4100
+ field_values: import("./types").Json;
4101
+ id: string;
4102
+ is_default: boolean;
4103
+ items: import("./types").Json;
4104
+ name: string;
4105
+ updated_at: string;
4106
+ vat_rate: number;
4107
+ };
4108
+ Insert: {
4109
+ created_at?: string;
4110
+ description?: string | null;
4111
+ field_values?: import("./types").Json;
4112
+ id?: string;
4113
+ is_default?: boolean;
4114
+ items?: import("./types").Json;
4115
+ name: string;
4116
+ updated_at?: string;
4117
+ vat_rate?: number;
4118
+ };
4119
+ Update: {
4120
+ created_at?: string;
4121
+ description?: string | null;
4122
+ field_values?: import("./types").Json;
4123
+ id?: string;
4124
+ is_default?: boolean;
4125
+ items?: import("./types").Json;
4126
+ name?: string;
4127
+ updated_at?: string;
4128
+ vat_rate?: number;
4129
+ };
4130
+ Relationships: [];
4131
+ };
4132
+ quote_terms: {
4133
+ Row: {
4134
+ content: string | null;
4135
+ created_at: string;
4136
+ file_url: string | null;
4137
+ id: string;
4138
+ is_active: boolean;
4139
+ name: string;
4140
+ published_at: string | null;
4141
+ updated_at: string;
4142
+ version: string;
4143
+ };
4144
+ Insert: {
4145
+ content?: string | null;
4146
+ created_at?: string;
4147
+ file_url?: string | null;
4148
+ id?: string;
4149
+ is_active?: boolean;
4150
+ name: string;
4151
+ published_at?: string | null;
4152
+ updated_at?: string;
4153
+ version?: string;
4154
+ };
4155
+ Update: {
4156
+ content?: string | null;
4157
+ created_at?: string;
4158
+ file_url?: string | null;
4159
+ id?: string;
4160
+ is_active?: boolean;
4161
+ name?: string;
4162
+ published_at?: string | null;
4163
+ updated_at?: string;
4164
+ version?: string;
4165
+ };
4166
+ Relationships: [];
4167
+ };
4168
+ quotes: {
4169
+ Row: {
4170
+ accepted_at: string | null;
4171
+ archived_at: string | null;
4172
+ contact_id: string | null;
4173
+ created_at: string;
4174
+ customer_id: string | null;
4175
+ discount: number;
4176
+ expires_at: string | null;
4177
+ field_values: import("./types").Json;
4178
+ id: string;
4179
+ notes: string | null;
4180
+ owner_id: string | null;
4181
+ personal_message: string | null;
4182
+ project_id: string | null;
4183
+ prospect_id: string | null;
4184
+ public_token: string;
4185
+ quote_number: string | null;
4186
+ recipient_email: string | null;
4187
+ recipient_name: string | null;
4188
+ rejected_at: string | null;
4189
+ sent_at: string | null;
4190
+ status: string;
4191
+ subtotal: number;
4192
+ template_id: string | null;
4193
+ terms_id: string | null;
4194
+ title: string;
4195
+ total: number;
4196
+ updated_at: string;
4197
+ valid_until: string | null;
4198
+ vat_amount: number;
4199
+ vat_rate: number;
4200
+ viewed_at: string | null;
4201
+ };
4202
+ Insert: {
4203
+ accepted_at?: string | null;
4204
+ archived_at?: string | null;
4205
+ contact_id?: string | null;
4206
+ created_at?: string;
4207
+ customer_id?: string | null;
4208
+ discount?: number;
4209
+ expires_at?: string | null;
4210
+ field_values?: import("./types").Json;
4211
+ id?: string;
4212
+ notes?: string | null;
4213
+ owner_id?: string | null;
4214
+ personal_message?: string | null;
4215
+ project_id?: string | null;
4216
+ prospect_id?: string | null;
4217
+ public_token?: string;
4218
+ quote_number?: string | null;
4219
+ recipient_email?: string | null;
4220
+ recipient_name?: string | null;
4221
+ rejected_at?: string | null;
4222
+ sent_at?: string | null;
4223
+ status?: string;
4224
+ subtotal?: number;
4225
+ template_id?: string | null;
4226
+ terms_id?: string | null;
4227
+ title?: string;
4228
+ total?: number;
4229
+ updated_at?: string;
4230
+ valid_until?: string | null;
4231
+ vat_amount?: number;
4232
+ vat_rate?: number;
4233
+ viewed_at?: string | null;
4234
+ };
4235
+ Update: {
4236
+ accepted_at?: string | null;
4237
+ archived_at?: string | null;
4238
+ contact_id?: string | null;
4239
+ created_at?: string;
4240
+ customer_id?: string | null;
4241
+ discount?: number;
4242
+ expires_at?: string | null;
4243
+ field_values?: import("./types").Json;
4244
+ id?: string;
4245
+ notes?: string | null;
4246
+ owner_id?: string | null;
4247
+ personal_message?: string | null;
4248
+ project_id?: string | null;
4249
+ prospect_id?: string | null;
4250
+ public_token?: string;
4251
+ quote_number?: string | null;
4252
+ recipient_email?: string | null;
4253
+ recipient_name?: string | null;
4254
+ rejected_at?: string | null;
4255
+ sent_at?: string | null;
4256
+ status?: string;
4257
+ subtotal?: number;
4258
+ template_id?: string | null;
4259
+ terms_id?: string | null;
4260
+ title?: string;
4261
+ total?: number;
4262
+ updated_at?: string;
4263
+ valid_until?: string | null;
4264
+ vat_amount?: number;
4265
+ vat_rate?: number;
4266
+ viewed_at?: string | null;
4267
+ };
4268
+ Relationships: [{
4269
+ foreignKeyName: "quotes_contact_id_fkey";
4270
+ columns: ["contact_id"];
4271
+ isOneToOne: false;
4272
+ referencedRelation: "customer_contacts";
4273
+ referencedColumns: ["id"];
4274
+ }, {
4275
+ foreignKeyName: "quotes_customer_id_fkey";
4276
+ columns: ["customer_id"];
4277
+ isOneToOne: false;
4278
+ referencedRelation: "customers";
4279
+ referencedColumns: ["id"];
4280
+ }, {
4281
+ foreignKeyName: "quotes_project_id_fkey";
4282
+ columns: ["project_id"];
4283
+ isOneToOne: false;
4284
+ referencedRelation: "projects";
4285
+ referencedColumns: ["id"];
4286
+ }, {
4287
+ foreignKeyName: "quotes_prospect_id_fkey";
4288
+ columns: ["prospect_id"];
4289
+ isOneToOne: false;
4290
+ referencedRelation: "prospects";
4291
+ referencedColumns: ["id"];
4292
+ }, {
4293
+ foreignKeyName: "quotes_template_id_fkey";
4294
+ columns: ["template_id"];
4295
+ isOneToOne: false;
4296
+ referencedRelation: "quote_templates";
2326
4297
  referencedColumns: ["id"];
2327
4298
  }, {
2328
- foreignKeyName: "purchase_orders_supplier_id_fkey";
2329
- columns: ["supplier_id"];
4299
+ foreignKeyName: "quotes_terms_id_fkey";
4300
+ columns: ["terms_id"];
2330
4301
  isOneToOne: false;
2331
- referencedRelation: "suppliers";
4302
+ referencedRelation: "quote_terms";
2332
4303
  referencedColumns: ["id"];
2333
4304
  }];
2334
4305
  };
@@ -2452,6 +4423,318 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2452
4423
  };
2453
4424
  Relationships: [];
2454
4425
  };
4426
+ twinfield_credentials: {
4427
+ Row: {
4428
+ administration_code: string | null;
4429
+ client_id: string | null;
4430
+ client_secret: string | null;
4431
+ cluster: string | null;
4432
+ connected_at: string | null;
4433
+ created_at: string;
4434
+ environment: string | null;
4435
+ id: string;
4436
+ redirect_uri: string | null;
4437
+ refresh_token: string | null;
4438
+ updated_at: string;
4439
+ user_id: string;
4440
+ };
4441
+ Insert: {
4442
+ administration_code?: string | null;
4443
+ client_id?: string | null;
4444
+ client_secret?: string | null;
4445
+ cluster?: string | null;
4446
+ connected_at?: string | null;
4447
+ created_at?: string;
4448
+ environment?: string | null;
4449
+ id?: string;
4450
+ redirect_uri?: string | null;
4451
+ refresh_token?: string | null;
4452
+ updated_at?: string;
4453
+ user_id: string;
4454
+ };
4455
+ Update: {
4456
+ administration_code?: string | null;
4457
+ client_id?: string | null;
4458
+ client_secret?: string | null;
4459
+ cluster?: string | null;
4460
+ connected_at?: string | null;
4461
+ created_at?: string;
4462
+ environment?: string | null;
4463
+ id?: string;
4464
+ redirect_uri?: string | null;
4465
+ refresh_token?: string | null;
4466
+ updated_at?: string;
4467
+ user_id?: string;
4468
+ };
4469
+ Relationships: [];
4470
+ };
4471
+ twinfield_customers: {
4472
+ Row: {
4473
+ address: string | null;
4474
+ city: string | null;
4475
+ country: string | null;
4476
+ created_at: string;
4477
+ email: string | null;
4478
+ id: string;
4479
+ last_synced_at: string | null;
4480
+ name: string;
4481
+ phone: string | null;
4482
+ postal_code: string | null;
4483
+ status: string;
4484
+ sync_error: string | null;
4485
+ sync_status: string;
4486
+ twinfield_code: string | null;
4487
+ updated_at: string;
4488
+ user_id: string;
4489
+ };
4490
+ Insert: {
4491
+ address?: string | null;
4492
+ city?: string | null;
4493
+ country?: string | null;
4494
+ created_at?: string;
4495
+ email?: string | null;
4496
+ id?: string;
4497
+ last_synced_at?: string | null;
4498
+ name: string;
4499
+ phone?: string | null;
4500
+ postal_code?: string | null;
4501
+ status?: string;
4502
+ sync_error?: string | null;
4503
+ sync_status?: string;
4504
+ twinfield_code?: string | null;
4505
+ updated_at?: string;
4506
+ user_id: string;
4507
+ };
4508
+ Update: {
4509
+ address?: string | null;
4510
+ city?: string | null;
4511
+ country?: string | null;
4512
+ created_at?: string;
4513
+ email?: string | null;
4514
+ id?: string;
4515
+ last_synced_at?: string | null;
4516
+ name?: string;
4517
+ phone?: string | null;
4518
+ postal_code?: string | null;
4519
+ status?: string;
4520
+ sync_error?: string | null;
4521
+ sync_status?: string;
4522
+ twinfield_code?: string | null;
4523
+ updated_at?: string;
4524
+ user_id?: string;
4525
+ };
4526
+ Relationships: [];
4527
+ };
4528
+ twinfield_invoice_lines: {
4529
+ Row: {
4530
+ article_code: string | null;
4531
+ created_at: string;
4532
+ description: string | null;
4533
+ gl_account: string | null;
4534
+ id: string;
4535
+ invoice_id: string;
4536
+ line_number: number | null;
4537
+ line_total: number;
4538
+ quantity: number;
4539
+ unit_price: number;
4540
+ user_id: string;
4541
+ vat_code: string | null;
4542
+ vat_rate: number;
4543
+ };
4544
+ Insert: {
4545
+ article_code?: string | null;
4546
+ created_at?: string;
4547
+ description?: string | null;
4548
+ gl_account?: string | null;
4549
+ id?: string;
4550
+ invoice_id: string;
4551
+ line_number?: number | null;
4552
+ line_total?: number;
4553
+ quantity?: number;
4554
+ unit_price?: number;
4555
+ user_id: string;
4556
+ vat_code?: string | null;
4557
+ vat_rate?: number;
4558
+ };
4559
+ Update: {
4560
+ article_code?: string | null;
4561
+ created_at?: string;
4562
+ description?: string | null;
4563
+ gl_account?: string | null;
4564
+ id?: string;
4565
+ invoice_id?: string;
4566
+ line_number?: number | null;
4567
+ line_total?: number;
4568
+ quantity?: number;
4569
+ unit_price?: number;
4570
+ user_id?: string;
4571
+ vat_code?: string | null;
4572
+ vat_rate?: number;
4573
+ };
4574
+ Relationships: [{
4575
+ foreignKeyName: "twinfield_invoice_lines_invoice_id_fkey";
4576
+ columns: ["invoice_id"];
4577
+ isOneToOne: false;
4578
+ referencedRelation: "twinfield_invoices";
4579
+ referencedColumns: ["id"];
4580
+ }];
4581
+ };
4582
+ twinfield_invoice_settings: {
4583
+ Row: {
4584
+ created_at: string;
4585
+ default_gl_account: string;
4586
+ default_invoice_type: string;
4587
+ default_payment_term_days: number;
4588
+ default_vat_code: string;
4589
+ updated_at: string;
4590
+ user_id: string;
4591
+ };
4592
+ Insert: {
4593
+ created_at?: string;
4594
+ default_gl_account?: string;
4595
+ default_invoice_type?: string;
4596
+ default_payment_term_days?: number;
4597
+ default_vat_code?: string;
4598
+ updated_at?: string;
4599
+ user_id: string;
4600
+ };
4601
+ Update: {
4602
+ created_at?: string;
4603
+ default_gl_account?: string;
4604
+ default_invoice_type?: string;
4605
+ default_payment_term_days?: number;
4606
+ default_vat_code?: string;
4607
+ updated_at?: string;
4608
+ user_id?: string;
4609
+ };
4610
+ Relationships: [];
4611
+ };
4612
+ twinfield_invoice_sync_logs: {
4613
+ Row: {
4614
+ created_at: string;
4615
+ details: import("./types").Json | null;
4616
+ duration_ms: number | null;
4617
+ id: string;
4618
+ invoice_lines_fetched: number | null;
4619
+ invoices_fetched: number | null;
4620
+ message: string | null;
4621
+ status: string;
4622
+ step: string | null;
4623
+ user_id: string;
4624
+ };
4625
+ Insert: {
4626
+ created_at?: string;
4627
+ details?: import("./types").Json | null;
4628
+ duration_ms?: number | null;
4629
+ id?: string;
4630
+ invoice_lines_fetched?: number | null;
4631
+ invoices_fetched?: number | null;
4632
+ message?: string | null;
4633
+ status: string;
4634
+ step?: string | null;
4635
+ user_id: string;
4636
+ };
4637
+ Update: {
4638
+ created_at?: string;
4639
+ details?: import("./types").Json | null;
4640
+ duration_ms?: number | null;
4641
+ id?: string;
4642
+ invoice_lines_fetched?: number | null;
4643
+ invoices_fetched?: number | null;
4644
+ message?: string | null;
4645
+ status?: string;
4646
+ step?: string | null;
4647
+ user_id?: string;
4648
+ };
4649
+ Relationships: [];
4650
+ };
4651
+ twinfield_invoices: {
4652
+ Row: {
4653
+ administration_code: string | null;
4654
+ created_at: string;
4655
+ currency: string | null;
4656
+ customer_code: string | null;
4657
+ customer_email: string | null;
4658
+ customer_name: string | null;
4659
+ customer_phone: string | null;
4660
+ due_date: string | null;
4661
+ id: string;
4662
+ invoice_date: string | null;
4663
+ last_synced_at: string;
4664
+ local_invoice_number: string | null;
4665
+ outstanding_amount: number;
4666
+ paid_amount: number;
4667
+ payment_date: string | null;
4668
+ raw_payload: import("./types").Json | null;
4669
+ status: string;
4670
+ subtotal: number;
4671
+ sync_error: string | null;
4672
+ sync_status: string;
4673
+ total: number;
4674
+ twinfield_invoice_number: string;
4675
+ twinfield_transaction_number: string | null;
4676
+ updated_at: string;
4677
+ user_id: string;
4678
+ vat_amount: number;
4679
+ };
4680
+ Insert: {
4681
+ administration_code?: string | null;
4682
+ created_at?: string;
4683
+ currency?: string | null;
4684
+ customer_code?: string | null;
4685
+ customer_email?: string | null;
4686
+ customer_name?: string | null;
4687
+ customer_phone?: string | null;
4688
+ due_date?: string | null;
4689
+ id?: string;
4690
+ invoice_date?: string | null;
4691
+ last_synced_at?: string;
4692
+ local_invoice_number?: string | null;
4693
+ outstanding_amount?: number;
4694
+ paid_amount?: number;
4695
+ payment_date?: string | null;
4696
+ raw_payload?: import("./types").Json | null;
4697
+ status?: string;
4698
+ subtotal?: number;
4699
+ sync_error?: string | null;
4700
+ sync_status?: string;
4701
+ total?: number;
4702
+ twinfield_invoice_number: string;
4703
+ twinfield_transaction_number?: string | null;
4704
+ updated_at?: string;
4705
+ user_id: string;
4706
+ vat_amount?: number;
4707
+ };
4708
+ Update: {
4709
+ administration_code?: string | null;
4710
+ created_at?: string;
4711
+ currency?: string | null;
4712
+ customer_code?: string | null;
4713
+ customer_email?: string | null;
4714
+ customer_name?: string | null;
4715
+ customer_phone?: string | null;
4716
+ due_date?: string | null;
4717
+ id?: string;
4718
+ invoice_date?: string | null;
4719
+ last_synced_at?: string;
4720
+ local_invoice_number?: string | null;
4721
+ outstanding_amount?: number;
4722
+ paid_amount?: number;
4723
+ payment_date?: string | null;
4724
+ raw_payload?: import("./types").Json | null;
4725
+ status?: string;
4726
+ subtotal?: number;
4727
+ sync_error?: string | null;
4728
+ sync_status?: string;
4729
+ total?: number;
4730
+ twinfield_invoice_number?: string;
4731
+ twinfield_transaction_number?: string | null;
4732
+ updated_at?: string;
4733
+ user_id?: string;
4734
+ vat_amount?: number;
4735
+ };
4736
+ Relationships: [];
4737
+ };
2455
4738
  user_roles: {
2456
4739
  Row: {
2457
4740
  created_at: string;
@@ -2480,7 +4763,101 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2480
4763
  }];
2481
4764
  };
2482
4765
  };
2483
- Views: { [_ in never]: never; };
4766
+ Views: {
4767
+ email_auth_connections_safe: {
4768
+ Row: {
4769
+ account_email: string | null;
4770
+ created_at: string | null;
4771
+ created_by: string | null;
4772
+ display_name: string | null;
4773
+ has_access_token: boolean | null;
4774
+ has_client_id: boolean | null;
4775
+ has_client_secret: boolean | null;
4776
+ has_imap_password: boolean | null;
4777
+ has_refresh_token: boolean | null;
4778
+ has_smtp_password: boolean | null;
4779
+ id: string | null;
4780
+ imap_host: string | null;
4781
+ imap_port: number | null;
4782
+ imap_secure: boolean | null;
4783
+ imap_username: string | null;
4784
+ is_active: boolean | null;
4785
+ last_error: string | null;
4786
+ last_verified_at: string | null;
4787
+ oauth_mode: string | null;
4788
+ provider: string | null;
4789
+ scopes: string[] | null;
4790
+ smtp_host: string | null;
4791
+ smtp_port: number | null;
4792
+ smtp_secure: boolean | null;
4793
+ smtp_username: string | null;
4794
+ status: string | null;
4795
+ token_expires_at: string | null;
4796
+ updated_at: string | null;
4797
+ };
4798
+ Insert: {
4799
+ account_email?: string | null;
4800
+ created_at?: string | null;
4801
+ created_by?: string | null;
4802
+ display_name?: string | null;
4803
+ has_access_token?: never;
4804
+ has_client_id?: never;
4805
+ has_client_secret?: never;
4806
+ has_imap_password?: never;
4807
+ has_refresh_token?: never;
4808
+ has_smtp_password?: never;
4809
+ id?: string | null;
4810
+ imap_host?: string | null;
4811
+ imap_port?: number | null;
4812
+ imap_secure?: boolean | null;
4813
+ imap_username?: string | null;
4814
+ is_active?: boolean | null;
4815
+ last_error?: string | null;
4816
+ last_verified_at?: string | null;
4817
+ oauth_mode?: string | null;
4818
+ provider?: string | null;
4819
+ scopes?: string[] | null;
4820
+ smtp_host?: string | null;
4821
+ smtp_port?: number | null;
4822
+ smtp_secure?: boolean | null;
4823
+ smtp_username?: string | null;
4824
+ status?: string | null;
4825
+ token_expires_at?: string | null;
4826
+ updated_at?: string | null;
4827
+ };
4828
+ Update: {
4829
+ account_email?: string | null;
4830
+ created_at?: string | null;
4831
+ created_by?: string | null;
4832
+ display_name?: string | null;
4833
+ has_access_token?: never;
4834
+ has_client_id?: never;
4835
+ has_client_secret?: never;
4836
+ has_imap_password?: never;
4837
+ has_refresh_token?: never;
4838
+ has_smtp_password?: never;
4839
+ id?: string | null;
4840
+ imap_host?: string | null;
4841
+ imap_port?: number | null;
4842
+ imap_secure?: boolean | null;
4843
+ imap_username?: string | null;
4844
+ is_active?: boolean | null;
4845
+ last_error?: string | null;
4846
+ last_verified_at?: string | null;
4847
+ oauth_mode?: string | null;
4848
+ provider?: string | null;
4849
+ scopes?: string[] | null;
4850
+ smtp_host?: string | null;
4851
+ smtp_port?: number | null;
4852
+ smtp_secure?: boolean | null;
4853
+ smtp_username?: string | null;
4854
+ status?: string | null;
4855
+ token_expires_at?: string | null;
4856
+ updated_at?: string | null;
4857
+ };
4858
+ Relationships: [];
4859
+ };
4860
+ };
2484
4861
  Functions: {
2485
4862
  dashboard_list_public_schema: {
2486
4863
  Args: never;
@@ -2490,6 +4867,18 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2490
4867
  table_name: string;
2491
4868
  }[];
2492
4869
  };
4870
+ email_auth_decrypt: {
4871
+ Args: {
4872
+ cipher: string;
4873
+ };
4874
+ Returns: string;
4875
+ };
4876
+ email_auth_encrypt: {
4877
+ Args: {
4878
+ plain: string;
4879
+ };
4880
+ Returns: string;
4881
+ };
2493
4882
  exact_decrypt: {
2494
4883
  Args: {
2495
4884
  cipher: string;
@@ -2502,6 +4891,49 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2502
4891
  };
2503
4892
  Returns: string;
2504
4893
  };
4894
+ exact_lock_environment: {
4895
+ Args: {
4896
+ _environment: string;
4897
+ };
4898
+ Returns: undefined;
4899
+ };
4900
+ exact_release_refresh_lock: {
4901
+ Args: {
4902
+ _environment: Database["public"]["Enums"]["exact_env"];
4903
+ _locked_by: string;
4904
+ };
4905
+ Returns: undefined;
4906
+ };
4907
+ exact_try_acquire_refresh_lock: {
4908
+ Args: {
4909
+ _environment: Database["public"]["Enums"]["exact_env"];
4910
+ _lease_seconds?: number;
4911
+ _locked_by?: string;
4912
+ };
4913
+ Returns: boolean;
4914
+ };
4915
+ get_active_floriday_connection_public: {
4916
+ Args: never;
4917
+ Returns: {
4918
+ active_environment: string;
4919
+ environment: string;
4920
+ gln_code: string;
4921
+ id: string;
4922
+ label: string;
4923
+ organization_name: string;
4924
+ preferred_warehouse_id: string;
4925
+ preferred_warehouse_name: string;
4926
+ }[];
4927
+ };
4928
+ get_floriday_cron_jobs: {
4929
+ Args: never;
4930
+ Returns: {
4931
+ active: boolean;
4932
+ jobname: string;
4933
+ schedule: string;
4934
+ url: string;
4935
+ }[];
4936
+ };
2505
4937
  get_offer_by_link_code: {
2506
4938
  Args: {
2507
4939
  p_code: string;
@@ -2515,6 +4947,20 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2515
4947
  };
2516
4948
  Returns: boolean;
2517
4949
  };
4950
+ schedule_floriday_connections_sync: {
4951
+ Args: {
4952
+ p_apikey: string;
4953
+ p_url: string;
4954
+ };
4955
+ Returns: number;
4956
+ };
4957
+ schedule_floriday_customer_organizations_sync: {
4958
+ Args: {
4959
+ p_apikey: string;
4960
+ p_url: string;
4961
+ };
4962
+ Returns: number;
4963
+ };
2518
4964
  schedule_floriday_network_sync: {
2519
4965
  Args: {
2520
4966
  p_apikey: string;
@@ -2522,6 +4968,13 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2522
4968
  };
2523
4969
  Returns: number;
2524
4970
  };
4971
+ schedule_floriday_salesorders_sync: {
4972
+ Args: {
4973
+ p_apikey: string;
4974
+ p_url: string;
4975
+ };
4976
+ Returns: number;
4977
+ };
2525
4978
  schedule_floriday_token_refresh: {
2526
4979
  Args: {
2527
4980
  p_apikey: string;
@@ -2529,6 +4982,13 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2529
4982
  };
2530
4983
  Returns: number;
2531
4984
  };
4985
+ schedule_floriday_trade_items_sync: {
4986
+ Args: {
4987
+ p_apikey: string;
4988
+ p_url: string;
4989
+ };
4990
+ Returns: number;
4991
+ };
2532
4992
  show_limit: {
2533
4993
  Args: never;
2534
4994
  Returns: number;
@@ -2543,6 +5003,7 @@ export declare const supabaseAdmin: import("@supabase/supabase-js").SupabaseClie
2543
5003
  Enums: {
2544
5004
  app_role: "admin" | "manager" | "warehouse" | "sales" | "developer";
2545
5005
  exact_env: "staging" | "live";
5006
+ quote_status: "concept" | "verzonden" | "bekeken" | "in_behandeling" | "geaccepteerd" | "afgewezen" | "verlopen" | "gearchiveerd";
2546
5007
  };
2547
5008
  CompositeTypes: { [_ in never]: never; };
2548
5009
  }, {