@voyantjs/suppliers 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1755 @@
1
+ import type { InsertAddressForEntity, InsertContactPointForEntity, InsertNamedContactForEntity, UpdateAddress as UpdateIdentityAddress, UpdateContactPoint as UpdateIdentityContactPoint, UpdateNamedContact as UpdateIdentityNamedContact } from "@voyantjs/identity/validation";
2
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
3
+ import type { z } from "zod";
4
+ import type { Supplier } from "./schema.js";
5
+ import type { availabilityQuerySchema, insertAvailabilitySchema, insertContractSchema, insertRateSchema, insertServiceSchema, insertSupplierNoteSchema, insertSupplierSchema, supplierListQuerySchema, updateContractSchema, updateRateSchema, updateServiceSchema, updateSupplierSchema } from "./validation.js";
6
+ type SupplierListQuery = z.infer<typeof supplierListQuerySchema>;
7
+ type AvailabilityQuery = z.infer<typeof availabilityQuerySchema>;
8
+ type CreateSupplierInput = z.infer<typeof insertSupplierSchema>;
9
+ type UpdateSupplierInput = z.infer<typeof updateSupplierSchema>;
10
+ type CreateServiceInput = z.infer<typeof insertServiceSchema>;
11
+ type UpdateServiceInput = z.infer<typeof updateServiceSchema>;
12
+ type CreateRateInput = z.infer<typeof insertRateSchema>;
13
+ type UpdateRateInput = z.infer<typeof updateRateSchema>;
14
+ type CreateSupplierNoteInput = z.infer<typeof insertSupplierNoteSchema>;
15
+ type CreateAvailabilityInput = z.infer<typeof insertAvailabilitySchema>;
16
+ type CreateContractInput = z.infer<typeof insertContractSchema>;
17
+ type UpdateContractInput = z.infer<typeof updateContractSchema>;
18
+ type SupplierHydratedFields = {
19
+ email: string | null;
20
+ phone: string | null;
21
+ website: string | null;
22
+ address: string | null;
23
+ city: string | null;
24
+ country: string | null;
25
+ contactName: string | null;
26
+ contactEmail: string | null;
27
+ contactPhone: string | null;
28
+ };
29
+ type HydratedSupplier = Supplier & SupplierHydratedFields;
30
+ export declare const suppliersService: {
31
+ listSuppliers(db: PostgresJsDatabase, query: SupplierListQuery): Promise<{
32
+ data: ({
33
+ id: string;
34
+ name: string;
35
+ type: "other" | "hotel" | "restaurant" | "transfer" | "guide" | "experience" | "airline";
36
+ status: "active" | "inactive" | "pending";
37
+ description: string | null;
38
+ defaultCurrency: string | null;
39
+ paymentTermsDays: number | null;
40
+ primaryFacilityId: string | null;
41
+ tags: string[] | null;
42
+ createdAt: Date;
43
+ updatedAt: Date;
44
+ } & SupplierHydratedFields)[];
45
+ total: number;
46
+ limit: number;
47
+ offset: number;
48
+ }>;
49
+ getSupplierById(db: PostgresJsDatabase, id: string): Promise<HydratedSupplier | null>;
50
+ createSupplier(db: PostgresJsDatabase, data: CreateSupplierInput): Promise<{
51
+ email: string | null;
52
+ phone: string | null;
53
+ website: string | null;
54
+ address: string | null;
55
+ city: string | null;
56
+ country: string | null;
57
+ contactName: string | null;
58
+ contactEmail: string | null;
59
+ contactPhone: string | null;
60
+ name: string;
61
+ type: "other" | "hotel" | "restaurant" | "transfer" | "guide" | "experience" | "airline";
62
+ id: string;
63
+ createdAt: Date;
64
+ updatedAt: Date;
65
+ description: string | null;
66
+ status: "active" | "inactive" | "pending";
67
+ tags: string[] | null;
68
+ defaultCurrency: string | null;
69
+ paymentTermsDays: number | null;
70
+ primaryFacilityId: string | null;
71
+ }>;
72
+ updateSupplier(db: PostgresJsDatabase, id: string, data: UpdateSupplierInput): Promise<{
73
+ email: string | null;
74
+ phone: string | null;
75
+ website: string | null;
76
+ address: string | null;
77
+ city: string | null;
78
+ country: string | null;
79
+ contactName: string | null;
80
+ contactEmail: string | null;
81
+ contactPhone: string | null;
82
+ id: string;
83
+ name: string;
84
+ type: "other" | "hotel" | "restaurant" | "transfer" | "guide" | "experience" | "airline";
85
+ status: "active" | "inactive" | "pending";
86
+ description: string | null;
87
+ defaultCurrency: string | null;
88
+ paymentTermsDays: number | null;
89
+ primaryFacilityId: string | null;
90
+ tags: string[] | null;
91
+ createdAt: Date;
92
+ updatedAt: Date;
93
+ } | null>;
94
+ deleteSupplier(db: PostgresJsDatabase, id: string): Promise<{
95
+ id: string;
96
+ } | null>;
97
+ listContactPoints(db: PostgresJsDatabase, supplierId: string): Promise<{
98
+ id: string;
99
+ entityType: string;
100
+ entityId: string;
101
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
102
+ label: string | null;
103
+ value: string;
104
+ normalizedValue: string | null;
105
+ isPrimary: boolean;
106
+ notes: string | null;
107
+ metadata: Record<string, unknown> | null;
108
+ createdAt: Date;
109
+ updatedAt: Date;
110
+ }[]>;
111
+ listNamedContacts(db: PostgresJsDatabase, supplierId: string): Promise<{
112
+ id: string;
113
+ entityType: string;
114
+ entityId: string;
115
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
116
+ name: string;
117
+ title: string | null;
118
+ email: string | null;
119
+ phone: string | null;
120
+ isPrimary: boolean;
121
+ notes: string | null;
122
+ metadata: Record<string, unknown> | null;
123
+ createdAt: Date;
124
+ updatedAt: Date;
125
+ }[]>;
126
+ createNamedContact(db: PostgresJsDatabase, supplierId: string, data: InsertNamedContactForEntity): Promise<{
127
+ name: string;
128
+ email: string | null;
129
+ phone: string | null;
130
+ entityType: string;
131
+ entityId: string;
132
+ isPrimary: boolean;
133
+ notes: string | null;
134
+ metadata: Record<string, unknown> | null;
135
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
136
+ title: string | null;
137
+ id: string;
138
+ createdAt: Date;
139
+ updatedAt: Date;
140
+ } | null>;
141
+ updateNamedContact(db: PostgresJsDatabase, contactId: string, data: UpdateIdentityNamedContact): Promise<{
142
+ id: string;
143
+ entityType: string;
144
+ entityId: string;
145
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
146
+ name: string;
147
+ title: string | null;
148
+ email: string | null;
149
+ phone: string | null;
150
+ isPrimary: boolean;
151
+ notes: string | null;
152
+ metadata: Record<string, unknown> | null;
153
+ createdAt: Date;
154
+ updatedAt: Date;
155
+ } | null>;
156
+ deleteNamedContact(db: PostgresJsDatabase, contactId: string): Promise<{
157
+ id: string;
158
+ } | null>;
159
+ createContactPoint(db: PostgresJsDatabase, supplierId: string, data: InsertContactPointForEntity): Promise<{
160
+ value: string;
161
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
162
+ entityType: string;
163
+ entityId: string;
164
+ label: string | null;
165
+ normalizedValue: string | null;
166
+ isPrimary: boolean;
167
+ notes: string | null;
168
+ metadata: Record<string, unknown> | null;
169
+ id: string;
170
+ createdAt: Date;
171
+ updatedAt: Date;
172
+ } | null>;
173
+ updateContactPoint(db: PostgresJsDatabase, contactPointId: string, data: UpdateIdentityContactPoint): Promise<{
174
+ id: string;
175
+ entityType: string;
176
+ entityId: string;
177
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
178
+ label: string | null;
179
+ value: string;
180
+ normalizedValue: string | null;
181
+ isPrimary: boolean;
182
+ notes: string | null;
183
+ metadata: Record<string, unknown> | null;
184
+ createdAt: Date;
185
+ updatedAt: Date;
186
+ } | null>;
187
+ deleteContactPoint(db: PostgresJsDatabase, contactPointId: string): Promise<{
188
+ id: string;
189
+ } | null>;
190
+ listAddresses(db: PostgresJsDatabase, supplierId: string): Promise<{
191
+ id: string;
192
+ entityType: string;
193
+ entityId: string;
194
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
195
+ fullText: string | null;
196
+ line1: string | null;
197
+ line2: string | null;
198
+ city: string | null;
199
+ region: string | null;
200
+ postalCode: string | null;
201
+ country: string | null;
202
+ latitude: number | null;
203
+ longitude: number | null;
204
+ timezone: string | null;
205
+ isPrimary: boolean;
206
+ notes: string | null;
207
+ metadata: Record<string, unknown> | null;
208
+ createdAt: Date;
209
+ updatedAt: Date;
210
+ }[]>;
211
+ createAddress(db: PostgresJsDatabase, supplierId: string, data: InsertAddressForEntity): Promise<{
212
+ entityType: string;
213
+ entityId: string;
214
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
215
+ isPrimary: boolean;
216
+ notes: string | null;
217
+ metadata: Record<string, unknown> | null;
218
+ fullText: string | null;
219
+ line1: string | null;
220
+ line2: string | null;
221
+ city: string | null;
222
+ region: string | null;
223
+ postalCode: string | null;
224
+ country: string | null;
225
+ latitude: number | null;
226
+ longitude: number | null;
227
+ timezone: string | null;
228
+ id: string;
229
+ createdAt: Date;
230
+ updatedAt: Date;
231
+ } | null>;
232
+ updateAddress(db: PostgresJsDatabase, addressId: string, data: UpdateIdentityAddress): Promise<{
233
+ id: string;
234
+ entityType: string;
235
+ entityId: string;
236
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
237
+ fullText: string | null;
238
+ line1: string | null;
239
+ line2: string | null;
240
+ city: string | null;
241
+ region: string | null;
242
+ postalCode: string | null;
243
+ country: string | null;
244
+ latitude: number | null;
245
+ longitude: number | null;
246
+ timezone: string | null;
247
+ isPrimary: boolean;
248
+ notes: string | null;
249
+ metadata: Record<string, unknown> | null;
250
+ createdAt: Date;
251
+ updatedAt: Date;
252
+ } | null>;
253
+ deleteAddress(db: PostgresJsDatabase, addressId: string): Promise<{
254
+ id: string;
255
+ } | null>;
256
+ listServices(db: PostgresJsDatabase, supplierId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"supplier_services", {
257
+ id: import("drizzle-orm/pg-core").PgColumn<{
258
+ name: string;
259
+ tableName: "supplier_services";
260
+ dataType: "string";
261
+ columnType: "PgText";
262
+ data: string;
263
+ driverParam: string;
264
+ notNull: true;
265
+ hasDefault: true;
266
+ isPrimaryKey: true;
267
+ isAutoincrement: false;
268
+ hasRuntimeDefault: true;
269
+ enumValues: [string, ...string[]];
270
+ baseColumn: never;
271
+ identity: undefined;
272
+ generated: undefined;
273
+ }, {}, {}>;
274
+ supplierId: import("drizzle-orm/pg-core").PgColumn<{
275
+ name: string;
276
+ tableName: "supplier_services";
277
+ dataType: "string";
278
+ columnType: "PgText";
279
+ data: string;
280
+ driverParam: string;
281
+ notNull: true;
282
+ hasDefault: false;
283
+ isPrimaryKey: false;
284
+ isAutoincrement: false;
285
+ hasRuntimeDefault: false;
286
+ enumValues: [string, ...string[]];
287
+ baseColumn: never;
288
+ identity: undefined;
289
+ generated: undefined;
290
+ }, {}, {}>;
291
+ serviceType: import("drizzle-orm/pg-core").PgColumn<{
292
+ name: "service_type";
293
+ tableName: "supplier_services";
294
+ dataType: "string";
295
+ columnType: "PgEnumColumn";
296
+ data: "other" | "transfer" | "guide" | "experience" | "accommodation" | "meal";
297
+ driverParam: string;
298
+ notNull: true;
299
+ hasDefault: false;
300
+ isPrimaryKey: false;
301
+ isAutoincrement: false;
302
+ hasRuntimeDefault: false;
303
+ enumValues: ["accommodation", "transfer", "experience", "guide", "meal", "other"];
304
+ baseColumn: never;
305
+ identity: undefined;
306
+ generated: undefined;
307
+ }, {}, {}>;
308
+ facilityId: import("drizzle-orm/pg-core").PgColumn<{
309
+ name: string;
310
+ tableName: "supplier_services";
311
+ dataType: "string";
312
+ columnType: "PgText";
313
+ data: string;
314
+ driverParam: string;
315
+ notNull: false;
316
+ hasDefault: false;
317
+ isPrimaryKey: false;
318
+ isAutoincrement: false;
319
+ hasRuntimeDefault: false;
320
+ enumValues: [string, ...string[]];
321
+ baseColumn: never;
322
+ identity: undefined;
323
+ generated: undefined;
324
+ }, {}, {}>;
325
+ name: import("drizzle-orm/pg-core").PgColumn<{
326
+ name: "name";
327
+ tableName: "supplier_services";
328
+ dataType: "string";
329
+ columnType: "PgText";
330
+ data: string;
331
+ driverParam: string;
332
+ notNull: true;
333
+ hasDefault: false;
334
+ isPrimaryKey: false;
335
+ isAutoincrement: false;
336
+ hasRuntimeDefault: false;
337
+ enumValues: [string, ...string[]];
338
+ baseColumn: never;
339
+ identity: undefined;
340
+ generated: undefined;
341
+ }, {}, {}>;
342
+ description: import("drizzle-orm/pg-core").PgColumn<{
343
+ name: "description";
344
+ tableName: "supplier_services";
345
+ dataType: "string";
346
+ columnType: "PgText";
347
+ data: string;
348
+ driverParam: string;
349
+ notNull: false;
350
+ hasDefault: false;
351
+ isPrimaryKey: false;
352
+ isAutoincrement: false;
353
+ hasRuntimeDefault: false;
354
+ enumValues: [string, ...string[]];
355
+ baseColumn: never;
356
+ identity: undefined;
357
+ generated: undefined;
358
+ }, {}, {}>;
359
+ duration: import("drizzle-orm/pg-core").PgColumn<{
360
+ name: "duration";
361
+ tableName: "supplier_services";
362
+ dataType: "string";
363
+ columnType: "PgText";
364
+ data: string;
365
+ driverParam: string;
366
+ notNull: false;
367
+ hasDefault: false;
368
+ isPrimaryKey: false;
369
+ isAutoincrement: false;
370
+ hasRuntimeDefault: false;
371
+ enumValues: [string, ...string[]];
372
+ baseColumn: never;
373
+ identity: undefined;
374
+ generated: undefined;
375
+ }, {}, {}>;
376
+ capacity: import("drizzle-orm/pg-core").PgColumn<{
377
+ name: "capacity";
378
+ tableName: "supplier_services";
379
+ dataType: "number";
380
+ columnType: "PgInteger";
381
+ data: number;
382
+ driverParam: string | number;
383
+ notNull: false;
384
+ hasDefault: false;
385
+ isPrimaryKey: false;
386
+ isAutoincrement: false;
387
+ hasRuntimeDefault: false;
388
+ enumValues: undefined;
389
+ baseColumn: never;
390
+ identity: undefined;
391
+ generated: undefined;
392
+ }, {}, {}>;
393
+ active: import("drizzle-orm/pg-core").PgColumn<{
394
+ name: "active";
395
+ tableName: "supplier_services";
396
+ dataType: "boolean";
397
+ columnType: "PgBoolean";
398
+ data: boolean;
399
+ driverParam: boolean;
400
+ notNull: true;
401
+ hasDefault: true;
402
+ isPrimaryKey: false;
403
+ isAutoincrement: false;
404
+ hasRuntimeDefault: false;
405
+ enumValues: undefined;
406
+ baseColumn: never;
407
+ identity: undefined;
408
+ generated: undefined;
409
+ }, {}, {}>;
410
+ tags: import("drizzle-orm/pg-core").PgColumn<{
411
+ name: "tags";
412
+ tableName: "supplier_services";
413
+ dataType: "json";
414
+ columnType: "PgJsonb";
415
+ data: string[];
416
+ driverParam: unknown;
417
+ notNull: false;
418
+ hasDefault: true;
419
+ isPrimaryKey: false;
420
+ isAutoincrement: false;
421
+ hasRuntimeDefault: false;
422
+ enumValues: undefined;
423
+ baseColumn: never;
424
+ identity: undefined;
425
+ generated: undefined;
426
+ }, {}, {
427
+ $type: string[];
428
+ }>;
429
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
430
+ name: "created_at";
431
+ tableName: "supplier_services";
432
+ dataType: "date";
433
+ columnType: "PgTimestamp";
434
+ data: Date;
435
+ driverParam: string;
436
+ notNull: true;
437
+ hasDefault: true;
438
+ isPrimaryKey: false;
439
+ isAutoincrement: false;
440
+ hasRuntimeDefault: false;
441
+ enumValues: undefined;
442
+ baseColumn: never;
443
+ identity: undefined;
444
+ generated: undefined;
445
+ }, {}, {}>;
446
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
447
+ name: "updated_at";
448
+ tableName: "supplier_services";
449
+ dataType: "date";
450
+ columnType: "PgTimestamp";
451
+ data: Date;
452
+ driverParam: string;
453
+ notNull: true;
454
+ hasDefault: true;
455
+ isPrimaryKey: false;
456
+ isAutoincrement: false;
457
+ hasRuntimeDefault: false;
458
+ enumValues: undefined;
459
+ baseColumn: never;
460
+ identity: undefined;
461
+ generated: undefined;
462
+ }, {}, {}>;
463
+ }, "single", Record<"supplier_services", "not-null">, false, "where" | "orderBy", {
464
+ id: string;
465
+ supplierId: string;
466
+ serviceType: "other" | "transfer" | "guide" | "experience" | "accommodation" | "meal";
467
+ facilityId: string | null;
468
+ name: string;
469
+ description: string | null;
470
+ duration: string | null;
471
+ capacity: number | null;
472
+ active: boolean;
473
+ tags: string[] | null;
474
+ createdAt: Date;
475
+ updatedAt: Date;
476
+ }[], {
477
+ id: import("drizzle-orm/pg-core").PgColumn<{
478
+ name: string;
479
+ tableName: "supplier_services";
480
+ dataType: "string";
481
+ columnType: "PgText";
482
+ data: string;
483
+ driverParam: string;
484
+ notNull: true;
485
+ hasDefault: true;
486
+ isPrimaryKey: true;
487
+ isAutoincrement: false;
488
+ hasRuntimeDefault: true;
489
+ enumValues: [string, ...string[]];
490
+ baseColumn: never;
491
+ identity: undefined;
492
+ generated: undefined;
493
+ }, {}, {}>;
494
+ supplierId: import("drizzle-orm/pg-core").PgColumn<{
495
+ name: string;
496
+ tableName: "supplier_services";
497
+ dataType: "string";
498
+ columnType: "PgText";
499
+ data: string;
500
+ driverParam: string;
501
+ notNull: true;
502
+ hasDefault: false;
503
+ isPrimaryKey: false;
504
+ isAutoincrement: false;
505
+ hasRuntimeDefault: false;
506
+ enumValues: [string, ...string[]];
507
+ baseColumn: never;
508
+ identity: undefined;
509
+ generated: undefined;
510
+ }, {}, {}>;
511
+ serviceType: import("drizzle-orm/pg-core").PgColumn<{
512
+ name: "service_type";
513
+ tableName: "supplier_services";
514
+ dataType: "string";
515
+ columnType: "PgEnumColumn";
516
+ data: "other" | "transfer" | "guide" | "experience" | "accommodation" | "meal";
517
+ driverParam: string;
518
+ notNull: true;
519
+ hasDefault: false;
520
+ isPrimaryKey: false;
521
+ isAutoincrement: false;
522
+ hasRuntimeDefault: false;
523
+ enumValues: ["accommodation", "transfer", "experience", "guide", "meal", "other"];
524
+ baseColumn: never;
525
+ identity: undefined;
526
+ generated: undefined;
527
+ }, {}, {}>;
528
+ facilityId: import("drizzle-orm/pg-core").PgColumn<{
529
+ name: string;
530
+ tableName: "supplier_services";
531
+ dataType: "string";
532
+ columnType: "PgText";
533
+ data: string;
534
+ driverParam: string;
535
+ notNull: false;
536
+ hasDefault: false;
537
+ isPrimaryKey: false;
538
+ isAutoincrement: false;
539
+ hasRuntimeDefault: false;
540
+ enumValues: [string, ...string[]];
541
+ baseColumn: never;
542
+ identity: undefined;
543
+ generated: undefined;
544
+ }, {}, {}>;
545
+ name: import("drizzle-orm/pg-core").PgColumn<{
546
+ name: "name";
547
+ tableName: "supplier_services";
548
+ dataType: "string";
549
+ columnType: "PgText";
550
+ data: string;
551
+ driverParam: string;
552
+ notNull: true;
553
+ hasDefault: false;
554
+ isPrimaryKey: false;
555
+ isAutoincrement: false;
556
+ hasRuntimeDefault: false;
557
+ enumValues: [string, ...string[]];
558
+ baseColumn: never;
559
+ identity: undefined;
560
+ generated: undefined;
561
+ }, {}, {}>;
562
+ description: import("drizzle-orm/pg-core").PgColumn<{
563
+ name: "description";
564
+ tableName: "supplier_services";
565
+ dataType: "string";
566
+ columnType: "PgText";
567
+ data: string;
568
+ driverParam: string;
569
+ notNull: false;
570
+ hasDefault: false;
571
+ isPrimaryKey: false;
572
+ isAutoincrement: false;
573
+ hasRuntimeDefault: false;
574
+ enumValues: [string, ...string[]];
575
+ baseColumn: never;
576
+ identity: undefined;
577
+ generated: undefined;
578
+ }, {}, {}>;
579
+ duration: import("drizzle-orm/pg-core").PgColumn<{
580
+ name: "duration";
581
+ tableName: "supplier_services";
582
+ dataType: "string";
583
+ columnType: "PgText";
584
+ data: string;
585
+ driverParam: string;
586
+ notNull: false;
587
+ hasDefault: false;
588
+ isPrimaryKey: false;
589
+ isAutoincrement: false;
590
+ hasRuntimeDefault: false;
591
+ enumValues: [string, ...string[]];
592
+ baseColumn: never;
593
+ identity: undefined;
594
+ generated: undefined;
595
+ }, {}, {}>;
596
+ capacity: import("drizzle-orm/pg-core").PgColumn<{
597
+ name: "capacity";
598
+ tableName: "supplier_services";
599
+ dataType: "number";
600
+ columnType: "PgInteger";
601
+ data: number;
602
+ driverParam: string | number;
603
+ notNull: false;
604
+ hasDefault: false;
605
+ isPrimaryKey: false;
606
+ isAutoincrement: false;
607
+ hasRuntimeDefault: false;
608
+ enumValues: undefined;
609
+ baseColumn: never;
610
+ identity: undefined;
611
+ generated: undefined;
612
+ }, {}, {}>;
613
+ active: import("drizzle-orm/pg-core").PgColumn<{
614
+ name: "active";
615
+ tableName: "supplier_services";
616
+ dataType: "boolean";
617
+ columnType: "PgBoolean";
618
+ data: boolean;
619
+ driverParam: boolean;
620
+ notNull: true;
621
+ hasDefault: true;
622
+ isPrimaryKey: false;
623
+ isAutoincrement: false;
624
+ hasRuntimeDefault: false;
625
+ enumValues: undefined;
626
+ baseColumn: never;
627
+ identity: undefined;
628
+ generated: undefined;
629
+ }, {}, {}>;
630
+ tags: import("drizzle-orm/pg-core").PgColumn<{
631
+ name: "tags";
632
+ tableName: "supplier_services";
633
+ dataType: "json";
634
+ columnType: "PgJsonb";
635
+ data: string[];
636
+ driverParam: unknown;
637
+ notNull: false;
638
+ hasDefault: true;
639
+ isPrimaryKey: false;
640
+ isAutoincrement: false;
641
+ hasRuntimeDefault: false;
642
+ enumValues: undefined;
643
+ baseColumn: never;
644
+ identity: undefined;
645
+ generated: undefined;
646
+ }, {}, {
647
+ $type: string[];
648
+ }>;
649
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
650
+ name: "created_at";
651
+ tableName: "supplier_services";
652
+ dataType: "date";
653
+ columnType: "PgTimestamp";
654
+ data: Date;
655
+ driverParam: string;
656
+ notNull: true;
657
+ hasDefault: true;
658
+ isPrimaryKey: false;
659
+ isAutoincrement: false;
660
+ hasRuntimeDefault: false;
661
+ enumValues: undefined;
662
+ baseColumn: never;
663
+ identity: undefined;
664
+ generated: undefined;
665
+ }, {}, {}>;
666
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
667
+ name: "updated_at";
668
+ tableName: "supplier_services";
669
+ dataType: "date";
670
+ columnType: "PgTimestamp";
671
+ data: Date;
672
+ driverParam: string;
673
+ notNull: true;
674
+ hasDefault: true;
675
+ isPrimaryKey: false;
676
+ isAutoincrement: false;
677
+ hasRuntimeDefault: false;
678
+ enumValues: undefined;
679
+ baseColumn: never;
680
+ identity: undefined;
681
+ generated: undefined;
682
+ }, {}, {}>;
683
+ }>, "where" | "orderBy">;
684
+ createService(db: PostgresJsDatabase, supplierId: string, data: CreateServiceInput): Promise<{
685
+ name: string;
686
+ duration: string | null;
687
+ id: string;
688
+ createdAt: Date;
689
+ updatedAt: Date;
690
+ description: string | null;
691
+ active: boolean;
692
+ tags: string[] | null;
693
+ facilityId: string | null;
694
+ supplierId: string;
695
+ serviceType: "other" | "transfer" | "guide" | "experience" | "accommodation" | "meal";
696
+ capacity: number | null;
697
+ } | null>;
698
+ updateService(db: PostgresJsDatabase, serviceId: string, data: UpdateServiceInput): Promise<{
699
+ id: string;
700
+ supplierId: string;
701
+ serviceType: "other" | "transfer" | "guide" | "experience" | "accommodation" | "meal";
702
+ facilityId: string | null;
703
+ name: string;
704
+ description: string | null;
705
+ duration: string | null;
706
+ capacity: number | null;
707
+ active: boolean;
708
+ tags: string[] | null;
709
+ createdAt: Date;
710
+ updatedAt: Date;
711
+ } | null>;
712
+ deleteService(db: PostgresJsDatabase, serviceId: string): Promise<{
713
+ id: string;
714
+ } | null>;
715
+ listRates(db: PostgresJsDatabase, serviceId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"supplier_rates", {
716
+ id: import("drizzle-orm/pg-core").PgColumn<{
717
+ name: string;
718
+ tableName: "supplier_rates";
719
+ dataType: "string";
720
+ columnType: "PgText";
721
+ data: string;
722
+ driverParam: string;
723
+ notNull: true;
724
+ hasDefault: true;
725
+ isPrimaryKey: true;
726
+ isAutoincrement: false;
727
+ hasRuntimeDefault: true;
728
+ enumValues: [string, ...string[]];
729
+ baseColumn: never;
730
+ identity: undefined;
731
+ generated: undefined;
732
+ }, {}, {}>;
733
+ serviceId: import("drizzle-orm/pg-core").PgColumn<{
734
+ name: string;
735
+ tableName: "supplier_rates";
736
+ dataType: "string";
737
+ columnType: "PgText";
738
+ data: string;
739
+ driverParam: string;
740
+ notNull: true;
741
+ hasDefault: false;
742
+ isPrimaryKey: false;
743
+ isAutoincrement: false;
744
+ hasRuntimeDefault: false;
745
+ enumValues: [string, ...string[]];
746
+ baseColumn: never;
747
+ identity: undefined;
748
+ generated: undefined;
749
+ }, {}, {}>;
750
+ name: import("drizzle-orm/pg-core").PgColumn<{
751
+ name: "name";
752
+ tableName: "supplier_rates";
753
+ dataType: "string";
754
+ columnType: "PgText";
755
+ data: string;
756
+ driverParam: string;
757
+ notNull: true;
758
+ hasDefault: false;
759
+ isPrimaryKey: false;
760
+ isAutoincrement: false;
761
+ hasRuntimeDefault: false;
762
+ enumValues: [string, ...string[]];
763
+ baseColumn: never;
764
+ identity: undefined;
765
+ generated: undefined;
766
+ }, {}, {}>;
767
+ currency: import("drizzle-orm/pg-core").PgColumn<{
768
+ name: "currency";
769
+ tableName: "supplier_rates";
770
+ dataType: "string";
771
+ columnType: "PgText";
772
+ data: string;
773
+ driverParam: string;
774
+ notNull: true;
775
+ hasDefault: false;
776
+ isPrimaryKey: false;
777
+ isAutoincrement: false;
778
+ hasRuntimeDefault: false;
779
+ enumValues: [string, ...string[]];
780
+ baseColumn: never;
781
+ identity: undefined;
782
+ generated: undefined;
783
+ }, {}, {}>;
784
+ amountCents: import("drizzle-orm/pg-core").PgColumn<{
785
+ name: "amount_cents";
786
+ tableName: "supplier_rates";
787
+ dataType: "number";
788
+ columnType: "PgInteger";
789
+ data: number;
790
+ driverParam: string | number;
791
+ notNull: true;
792
+ hasDefault: false;
793
+ isPrimaryKey: false;
794
+ isAutoincrement: false;
795
+ hasRuntimeDefault: false;
796
+ enumValues: undefined;
797
+ baseColumn: never;
798
+ identity: undefined;
799
+ generated: undefined;
800
+ }, {}, {}>;
801
+ unit: import("drizzle-orm/pg-core").PgColumn<{
802
+ name: "unit";
803
+ tableName: "supplier_rates";
804
+ dataType: "string";
805
+ columnType: "PgEnumColumn";
806
+ data: "flat" | "per_person" | "per_group" | "per_night" | "per_vehicle";
807
+ driverParam: string;
808
+ notNull: true;
809
+ hasDefault: false;
810
+ isPrimaryKey: false;
811
+ isAutoincrement: false;
812
+ hasRuntimeDefault: false;
813
+ enumValues: ["per_person", "per_group", "per_night", "per_vehicle", "flat"];
814
+ baseColumn: never;
815
+ identity: undefined;
816
+ generated: undefined;
817
+ }, {}, {}>;
818
+ validFrom: import("drizzle-orm/pg-core").PgColumn<{
819
+ name: "valid_from";
820
+ tableName: "supplier_rates";
821
+ dataType: "string";
822
+ columnType: "PgDateString";
823
+ data: string;
824
+ driverParam: string;
825
+ notNull: false;
826
+ hasDefault: false;
827
+ isPrimaryKey: false;
828
+ isAutoincrement: false;
829
+ hasRuntimeDefault: false;
830
+ enumValues: undefined;
831
+ baseColumn: never;
832
+ identity: undefined;
833
+ generated: undefined;
834
+ }, {}, {}>;
835
+ validTo: import("drizzle-orm/pg-core").PgColumn<{
836
+ name: "valid_to";
837
+ tableName: "supplier_rates";
838
+ dataType: "string";
839
+ columnType: "PgDateString";
840
+ data: string;
841
+ driverParam: string;
842
+ notNull: false;
843
+ hasDefault: false;
844
+ isPrimaryKey: false;
845
+ isAutoincrement: false;
846
+ hasRuntimeDefault: false;
847
+ enumValues: undefined;
848
+ baseColumn: never;
849
+ identity: undefined;
850
+ generated: undefined;
851
+ }, {}, {}>;
852
+ minPax: import("drizzle-orm/pg-core").PgColumn<{
853
+ name: "min_pax";
854
+ tableName: "supplier_rates";
855
+ dataType: "number";
856
+ columnType: "PgInteger";
857
+ data: number;
858
+ driverParam: string | number;
859
+ notNull: false;
860
+ hasDefault: false;
861
+ isPrimaryKey: false;
862
+ isAutoincrement: false;
863
+ hasRuntimeDefault: false;
864
+ enumValues: undefined;
865
+ baseColumn: never;
866
+ identity: undefined;
867
+ generated: undefined;
868
+ }, {}, {}>;
869
+ maxPax: import("drizzle-orm/pg-core").PgColumn<{
870
+ name: "max_pax";
871
+ tableName: "supplier_rates";
872
+ dataType: "number";
873
+ columnType: "PgInteger";
874
+ data: number;
875
+ driverParam: string | number;
876
+ notNull: false;
877
+ hasDefault: false;
878
+ isPrimaryKey: false;
879
+ isAutoincrement: false;
880
+ hasRuntimeDefault: false;
881
+ enumValues: undefined;
882
+ baseColumn: never;
883
+ identity: undefined;
884
+ generated: undefined;
885
+ }, {}, {}>;
886
+ notes: import("drizzle-orm/pg-core").PgColumn<{
887
+ name: "notes";
888
+ tableName: "supplier_rates";
889
+ dataType: "string";
890
+ columnType: "PgText";
891
+ data: string;
892
+ driverParam: string;
893
+ notNull: false;
894
+ hasDefault: false;
895
+ isPrimaryKey: false;
896
+ isAutoincrement: false;
897
+ hasRuntimeDefault: false;
898
+ enumValues: [string, ...string[]];
899
+ baseColumn: never;
900
+ identity: undefined;
901
+ generated: undefined;
902
+ }, {}, {}>;
903
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
904
+ name: "created_at";
905
+ tableName: "supplier_rates";
906
+ dataType: "date";
907
+ columnType: "PgTimestamp";
908
+ data: Date;
909
+ driverParam: string;
910
+ notNull: true;
911
+ hasDefault: true;
912
+ isPrimaryKey: false;
913
+ isAutoincrement: false;
914
+ hasRuntimeDefault: false;
915
+ enumValues: undefined;
916
+ baseColumn: never;
917
+ identity: undefined;
918
+ generated: undefined;
919
+ }, {}, {}>;
920
+ }, "single", Record<"supplier_rates", "not-null">, false, "where" | "orderBy", {
921
+ id: string;
922
+ serviceId: string;
923
+ name: string;
924
+ currency: string;
925
+ amountCents: number;
926
+ unit: "flat" | "per_person" | "per_group" | "per_night" | "per_vehicle";
927
+ validFrom: string | null;
928
+ validTo: string | null;
929
+ minPax: number | null;
930
+ maxPax: number | null;
931
+ notes: string | null;
932
+ createdAt: Date;
933
+ }[], {
934
+ id: import("drizzle-orm/pg-core").PgColumn<{
935
+ name: string;
936
+ tableName: "supplier_rates";
937
+ dataType: "string";
938
+ columnType: "PgText";
939
+ data: string;
940
+ driverParam: string;
941
+ notNull: true;
942
+ hasDefault: true;
943
+ isPrimaryKey: true;
944
+ isAutoincrement: false;
945
+ hasRuntimeDefault: true;
946
+ enumValues: [string, ...string[]];
947
+ baseColumn: never;
948
+ identity: undefined;
949
+ generated: undefined;
950
+ }, {}, {}>;
951
+ serviceId: import("drizzle-orm/pg-core").PgColumn<{
952
+ name: string;
953
+ tableName: "supplier_rates";
954
+ dataType: "string";
955
+ columnType: "PgText";
956
+ data: string;
957
+ driverParam: string;
958
+ notNull: true;
959
+ hasDefault: false;
960
+ isPrimaryKey: false;
961
+ isAutoincrement: false;
962
+ hasRuntimeDefault: false;
963
+ enumValues: [string, ...string[]];
964
+ baseColumn: never;
965
+ identity: undefined;
966
+ generated: undefined;
967
+ }, {}, {}>;
968
+ name: import("drizzle-orm/pg-core").PgColumn<{
969
+ name: "name";
970
+ tableName: "supplier_rates";
971
+ dataType: "string";
972
+ columnType: "PgText";
973
+ data: string;
974
+ driverParam: string;
975
+ notNull: true;
976
+ hasDefault: false;
977
+ isPrimaryKey: false;
978
+ isAutoincrement: false;
979
+ hasRuntimeDefault: false;
980
+ enumValues: [string, ...string[]];
981
+ baseColumn: never;
982
+ identity: undefined;
983
+ generated: undefined;
984
+ }, {}, {}>;
985
+ currency: import("drizzle-orm/pg-core").PgColumn<{
986
+ name: "currency";
987
+ tableName: "supplier_rates";
988
+ dataType: "string";
989
+ columnType: "PgText";
990
+ data: string;
991
+ driverParam: string;
992
+ notNull: true;
993
+ hasDefault: false;
994
+ isPrimaryKey: false;
995
+ isAutoincrement: false;
996
+ hasRuntimeDefault: false;
997
+ enumValues: [string, ...string[]];
998
+ baseColumn: never;
999
+ identity: undefined;
1000
+ generated: undefined;
1001
+ }, {}, {}>;
1002
+ amountCents: import("drizzle-orm/pg-core").PgColumn<{
1003
+ name: "amount_cents";
1004
+ tableName: "supplier_rates";
1005
+ dataType: "number";
1006
+ columnType: "PgInteger";
1007
+ data: number;
1008
+ driverParam: string | number;
1009
+ notNull: true;
1010
+ hasDefault: false;
1011
+ isPrimaryKey: false;
1012
+ isAutoincrement: false;
1013
+ hasRuntimeDefault: false;
1014
+ enumValues: undefined;
1015
+ baseColumn: never;
1016
+ identity: undefined;
1017
+ generated: undefined;
1018
+ }, {}, {}>;
1019
+ unit: import("drizzle-orm/pg-core").PgColumn<{
1020
+ name: "unit";
1021
+ tableName: "supplier_rates";
1022
+ dataType: "string";
1023
+ columnType: "PgEnumColumn";
1024
+ data: "flat" | "per_person" | "per_group" | "per_night" | "per_vehicle";
1025
+ driverParam: string;
1026
+ notNull: true;
1027
+ hasDefault: false;
1028
+ isPrimaryKey: false;
1029
+ isAutoincrement: false;
1030
+ hasRuntimeDefault: false;
1031
+ enumValues: ["per_person", "per_group", "per_night", "per_vehicle", "flat"];
1032
+ baseColumn: never;
1033
+ identity: undefined;
1034
+ generated: undefined;
1035
+ }, {}, {}>;
1036
+ validFrom: import("drizzle-orm/pg-core").PgColumn<{
1037
+ name: "valid_from";
1038
+ tableName: "supplier_rates";
1039
+ dataType: "string";
1040
+ columnType: "PgDateString";
1041
+ data: string;
1042
+ driverParam: string;
1043
+ notNull: false;
1044
+ hasDefault: false;
1045
+ isPrimaryKey: false;
1046
+ isAutoincrement: false;
1047
+ hasRuntimeDefault: false;
1048
+ enumValues: undefined;
1049
+ baseColumn: never;
1050
+ identity: undefined;
1051
+ generated: undefined;
1052
+ }, {}, {}>;
1053
+ validTo: import("drizzle-orm/pg-core").PgColumn<{
1054
+ name: "valid_to";
1055
+ tableName: "supplier_rates";
1056
+ dataType: "string";
1057
+ columnType: "PgDateString";
1058
+ data: string;
1059
+ driverParam: string;
1060
+ notNull: false;
1061
+ hasDefault: false;
1062
+ isPrimaryKey: false;
1063
+ isAutoincrement: false;
1064
+ hasRuntimeDefault: false;
1065
+ enumValues: undefined;
1066
+ baseColumn: never;
1067
+ identity: undefined;
1068
+ generated: undefined;
1069
+ }, {}, {}>;
1070
+ minPax: import("drizzle-orm/pg-core").PgColumn<{
1071
+ name: "min_pax";
1072
+ tableName: "supplier_rates";
1073
+ dataType: "number";
1074
+ columnType: "PgInteger";
1075
+ data: number;
1076
+ driverParam: string | number;
1077
+ notNull: false;
1078
+ hasDefault: false;
1079
+ isPrimaryKey: false;
1080
+ isAutoincrement: false;
1081
+ hasRuntimeDefault: false;
1082
+ enumValues: undefined;
1083
+ baseColumn: never;
1084
+ identity: undefined;
1085
+ generated: undefined;
1086
+ }, {}, {}>;
1087
+ maxPax: import("drizzle-orm/pg-core").PgColumn<{
1088
+ name: "max_pax";
1089
+ tableName: "supplier_rates";
1090
+ dataType: "number";
1091
+ columnType: "PgInteger";
1092
+ data: number;
1093
+ driverParam: string | number;
1094
+ notNull: false;
1095
+ hasDefault: false;
1096
+ isPrimaryKey: false;
1097
+ isAutoincrement: false;
1098
+ hasRuntimeDefault: false;
1099
+ enumValues: undefined;
1100
+ baseColumn: never;
1101
+ identity: undefined;
1102
+ generated: undefined;
1103
+ }, {}, {}>;
1104
+ notes: import("drizzle-orm/pg-core").PgColumn<{
1105
+ name: "notes";
1106
+ tableName: "supplier_rates";
1107
+ dataType: "string";
1108
+ columnType: "PgText";
1109
+ data: string;
1110
+ driverParam: string;
1111
+ notNull: false;
1112
+ hasDefault: false;
1113
+ isPrimaryKey: false;
1114
+ isAutoincrement: false;
1115
+ hasRuntimeDefault: false;
1116
+ enumValues: [string, ...string[]];
1117
+ baseColumn: never;
1118
+ identity: undefined;
1119
+ generated: undefined;
1120
+ }, {}, {}>;
1121
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1122
+ name: "created_at";
1123
+ tableName: "supplier_rates";
1124
+ dataType: "date";
1125
+ columnType: "PgTimestamp";
1126
+ data: Date;
1127
+ driverParam: string;
1128
+ notNull: true;
1129
+ hasDefault: true;
1130
+ isPrimaryKey: false;
1131
+ isAutoincrement: false;
1132
+ hasRuntimeDefault: false;
1133
+ enumValues: undefined;
1134
+ baseColumn: never;
1135
+ identity: undefined;
1136
+ generated: undefined;
1137
+ }, {}, {}>;
1138
+ }>, "where" | "orderBy">;
1139
+ createRate(db: PostgresJsDatabase, serviceId: string, data: CreateRateInput): Promise<{
1140
+ name: string;
1141
+ notes: string | null;
1142
+ id: string;
1143
+ createdAt: Date;
1144
+ validFrom: string | null;
1145
+ validTo: string | null;
1146
+ serviceId: string;
1147
+ currency: string;
1148
+ amountCents: number;
1149
+ unit: "flat" | "per_person" | "per_group" | "per_night" | "per_vehicle";
1150
+ minPax: number | null;
1151
+ maxPax: number | null;
1152
+ } | null | undefined>;
1153
+ updateRate(db: PostgresJsDatabase, rateId: string, data: UpdateRateInput): Promise<{
1154
+ id: string;
1155
+ serviceId: string;
1156
+ name: string;
1157
+ currency: string;
1158
+ amountCents: number;
1159
+ unit: "flat" | "per_person" | "per_group" | "per_night" | "per_vehicle";
1160
+ validFrom: string | null;
1161
+ validTo: string | null;
1162
+ minPax: number | null;
1163
+ maxPax: number | null;
1164
+ notes: string | null;
1165
+ createdAt: Date;
1166
+ } | null>;
1167
+ deleteRate(db: PostgresJsDatabase, rateId: string): Promise<{
1168
+ id: string;
1169
+ } | null>;
1170
+ listNotes(db: PostgresJsDatabase, supplierId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"supplier_notes", {
1171
+ id: import("drizzle-orm/pg-core").PgColumn<{
1172
+ name: string;
1173
+ tableName: "supplier_notes";
1174
+ dataType: "string";
1175
+ columnType: "PgText";
1176
+ data: string;
1177
+ driverParam: string;
1178
+ notNull: true;
1179
+ hasDefault: true;
1180
+ isPrimaryKey: true;
1181
+ isAutoincrement: false;
1182
+ hasRuntimeDefault: true;
1183
+ enumValues: [string, ...string[]];
1184
+ baseColumn: never;
1185
+ identity: undefined;
1186
+ generated: undefined;
1187
+ }, {}, {}>;
1188
+ supplierId: import("drizzle-orm/pg-core").PgColumn<{
1189
+ name: string;
1190
+ tableName: "supplier_notes";
1191
+ dataType: "string";
1192
+ columnType: "PgText";
1193
+ data: string;
1194
+ driverParam: string;
1195
+ notNull: true;
1196
+ hasDefault: false;
1197
+ isPrimaryKey: false;
1198
+ isAutoincrement: false;
1199
+ hasRuntimeDefault: false;
1200
+ enumValues: [string, ...string[]];
1201
+ baseColumn: never;
1202
+ identity: undefined;
1203
+ generated: undefined;
1204
+ }, {}, {}>;
1205
+ authorId: import("drizzle-orm/pg-core").PgColumn<{
1206
+ name: "author_id";
1207
+ tableName: "supplier_notes";
1208
+ dataType: "string";
1209
+ columnType: "PgText";
1210
+ data: string;
1211
+ driverParam: string;
1212
+ notNull: true;
1213
+ hasDefault: false;
1214
+ isPrimaryKey: false;
1215
+ isAutoincrement: false;
1216
+ hasRuntimeDefault: false;
1217
+ enumValues: [string, ...string[]];
1218
+ baseColumn: never;
1219
+ identity: undefined;
1220
+ generated: undefined;
1221
+ }, {}, {}>;
1222
+ content: import("drizzle-orm/pg-core").PgColumn<{
1223
+ name: "content";
1224
+ tableName: "supplier_notes";
1225
+ dataType: "string";
1226
+ columnType: "PgText";
1227
+ data: string;
1228
+ driverParam: string;
1229
+ notNull: true;
1230
+ hasDefault: false;
1231
+ isPrimaryKey: false;
1232
+ isAutoincrement: false;
1233
+ hasRuntimeDefault: false;
1234
+ enumValues: [string, ...string[]];
1235
+ baseColumn: never;
1236
+ identity: undefined;
1237
+ generated: undefined;
1238
+ }, {}, {}>;
1239
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1240
+ name: "created_at";
1241
+ tableName: "supplier_notes";
1242
+ dataType: "date";
1243
+ columnType: "PgTimestamp";
1244
+ data: Date;
1245
+ driverParam: string;
1246
+ notNull: true;
1247
+ hasDefault: true;
1248
+ isPrimaryKey: false;
1249
+ isAutoincrement: false;
1250
+ hasRuntimeDefault: false;
1251
+ enumValues: undefined;
1252
+ baseColumn: never;
1253
+ identity: undefined;
1254
+ generated: undefined;
1255
+ }, {}, {}>;
1256
+ }, "single", Record<"supplier_notes", "not-null">, false, "where" | "orderBy", {
1257
+ id: string;
1258
+ supplierId: string;
1259
+ authorId: string;
1260
+ content: string;
1261
+ createdAt: Date;
1262
+ }[], {
1263
+ id: import("drizzle-orm/pg-core").PgColumn<{
1264
+ name: string;
1265
+ tableName: "supplier_notes";
1266
+ dataType: "string";
1267
+ columnType: "PgText";
1268
+ data: string;
1269
+ driverParam: string;
1270
+ notNull: true;
1271
+ hasDefault: true;
1272
+ isPrimaryKey: true;
1273
+ isAutoincrement: false;
1274
+ hasRuntimeDefault: true;
1275
+ enumValues: [string, ...string[]];
1276
+ baseColumn: never;
1277
+ identity: undefined;
1278
+ generated: undefined;
1279
+ }, {}, {}>;
1280
+ supplierId: import("drizzle-orm/pg-core").PgColumn<{
1281
+ name: string;
1282
+ tableName: "supplier_notes";
1283
+ dataType: "string";
1284
+ columnType: "PgText";
1285
+ data: string;
1286
+ driverParam: string;
1287
+ notNull: true;
1288
+ hasDefault: false;
1289
+ isPrimaryKey: false;
1290
+ isAutoincrement: false;
1291
+ hasRuntimeDefault: false;
1292
+ enumValues: [string, ...string[]];
1293
+ baseColumn: never;
1294
+ identity: undefined;
1295
+ generated: undefined;
1296
+ }, {}, {}>;
1297
+ authorId: import("drizzle-orm/pg-core").PgColumn<{
1298
+ name: "author_id";
1299
+ tableName: "supplier_notes";
1300
+ dataType: "string";
1301
+ columnType: "PgText";
1302
+ data: string;
1303
+ driverParam: string;
1304
+ notNull: true;
1305
+ hasDefault: false;
1306
+ isPrimaryKey: false;
1307
+ isAutoincrement: false;
1308
+ hasRuntimeDefault: false;
1309
+ enumValues: [string, ...string[]];
1310
+ baseColumn: never;
1311
+ identity: undefined;
1312
+ generated: undefined;
1313
+ }, {}, {}>;
1314
+ content: import("drizzle-orm/pg-core").PgColumn<{
1315
+ name: "content";
1316
+ tableName: "supplier_notes";
1317
+ dataType: "string";
1318
+ columnType: "PgText";
1319
+ data: string;
1320
+ driverParam: string;
1321
+ notNull: true;
1322
+ hasDefault: false;
1323
+ isPrimaryKey: false;
1324
+ isAutoincrement: false;
1325
+ hasRuntimeDefault: false;
1326
+ enumValues: [string, ...string[]];
1327
+ baseColumn: never;
1328
+ identity: undefined;
1329
+ generated: undefined;
1330
+ }, {}, {}>;
1331
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1332
+ name: "created_at";
1333
+ tableName: "supplier_notes";
1334
+ dataType: "date";
1335
+ columnType: "PgTimestamp";
1336
+ data: Date;
1337
+ driverParam: string;
1338
+ notNull: true;
1339
+ hasDefault: true;
1340
+ isPrimaryKey: false;
1341
+ isAutoincrement: false;
1342
+ hasRuntimeDefault: false;
1343
+ enumValues: undefined;
1344
+ baseColumn: never;
1345
+ identity: undefined;
1346
+ generated: undefined;
1347
+ }, {}, {}>;
1348
+ }>, "where" | "orderBy">;
1349
+ createNote(db: PostgresJsDatabase, supplierId: string, userId: string, data: CreateSupplierNoteInput): Promise<{
1350
+ id: string;
1351
+ createdAt: Date;
1352
+ supplierId: string;
1353
+ authorId: string;
1354
+ content: string;
1355
+ } | null | undefined>;
1356
+ listAvailability(db: PostgresJsDatabase, supplierId: string, query: AvailabilityQuery): Promise<{
1357
+ id: string;
1358
+ supplierId: string;
1359
+ date: string;
1360
+ available: boolean;
1361
+ notes: string | null;
1362
+ createdAt: Date;
1363
+ }[]>;
1364
+ createAvailability(db: PostgresJsDatabase, supplierId: string, entries: CreateAvailabilityInput[]): Promise<{
1365
+ date: string;
1366
+ notes: string | null;
1367
+ id: string;
1368
+ createdAt: Date;
1369
+ supplierId: string;
1370
+ available: boolean;
1371
+ }[] | null>;
1372
+ listContracts(db: PostgresJsDatabase, supplierId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"supplier_contracts", {
1373
+ id: import("drizzle-orm/pg-core").PgColumn<{
1374
+ name: string;
1375
+ tableName: "supplier_contracts";
1376
+ dataType: "string";
1377
+ columnType: "PgText";
1378
+ data: string;
1379
+ driverParam: string;
1380
+ notNull: true;
1381
+ hasDefault: true;
1382
+ isPrimaryKey: true;
1383
+ isAutoincrement: false;
1384
+ hasRuntimeDefault: true;
1385
+ enumValues: [string, ...string[]];
1386
+ baseColumn: never;
1387
+ identity: undefined;
1388
+ generated: undefined;
1389
+ }, {}, {}>;
1390
+ supplierId: import("drizzle-orm/pg-core").PgColumn<{
1391
+ name: string;
1392
+ tableName: "supplier_contracts";
1393
+ dataType: "string";
1394
+ columnType: "PgText";
1395
+ data: string;
1396
+ driverParam: string;
1397
+ notNull: true;
1398
+ hasDefault: false;
1399
+ isPrimaryKey: false;
1400
+ isAutoincrement: false;
1401
+ hasRuntimeDefault: false;
1402
+ enumValues: [string, ...string[]];
1403
+ baseColumn: never;
1404
+ identity: undefined;
1405
+ generated: undefined;
1406
+ }, {}, {}>;
1407
+ agreementNumber: import("drizzle-orm/pg-core").PgColumn<{
1408
+ name: "agreement_number";
1409
+ tableName: "supplier_contracts";
1410
+ dataType: "string";
1411
+ columnType: "PgText";
1412
+ data: string;
1413
+ driverParam: string;
1414
+ notNull: false;
1415
+ hasDefault: false;
1416
+ isPrimaryKey: false;
1417
+ isAutoincrement: false;
1418
+ hasRuntimeDefault: false;
1419
+ enumValues: [string, ...string[]];
1420
+ baseColumn: never;
1421
+ identity: undefined;
1422
+ generated: undefined;
1423
+ }, {}, {}>;
1424
+ startDate: import("drizzle-orm/pg-core").PgColumn<{
1425
+ name: "start_date";
1426
+ tableName: "supplier_contracts";
1427
+ dataType: "string";
1428
+ columnType: "PgDateString";
1429
+ data: string;
1430
+ driverParam: string;
1431
+ notNull: true;
1432
+ hasDefault: false;
1433
+ isPrimaryKey: false;
1434
+ isAutoincrement: false;
1435
+ hasRuntimeDefault: false;
1436
+ enumValues: undefined;
1437
+ baseColumn: never;
1438
+ identity: undefined;
1439
+ generated: undefined;
1440
+ }, {}, {}>;
1441
+ endDate: import("drizzle-orm/pg-core").PgColumn<{
1442
+ name: "end_date";
1443
+ tableName: "supplier_contracts";
1444
+ dataType: "string";
1445
+ columnType: "PgDateString";
1446
+ data: string;
1447
+ driverParam: string;
1448
+ notNull: false;
1449
+ hasDefault: false;
1450
+ isPrimaryKey: false;
1451
+ isAutoincrement: false;
1452
+ hasRuntimeDefault: false;
1453
+ enumValues: undefined;
1454
+ baseColumn: never;
1455
+ identity: undefined;
1456
+ generated: undefined;
1457
+ }, {}, {}>;
1458
+ renewalDate: import("drizzle-orm/pg-core").PgColumn<{
1459
+ name: "renewal_date";
1460
+ tableName: "supplier_contracts";
1461
+ dataType: "string";
1462
+ columnType: "PgDateString";
1463
+ data: string;
1464
+ driverParam: string;
1465
+ notNull: false;
1466
+ hasDefault: false;
1467
+ isPrimaryKey: false;
1468
+ isAutoincrement: false;
1469
+ hasRuntimeDefault: false;
1470
+ enumValues: undefined;
1471
+ baseColumn: never;
1472
+ identity: undefined;
1473
+ generated: undefined;
1474
+ }, {}, {}>;
1475
+ terms: import("drizzle-orm/pg-core").PgColumn<{
1476
+ name: "terms";
1477
+ tableName: "supplier_contracts";
1478
+ dataType: "string";
1479
+ columnType: "PgText";
1480
+ data: string;
1481
+ driverParam: string;
1482
+ notNull: false;
1483
+ hasDefault: false;
1484
+ isPrimaryKey: false;
1485
+ isAutoincrement: false;
1486
+ hasRuntimeDefault: false;
1487
+ enumValues: [string, ...string[]];
1488
+ baseColumn: never;
1489
+ identity: undefined;
1490
+ generated: undefined;
1491
+ }, {}, {}>;
1492
+ status: import("drizzle-orm/pg-core").PgColumn<{
1493
+ name: "status";
1494
+ tableName: "supplier_contracts";
1495
+ dataType: "string";
1496
+ columnType: "PgEnumColumn";
1497
+ data: "active" | "pending" | "expired" | "terminated";
1498
+ driverParam: string;
1499
+ notNull: true;
1500
+ hasDefault: true;
1501
+ isPrimaryKey: false;
1502
+ isAutoincrement: false;
1503
+ hasRuntimeDefault: false;
1504
+ enumValues: ["active", "expired", "pending", "terminated"];
1505
+ baseColumn: never;
1506
+ identity: undefined;
1507
+ generated: undefined;
1508
+ }, {}, {}>;
1509
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1510
+ name: "created_at";
1511
+ tableName: "supplier_contracts";
1512
+ dataType: "date";
1513
+ columnType: "PgTimestamp";
1514
+ data: Date;
1515
+ driverParam: string;
1516
+ notNull: true;
1517
+ hasDefault: true;
1518
+ isPrimaryKey: false;
1519
+ isAutoincrement: false;
1520
+ hasRuntimeDefault: false;
1521
+ enumValues: undefined;
1522
+ baseColumn: never;
1523
+ identity: undefined;
1524
+ generated: undefined;
1525
+ }, {}, {}>;
1526
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1527
+ name: "updated_at";
1528
+ tableName: "supplier_contracts";
1529
+ dataType: "date";
1530
+ columnType: "PgTimestamp";
1531
+ data: Date;
1532
+ driverParam: string;
1533
+ notNull: true;
1534
+ hasDefault: true;
1535
+ isPrimaryKey: false;
1536
+ isAutoincrement: false;
1537
+ hasRuntimeDefault: false;
1538
+ enumValues: undefined;
1539
+ baseColumn: never;
1540
+ identity: undefined;
1541
+ generated: undefined;
1542
+ }, {}, {}>;
1543
+ }, "single", Record<"supplier_contracts", "not-null">, false, "where" | "orderBy", {
1544
+ id: string;
1545
+ supplierId: string;
1546
+ agreementNumber: string | null;
1547
+ startDate: string;
1548
+ endDate: string | null;
1549
+ renewalDate: string | null;
1550
+ terms: string | null;
1551
+ status: "active" | "pending" | "expired" | "terminated";
1552
+ createdAt: Date;
1553
+ updatedAt: Date;
1554
+ }[], {
1555
+ id: import("drizzle-orm/pg-core").PgColumn<{
1556
+ name: string;
1557
+ tableName: "supplier_contracts";
1558
+ dataType: "string";
1559
+ columnType: "PgText";
1560
+ data: string;
1561
+ driverParam: string;
1562
+ notNull: true;
1563
+ hasDefault: true;
1564
+ isPrimaryKey: true;
1565
+ isAutoincrement: false;
1566
+ hasRuntimeDefault: true;
1567
+ enumValues: [string, ...string[]];
1568
+ baseColumn: never;
1569
+ identity: undefined;
1570
+ generated: undefined;
1571
+ }, {}, {}>;
1572
+ supplierId: import("drizzle-orm/pg-core").PgColumn<{
1573
+ name: string;
1574
+ tableName: "supplier_contracts";
1575
+ dataType: "string";
1576
+ columnType: "PgText";
1577
+ data: string;
1578
+ driverParam: string;
1579
+ notNull: true;
1580
+ hasDefault: false;
1581
+ isPrimaryKey: false;
1582
+ isAutoincrement: false;
1583
+ hasRuntimeDefault: false;
1584
+ enumValues: [string, ...string[]];
1585
+ baseColumn: never;
1586
+ identity: undefined;
1587
+ generated: undefined;
1588
+ }, {}, {}>;
1589
+ agreementNumber: import("drizzle-orm/pg-core").PgColumn<{
1590
+ name: "agreement_number";
1591
+ tableName: "supplier_contracts";
1592
+ dataType: "string";
1593
+ columnType: "PgText";
1594
+ data: string;
1595
+ driverParam: string;
1596
+ notNull: false;
1597
+ hasDefault: false;
1598
+ isPrimaryKey: false;
1599
+ isAutoincrement: false;
1600
+ hasRuntimeDefault: false;
1601
+ enumValues: [string, ...string[]];
1602
+ baseColumn: never;
1603
+ identity: undefined;
1604
+ generated: undefined;
1605
+ }, {}, {}>;
1606
+ startDate: import("drizzle-orm/pg-core").PgColumn<{
1607
+ name: "start_date";
1608
+ tableName: "supplier_contracts";
1609
+ dataType: "string";
1610
+ columnType: "PgDateString";
1611
+ data: string;
1612
+ driverParam: string;
1613
+ notNull: true;
1614
+ hasDefault: false;
1615
+ isPrimaryKey: false;
1616
+ isAutoincrement: false;
1617
+ hasRuntimeDefault: false;
1618
+ enumValues: undefined;
1619
+ baseColumn: never;
1620
+ identity: undefined;
1621
+ generated: undefined;
1622
+ }, {}, {}>;
1623
+ endDate: import("drizzle-orm/pg-core").PgColumn<{
1624
+ name: "end_date";
1625
+ tableName: "supplier_contracts";
1626
+ dataType: "string";
1627
+ columnType: "PgDateString";
1628
+ data: string;
1629
+ driverParam: string;
1630
+ notNull: false;
1631
+ hasDefault: false;
1632
+ isPrimaryKey: false;
1633
+ isAutoincrement: false;
1634
+ hasRuntimeDefault: false;
1635
+ enumValues: undefined;
1636
+ baseColumn: never;
1637
+ identity: undefined;
1638
+ generated: undefined;
1639
+ }, {}, {}>;
1640
+ renewalDate: import("drizzle-orm/pg-core").PgColumn<{
1641
+ name: "renewal_date";
1642
+ tableName: "supplier_contracts";
1643
+ dataType: "string";
1644
+ columnType: "PgDateString";
1645
+ data: string;
1646
+ driverParam: string;
1647
+ notNull: false;
1648
+ hasDefault: false;
1649
+ isPrimaryKey: false;
1650
+ isAutoincrement: false;
1651
+ hasRuntimeDefault: false;
1652
+ enumValues: undefined;
1653
+ baseColumn: never;
1654
+ identity: undefined;
1655
+ generated: undefined;
1656
+ }, {}, {}>;
1657
+ terms: import("drizzle-orm/pg-core").PgColumn<{
1658
+ name: "terms";
1659
+ tableName: "supplier_contracts";
1660
+ dataType: "string";
1661
+ columnType: "PgText";
1662
+ data: string;
1663
+ driverParam: string;
1664
+ notNull: false;
1665
+ hasDefault: false;
1666
+ isPrimaryKey: false;
1667
+ isAutoincrement: false;
1668
+ hasRuntimeDefault: false;
1669
+ enumValues: [string, ...string[]];
1670
+ baseColumn: never;
1671
+ identity: undefined;
1672
+ generated: undefined;
1673
+ }, {}, {}>;
1674
+ status: import("drizzle-orm/pg-core").PgColumn<{
1675
+ name: "status";
1676
+ tableName: "supplier_contracts";
1677
+ dataType: "string";
1678
+ columnType: "PgEnumColumn";
1679
+ data: "active" | "pending" | "expired" | "terminated";
1680
+ driverParam: string;
1681
+ notNull: true;
1682
+ hasDefault: true;
1683
+ isPrimaryKey: false;
1684
+ isAutoincrement: false;
1685
+ hasRuntimeDefault: false;
1686
+ enumValues: ["active", "expired", "pending", "terminated"];
1687
+ baseColumn: never;
1688
+ identity: undefined;
1689
+ generated: undefined;
1690
+ }, {}, {}>;
1691
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1692
+ name: "created_at";
1693
+ tableName: "supplier_contracts";
1694
+ dataType: "date";
1695
+ columnType: "PgTimestamp";
1696
+ data: Date;
1697
+ driverParam: string;
1698
+ notNull: true;
1699
+ hasDefault: true;
1700
+ isPrimaryKey: false;
1701
+ isAutoincrement: false;
1702
+ hasRuntimeDefault: false;
1703
+ enumValues: undefined;
1704
+ baseColumn: never;
1705
+ identity: undefined;
1706
+ generated: undefined;
1707
+ }, {}, {}>;
1708
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1709
+ name: "updated_at";
1710
+ tableName: "supplier_contracts";
1711
+ dataType: "date";
1712
+ columnType: "PgTimestamp";
1713
+ data: Date;
1714
+ driverParam: string;
1715
+ notNull: true;
1716
+ hasDefault: true;
1717
+ isPrimaryKey: false;
1718
+ isAutoincrement: false;
1719
+ hasRuntimeDefault: false;
1720
+ enumValues: undefined;
1721
+ baseColumn: never;
1722
+ identity: undefined;
1723
+ generated: undefined;
1724
+ }, {}, {}>;
1725
+ }>, "where" | "orderBy">;
1726
+ createContract(db: PostgresJsDatabase, supplierId: string, data: CreateContractInput): Promise<{
1727
+ id: string;
1728
+ createdAt: Date;
1729
+ updatedAt: Date;
1730
+ status: "active" | "pending" | "expired" | "terminated";
1731
+ supplierId: string;
1732
+ agreementNumber: string | null;
1733
+ startDate: string;
1734
+ endDate: string | null;
1735
+ renewalDate: string | null;
1736
+ terms: string | null;
1737
+ } | null | undefined>;
1738
+ updateContract(db: PostgresJsDatabase, contractId: string, data: UpdateContractInput): Promise<{
1739
+ id: string;
1740
+ supplierId: string;
1741
+ agreementNumber: string | null;
1742
+ startDate: string;
1743
+ endDate: string | null;
1744
+ renewalDate: string | null;
1745
+ terms: string | null;
1746
+ status: "active" | "pending" | "expired" | "terminated";
1747
+ createdAt: Date;
1748
+ updatedAt: Date;
1749
+ } | null>;
1750
+ deleteContract(db: PostgresJsDatabase, contractId: string): Promise<{
1751
+ id: string;
1752
+ } | null>;
1753
+ };
1754
+ export {};
1755
+ //# sourceMappingURL=service.d.ts.map