@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,1183 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ type Env = {
3
+ Variables: {
4
+ db: PostgresJsDatabase;
5
+ userId?: string;
6
+ };
7
+ };
8
+ export declare const supplierRoutes: import("hono/hono-base").HonoBase<Env, {
9
+ "/": {
10
+ $get: {
11
+ input: {};
12
+ output: {
13
+ data: {
14
+ id: string;
15
+ name: string;
16
+ type: "other" | "hotel" | "restaurant" | "transfer" | "guide" | "experience" | "airline";
17
+ status: "active" | "inactive" | "pending";
18
+ description: string | null;
19
+ defaultCurrency: string | null;
20
+ paymentTermsDays: number | null;
21
+ primaryFacilityId: string | null;
22
+ tags: string[] | null;
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ email: string | null;
26
+ phone: string | null;
27
+ website: string | null;
28
+ address: string | null;
29
+ city: string | null;
30
+ country: string | null;
31
+ contactName: string | null;
32
+ contactEmail: string | null;
33
+ contactPhone: string | null;
34
+ }[];
35
+ total: number;
36
+ limit: number;
37
+ offset: number;
38
+ };
39
+ outputFormat: "json";
40
+ status: import("hono/utils/http-status").ContentfulStatusCode;
41
+ };
42
+ };
43
+ } & {
44
+ "/contact-points/:contactPointId": {
45
+ $patch: {
46
+ input: {
47
+ param: {
48
+ contactPointId: string;
49
+ };
50
+ };
51
+ output: {
52
+ error: string;
53
+ };
54
+ outputFormat: "json";
55
+ status: 404;
56
+ } | {
57
+ input: {
58
+ param: {
59
+ contactPointId: string;
60
+ };
61
+ };
62
+ output: {
63
+ data: {
64
+ id: string;
65
+ entityType: string;
66
+ entityId: string;
67
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
68
+ label: string | null;
69
+ value: string;
70
+ normalizedValue: string | null;
71
+ isPrimary: boolean;
72
+ notes: string | null;
73
+ metadata: {
74
+ [x: string]: import("hono/utils/types").JSONValue;
75
+ } | null;
76
+ createdAt: string;
77
+ updatedAt: string;
78
+ };
79
+ };
80
+ outputFormat: "json";
81
+ status: import("hono/utils/http-status").ContentfulStatusCode;
82
+ };
83
+ };
84
+ } & {
85
+ "/contacts/:contactId": {
86
+ $patch: {
87
+ input: {
88
+ param: {
89
+ contactId: string;
90
+ };
91
+ };
92
+ output: {
93
+ error: string;
94
+ };
95
+ outputFormat: "json";
96
+ status: 404;
97
+ } | {
98
+ input: {
99
+ param: {
100
+ contactId: string;
101
+ };
102
+ };
103
+ output: {
104
+ data: {
105
+ id: string;
106
+ entityType: string;
107
+ entityId: string;
108
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
109
+ name: string;
110
+ title: string | null;
111
+ email: string | null;
112
+ phone: string | null;
113
+ isPrimary: boolean;
114
+ notes: string | null;
115
+ metadata: {
116
+ [x: string]: import("hono/utils/types").JSONValue;
117
+ } | null;
118
+ createdAt: string;
119
+ updatedAt: string;
120
+ };
121
+ };
122
+ outputFormat: "json";
123
+ status: import("hono/utils/http-status").ContentfulStatusCode;
124
+ };
125
+ };
126
+ } & {
127
+ "/contacts/:contactId": {
128
+ $delete: {
129
+ input: {
130
+ param: {
131
+ contactId: string;
132
+ };
133
+ };
134
+ output: {
135
+ error: string;
136
+ };
137
+ outputFormat: "json";
138
+ status: 404;
139
+ } | {
140
+ input: {
141
+ param: {
142
+ contactId: string;
143
+ };
144
+ };
145
+ output: {
146
+ success: true;
147
+ };
148
+ outputFormat: "json";
149
+ status: 200;
150
+ };
151
+ };
152
+ } & {
153
+ "/contact-points/:contactPointId": {
154
+ $delete: {
155
+ input: {
156
+ param: {
157
+ contactPointId: string;
158
+ };
159
+ };
160
+ output: {
161
+ error: string;
162
+ };
163
+ outputFormat: "json";
164
+ status: 404;
165
+ } | {
166
+ input: {
167
+ param: {
168
+ contactPointId: string;
169
+ };
170
+ };
171
+ output: {
172
+ success: true;
173
+ };
174
+ outputFormat: "json";
175
+ status: 200;
176
+ };
177
+ };
178
+ } & {
179
+ "/addresses/:addressId": {
180
+ $patch: {
181
+ input: {
182
+ param: {
183
+ addressId: string;
184
+ };
185
+ };
186
+ output: {
187
+ error: string;
188
+ };
189
+ outputFormat: "json";
190
+ status: 404;
191
+ } | {
192
+ input: {
193
+ param: {
194
+ addressId: string;
195
+ };
196
+ };
197
+ output: {
198
+ data: {
199
+ id: string;
200
+ entityType: string;
201
+ entityId: string;
202
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
203
+ fullText: string | null;
204
+ line1: string | null;
205
+ line2: string | null;
206
+ city: string | null;
207
+ region: string | null;
208
+ postalCode: string | null;
209
+ country: string | null;
210
+ latitude: number | null;
211
+ longitude: number | null;
212
+ timezone: string | null;
213
+ isPrimary: boolean;
214
+ notes: string | null;
215
+ metadata: {
216
+ [x: string]: import("hono/utils/types").JSONValue;
217
+ } | null;
218
+ createdAt: string;
219
+ updatedAt: string;
220
+ };
221
+ };
222
+ outputFormat: "json";
223
+ status: import("hono/utils/http-status").ContentfulStatusCode;
224
+ };
225
+ };
226
+ } & {
227
+ "/addresses/:addressId": {
228
+ $delete: {
229
+ input: {
230
+ param: {
231
+ addressId: string;
232
+ };
233
+ };
234
+ output: {
235
+ error: string;
236
+ };
237
+ outputFormat: "json";
238
+ status: 404;
239
+ } | {
240
+ input: {
241
+ param: {
242
+ addressId: string;
243
+ };
244
+ };
245
+ output: {
246
+ success: true;
247
+ };
248
+ outputFormat: "json";
249
+ status: 200;
250
+ };
251
+ };
252
+ } & {
253
+ "/:id": {
254
+ $get: {
255
+ input: {
256
+ param: {
257
+ id: string;
258
+ };
259
+ };
260
+ output: {
261
+ error: string;
262
+ };
263
+ outputFormat: "json";
264
+ status: 404;
265
+ } | {
266
+ input: {
267
+ param: {
268
+ id: string;
269
+ };
270
+ };
271
+ output: {
272
+ data: {
273
+ name: string;
274
+ type: "other" | "hotel" | "restaurant" | "transfer" | "guide" | "experience" | "airline";
275
+ id: string;
276
+ createdAt: string;
277
+ updatedAt: string;
278
+ description: string | null;
279
+ status: "active" | "inactive" | "pending";
280
+ tags: string[] | null;
281
+ defaultCurrency: string | null;
282
+ paymentTermsDays: number | null;
283
+ primaryFacilityId: string | null;
284
+ email: string | null;
285
+ phone: string | null;
286
+ website: string | null;
287
+ address: string | null;
288
+ city: string | null;
289
+ country: string | null;
290
+ contactName: string | null;
291
+ contactEmail: string | null;
292
+ contactPhone: string | null;
293
+ };
294
+ };
295
+ outputFormat: "json";
296
+ status: import("hono/utils/http-status").ContentfulStatusCode;
297
+ };
298
+ };
299
+ } & {
300
+ "/": {
301
+ $post: {
302
+ input: {};
303
+ output: {
304
+ data: {
305
+ email: string | null;
306
+ phone: string | null;
307
+ website: string | null;
308
+ address: string | null;
309
+ city: string | null;
310
+ country: string | null;
311
+ contactName: string | null;
312
+ contactEmail: string | null;
313
+ contactPhone: string | null;
314
+ name: string;
315
+ type: "other" | "hotel" | "restaurant" | "transfer" | "guide" | "experience" | "airline";
316
+ id: string;
317
+ createdAt: string;
318
+ updatedAt: string;
319
+ description: string | null;
320
+ status: "active" | "inactive" | "pending";
321
+ tags: string[] | null;
322
+ defaultCurrency: string | null;
323
+ paymentTermsDays: number | null;
324
+ primaryFacilityId: string | null;
325
+ };
326
+ };
327
+ outputFormat: "json";
328
+ status: 201;
329
+ };
330
+ };
331
+ } & {
332
+ "/:id": {
333
+ $patch: {
334
+ input: {
335
+ param: {
336
+ id: string;
337
+ };
338
+ };
339
+ output: {
340
+ error: string;
341
+ };
342
+ outputFormat: "json";
343
+ status: 404;
344
+ } | {
345
+ input: {
346
+ param: {
347
+ id: string;
348
+ };
349
+ };
350
+ output: {
351
+ data: {
352
+ email: string | null;
353
+ phone: string | null;
354
+ website: string | null;
355
+ address: string | null;
356
+ city: string | null;
357
+ country: string | null;
358
+ contactName: string | null;
359
+ contactEmail: string | null;
360
+ contactPhone: string | null;
361
+ id: string;
362
+ name: string;
363
+ type: "other" | "hotel" | "restaurant" | "transfer" | "guide" | "experience" | "airline";
364
+ status: "active" | "inactive" | "pending";
365
+ description: string | null;
366
+ defaultCurrency: string | null;
367
+ paymentTermsDays: number | null;
368
+ primaryFacilityId: string | null;
369
+ tags: string[] | null;
370
+ createdAt: string;
371
+ updatedAt: string;
372
+ };
373
+ };
374
+ outputFormat: "json";
375
+ status: import("hono/utils/http-status").ContentfulStatusCode;
376
+ };
377
+ };
378
+ } & {
379
+ "/:id": {
380
+ $delete: {
381
+ input: {
382
+ param: {
383
+ id: string;
384
+ };
385
+ };
386
+ output: {
387
+ error: string;
388
+ };
389
+ outputFormat: "json";
390
+ status: 404;
391
+ } | {
392
+ input: {
393
+ param: {
394
+ id: string;
395
+ };
396
+ };
397
+ output: {
398
+ success: true;
399
+ };
400
+ outputFormat: "json";
401
+ status: 200;
402
+ };
403
+ };
404
+ } & {
405
+ "/:id/contact-points": {
406
+ $get: {
407
+ input: {
408
+ param: {
409
+ id: string;
410
+ };
411
+ };
412
+ output: {
413
+ data: {
414
+ id: string;
415
+ entityType: string;
416
+ entityId: string;
417
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
418
+ label: string | null;
419
+ value: string;
420
+ normalizedValue: string | null;
421
+ isPrimary: boolean;
422
+ notes: string | null;
423
+ metadata: {
424
+ [x: string]: import("hono/utils/types").JSONValue;
425
+ } | null;
426
+ createdAt: string;
427
+ updatedAt: string;
428
+ }[];
429
+ };
430
+ outputFormat: "json";
431
+ status: import("hono/utils/http-status").ContentfulStatusCode;
432
+ };
433
+ };
434
+ } & {
435
+ "/:id/contact-points": {
436
+ $post: {
437
+ input: {
438
+ param: {
439
+ id: string;
440
+ };
441
+ };
442
+ output: {
443
+ error: string;
444
+ };
445
+ outputFormat: "json";
446
+ status: 404;
447
+ } | {
448
+ input: {
449
+ param: {
450
+ id: string;
451
+ };
452
+ };
453
+ output: {
454
+ data: {
455
+ value: string;
456
+ kind: "email" | "phone" | "mobile" | "whatsapp" | "website" | "sms" | "fax" | "social" | "other";
457
+ entityType: string;
458
+ entityId: string;
459
+ label: string | null;
460
+ normalizedValue: string | null;
461
+ isPrimary: boolean;
462
+ notes: string | null;
463
+ metadata: {
464
+ [x: string]: import("hono/utils/types").JSONValue;
465
+ } | null;
466
+ id: string;
467
+ createdAt: string;
468
+ updatedAt: string;
469
+ };
470
+ };
471
+ outputFormat: "json";
472
+ status: 201;
473
+ };
474
+ };
475
+ } & {
476
+ "/:id/contacts": {
477
+ $get: {
478
+ input: {
479
+ param: {
480
+ id: string;
481
+ };
482
+ };
483
+ output: {
484
+ data: {
485
+ id: string;
486
+ entityType: string;
487
+ entityId: string;
488
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
489
+ name: string;
490
+ title: string | null;
491
+ email: string | null;
492
+ phone: string | null;
493
+ isPrimary: boolean;
494
+ notes: string | null;
495
+ metadata: {
496
+ [x: string]: import("hono/utils/types").JSONValue;
497
+ } | null;
498
+ createdAt: string;
499
+ updatedAt: string;
500
+ }[];
501
+ };
502
+ outputFormat: "json";
503
+ status: import("hono/utils/http-status").ContentfulStatusCode;
504
+ };
505
+ };
506
+ } & {
507
+ "/:id/contacts": {
508
+ $post: {
509
+ input: {
510
+ param: {
511
+ id: string;
512
+ };
513
+ };
514
+ output: {
515
+ error: string;
516
+ };
517
+ outputFormat: "json";
518
+ status: 404;
519
+ } | {
520
+ input: {
521
+ param: {
522
+ id: string;
523
+ };
524
+ };
525
+ output: {
526
+ data: {
527
+ name: string;
528
+ email: string | null;
529
+ phone: string | null;
530
+ entityType: string;
531
+ entityId: string;
532
+ isPrimary: boolean;
533
+ notes: string | null;
534
+ metadata: {
535
+ [x: string]: import("hono/utils/types").JSONValue;
536
+ } | null;
537
+ role: "other" | "primary" | "legal" | "general" | "reservations" | "operations" | "front_desk" | "sales" | "emergency" | "accounting";
538
+ title: string | null;
539
+ id: string;
540
+ createdAt: string;
541
+ updatedAt: string;
542
+ };
543
+ };
544
+ outputFormat: "json";
545
+ status: 201;
546
+ };
547
+ };
548
+ } & {
549
+ "/:id/addresses": {
550
+ $get: {
551
+ input: {
552
+ param: {
553
+ id: string;
554
+ };
555
+ };
556
+ output: {
557
+ data: {
558
+ id: string;
559
+ entityType: string;
560
+ entityId: string;
561
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
562
+ fullText: string | null;
563
+ line1: string | null;
564
+ line2: string | null;
565
+ city: string | null;
566
+ region: string | null;
567
+ postalCode: string | null;
568
+ country: string | null;
569
+ latitude: number | null;
570
+ longitude: number | null;
571
+ timezone: string | null;
572
+ isPrimary: boolean;
573
+ notes: string | null;
574
+ metadata: {
575
+ [x: string]: import("hono/utils/types").JSONValue;
576
+ } | null;
577
+ createdAt: string;
578
+ updatedAt: string;
579
+ }[];
580
+ };
581
+ outputFormat: "json";
582
+ status: import("hono/utils/http-status").ContentfulStatusCode;
583
+ };
584
+ };
585
+ } & {
586
+ "/:id/addresses": {
587
+ $post: {
588
+ input: {
589
+ param: {
590
+ id: string;
591
+ };
592
+ };
593
+ output: {
594
+ error: string;
595
+ };
596
+ outputFormat: "json";
597
+ status: 404;
598
+ } | {
599
+ input: {
600
+ param: {
601
+ id: string;
602
+ };
603
+ };
604
+ output: {
605
+ data: {
606
+ entityType: string;
607
+ entityId: string;
608
+ label: "other" | "primary" | "billing" | "shipping" | "mailing" | "meeting" | "service" | "legal";
609
+ isPrimary: boolean;
610
+ notes: string | null;
611
+ metadata: {
612
+ [x: string]: import("hono/utils/types").JSONValue;
613
+ } | null;
614
+ fullText: string | null;
615
+ line1: string | null;
616
+ line2: string | null;
617
+ city: string | null;
618
+ region: string | null;
619
+ postalCode: string | null;
620
+ country: string | null;
621
+ latitude: number | null;
622
+ longitude: number | null;
623
+ timezone: string | null;
624
+ id: string;
625
+ createdAt: string;
626
+ updatedAt: string;
627
+ };
628
+ };
629
+ outputFormat: "json";
630
+ status: 201;
631
+ };
632
+ };
633
+ } & {
634
+ "/:id/services": {
635
+ $get: {
636
+ input: {
637
+ param: {
638
+ id: string;
639
+ };
640
+ };
641
+ output: {
642
+ data: {
643
+ id: string;
644
+ supplierId: string;
645
+ serviceType: "other" | "transfer" | "guide" | "experience" | "accommodation" | "meal";
646
+ facilityId: string | null;
647
+ name: string;
648
+ description: string | null;
649
+ duration: string | null;
650
+ capacity: number | null;
651
+ active: boolean;
652
+ tags: string[] | null;
653
+ createdAt: string;
654
+ updatedAt: string;
655
+ }[];
656
+ };
657
+ outputFormat: "json";
658
+ status: import("hono/utils/http-status").ContentfulStatusCode;
659
+ };
660
+ };
661
+ } & {
662
+ "/:id/services": {
663
+ $post: {
664
+ input: {
665
+ param: {
666
+ id: string;
667
+ };
668
+ };
669
+ output: {
670
+ error: string;
671
+ };
672
+ outputFormat: "json";
673
+ status: 404;
674
+ } | {
675
+ input: {
676
+ param: {
677
+ id: string;
678
+ };
679
+ };
680
+ output: {
681
+ data: {
682
+ name: string;
683
+ duration: string | null;
684
+ id: string;
685
+ createdAt: string;
686
+ updatedAt: string;
687
+ description: string | null;
688
+ active: boolean;
689
+ tags: string[] | null;
690
+ facilityId: string | null;
691
+ supplierId: string;
692
+ serviceType: "other" | "transfer" | "guide" | "experience" | "accommodation" | "meal";
693
+ capacity: number | null;
694
+ };
695
+ };
696
+ outputFormat: "json";
697
+ status: 201;
698
+ };
699
+ };
700
+ } & {
701
+ "/:id/services/:serviceId": {
702
+ $patch: {
703
+ input: {
704
+ param: {
705
+ id: string;
706
+ } & {
707
+ serviceId: string;
708
+ };
709
+ };
710
+ output: {
711
+ error: string;
712
+ };
713
+ outputFormat: "json";
714
+ status: 404;
715
+ } | {
716
+ input: {
717
+ param: {
718
+ id: string;
719
+ } & {
720
+ serviceId: string;
721
+ };
722
+ };
723
+ output: {
724
+ data: {
725
+ id: string;
726
+ supplierId: string;
727
+ serviceType: "other" | "transfer" | "guide" | "experience" | "accommodation" | "meal";
728
+ facilityId: string | null;
729
+ name: string;
730
+ description: string | null;
731
+ duration: string | null;
732
+ capacity: number | null;
733
+ active: boolean;
734
+ tags: string[] | null;
735
+ createdAt: string;
736
+ updatedAt: string;
737
+ };
738
+ };
739
+ outputFormat: "json";
740
+ status: import("hono/utils/http-status").ContentfulStatusCode;
741
+ };
742
+ };
743
+ } & {
744
+ "/:id/services/:serviceId": {
745
+ $delete: {
746
+ input: {
747
+ param: {
748
+ id: string;
749
+ } & {
750
+ serviceId: string;
751
+ };
752
+ };
753
+ output: {
754
+ error: string;
755
+ };
756
+ outputFormat: "json";
757
+ status: 404;
758
+ } | {
759
+ input: {
760
+ param: {
761
+ id: string;
762
+ } & {
763
+ serviceId: string;
764
+ };
765
+ };
766
+ output: {
767
+ success: true;
768
+ };
769
+ outputFormat: "json";
770
+ status: 200;
771
+ };
772
+ };
773
+ } & {
774
+ "/:id/services/:serviceId/rates": {
775
+ $get: {
776
+ input: {
777
+ param: {
778
+ id: string;
779
+ } & {
780
+ serviceId: string;
781
+ };
782
+ };
783
+ output: {
784
+ data: {
785
+ id: string;
786
+ serviceId: string;
787
+ name: string;
788
+ currency: string;
789
+ amountCents: number;
790
+ unit: "flat" | "per_person" | "per_group" | "per_night" | "per_vehicle";
791
+ validFrom: string | null;
792
+ validTo: string | null;
793
+ minPax: number | null;
794
+ maxPax: number | null;
795
+ notes: string | null;
796
+ createdAt: string;
797
+ }[];
798
+ };
799
+ outputFormat: "json";
800
+ status: import("hono/utils/http-status").ContentfulStatusCode;
801
+ };
802
+ };
803
+ } & {
804
+ "/:id/services/:serviceId/rates": {
805
+ $post: {
806
+ input: {
807
+ param: {
808
+ id: string;
809
+ } & {
810
+ serviceId: string;
811
+ };
812
+ };
813
+ output: {
814
+ error: string;
815
+ };
816
+ outputFormat: "json";
817
+ status: 404;
818
+ } | {
819
+ input: {
820
+ param: {
821
+ id: string;
822
+ } & {
823
+ serviceId: string;
824
+ };
825
+ };
826
+ output: {
827
+ data: {
828
+ name: string;
829
+ notes: string | null;
830
+ id: string;
831
+ createdAt: string;
832
+ validFrom: string | null;
833
+ validTo: string | null;
834
+ serviceId: string;
835
+ currency: string;
836
+ amountCents: number;
837
+ unit: "flat" | "per_person" | "per_group" | "per_night" | "per_vehicle";
838
+ minPax: number | null;
839
+ maxPax: number | null;
840
+ };
841
+ };
842
+ outputFormat: "json";
843
+ status: 201;
844
+ };
845
+ };
846
+ } & {
847
+ "/:id/services/:serviceId/rates/:rateId": {
848
+ $patch: {
849
+ input: {
850
+ param: {
851
+ id: string;
852
+ } & {
853
+ serviceId: string;
854
+ } & {
855
+ rateId: string;
856
+ };
857
+ };
858
+ output: {
859
+ error: string;
860
+ };
861
+ outputFormat: "json";
862
+ status: 404;
863
+ } | {
864
+ input: {
865
+ param: {
866
+ id: string;
867
+ } & {
868
+ serviceId: string;
869
+ } & {
870
+ rateId: string;
871
+ };
872
+ };
873
+ output: {
874
+ data: {
875
+ id: string;
876
+ serviceId: string;
877
+ name: string;
878
+ currency: string;
879
+ amountCents: number;
880
+ unit: "flat" | "per_person" | "per_group" | "per_night" | "per_vehicle";
881
+ validFrom: string | null;
882
+ validTo: string | null;
883
+ minPax: number | null;
884
+ maxPax: number | null;
885
+ notes: string | null;
886
+ createdAt: string;
887
+ };
888
+ };
889
+ outputFormat: "json";
890
+ status: import("hono/utils/http-status").ContentfulStatusCode;
891
+ };
892
+ };
893
+ } & {
894
+ "/:id/services/:serviceId/rates/:rateId": {
895
+ $delete: {
896
+ input: {
897
+ param: {
898
+ id: string;
899
+ } & {
900
+ serviceId: string;
901
+ } & {
902
+ rateId: string;
903
+ };
904
+ };
905
+ output: {
906
+ error: string;
907
+ };
908
+ outputFormat: "json";
909
+ status: 404;
910
+ } | {
911
+ input: {
912
+ param: {
913
+ id: string;
914
+ } & {
915
+ serviceId: string;
916
+ } & {
917
+ rateId: string;
918
+ };
919
+ };
920
+ output: {
921
+ success: true;
922
+ };
923
+ outputFormat: "json";
924
+ status: 200;
925
+ };
926
+ };
927
+ } & {
928
+ "/:id/notes": {
929
+ $get: {
930
+ input: {
931
+ param: {
932
+ id: string;
933
+ };
934
+ };
935
+ output: {
936
+ data: {
937
+ id: string;
938
+ supplierId: string;
939
+ authorId: string;
940
+ content: string;
941
+ createdAt: string;
942
+ }[];
943
+ };
944
+ outputFormat: "json";
945
+ status: import("hono/utils/http-status").ContentfulStatusCode;
946
+ };
947
+ };
948
+ } & {
949
+ "/:id/notes": {
950
+ $post: {
951
+ input: {
952
+ param: {
953
+ id: string;
954
+ };
955
+ };
956
+ output: {
957
+ error: string;
958
+ };
959
+ outputFormat: "json";
960
+ status: 400;
961
+ } | {
962
+ input: {
963
+ param: {
964
+ id: string;
965
+ };
966
+ };
967
+ output: {
968
+ error: string;
969
+ };
970
+ outputFormat: "json";
971
+ status: 404;
972
+ } | {
973
+ input: {
974
+ param: {
975
+ id: string;
976
+ };
977
+ };
978
+ output: {
979
+ data: {
980
+ id: string;
981
+ createdAt: string;
982
+ supplierId: string;
983
+ authorId: string;
984
+ content: string;
985
+ };
986
+ };
987
+ outputFormat: "json";
988
+ status: 201;
989
+ };
990
+ };
991
+ } & {
992
+ "/:id/availability": {
993
+ $get: {
994
+ input: {
995
+ param: {
996
+ id: string;
997
+ };
998
+ };
999
+ output: {
1000
+ data: {
1001
+ id: string;
1002
+ supplierId: string;
1003
+ date: string;
1004
+ available: boolean;
1005
+ notes: string | null;
1006
+ createdAt: string;
1007
+ }[];
1008
+ };
1009
+ outputFormat: "json";
1010
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1011
+ };
1012
+ };
1013
+ } & {
1014
+ "/:id/availability": {
1015
+ $post: {
1016
+ input: {
1017
+ param: {
1018
+ id: string;
1019
+ };
1020
+ };
1021
+ output: {
1022
+ error: string;
1023
+ };
1024
+ outputFormat: "json";
1025
+ status: 404;
1026
+ } | {
1027
+ input: {
1028
+ param: {
1029
+ id: string;
1030
+ };
1031
+ };
1032
+ output: {
1033
+ data: {
1034
+ date: string;
1035
+ notes: string | null;
1036
+ id: string;
1037
+ createdAt: string;
1038
+ supplierId: string;
1039
+ available: boolean;
1040
+ }[];
1041
+ };
1042
+ outputFormat: "json";
1043
+ status: 201;
1044
+ };
1045
+ };
1046
+ } & {
1047
+ "/:id/contracts": {
1048
+ $get: {
1049
+ input: {
1050
+ param: {
1051
+ id: string;
1052
+ };
1053
+ };
1054
+ output: {
1055
+ data: {
1056
+ id: string;
1057
+ supplierId: string;
1058
+ agreementNumber: string | null;
1059
+ startDate: string;
1060
+ endDate: string | null;
1061
+ renewalDate: string | null;
1062
+ terms: string | null;
1063
+ status: "active" | "pending" | "expired" | "terminated";
1064
+ createdAt: string;
1065
+ updatedAt: string;
1066
+ }[];
1067
+ };
1068
+ outputFormat: "json";
1069
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1070
+ };
1071
+ };
1072
+ } & {
1073
+ "/:id/contracts": {
1074
+ $post: {
1075
+ input: {
1076
+ param: {
1077
+ id: string;
1078
+ };
1079
+ };
1080
+ output: {
1081
+ error: string;
1082
+ };
1083
+ outputFormat: "json";
1084
+ status: 404;
1085
+ } | {
1086
+ input: {
1087
+ param: {
1088
+ id: string;
1089
+ };
1090
+ };
1091
+ output: {
1092
+ data: {
1093
+ id: string;
1094
+ createdAt: string;
1095
+ updatedAt: string;
1096
+ status: "active" | "pending" | "expired" | "terminated";
1097
+ supplierId: string;
1098
+ agreementNumber: string | null;
1099
+ startDate: string;
1100
+ endDate: string | null;
1101
+ renewalDate: string | null;
1102
+ terms: string | null;
1103
+ };
1104
+ };
1105
+ outputFormat: "json";
1106
+ status: 201;
1107
+ };
1108
+ };
1109
+ } & {
1110
+ "/:id/contracts/:contractId": {
1111
+ $patch: {
1112
+ input: {
1113
+ param: {
1114
+ id: string;
1115
+ } & {
1116
+ contractId: string;
1117
+ };
1118
+ };
1119
+ output: {
1120
+ error: string;
1121
+ };
1122
+ outputFormat: "json";
1123
+ status: 404;
1124
+ } | {
1125
+ input: {
1126
+ param: {
1127
+ id: string;
1128
+ } & {
1129
+ contractId: string;
1130
+ };
1131
+ };
1132
+ output: {
1133
+ data: {
1134
+ id: string;
1135
+ supplierId: string;
1136
+ agreementNumber: string | null;
1137
+ startDate: string;
1138
+ endDate: string | null;
1139
+ renewalDate: string | null;
1140
+ terms: string | null;
1141
+ status: "active" | "pending" | "expired" | "terminated";
1142
+ createdAt: string;
1143
+ updatedAt: string;
1144
+ };
1145
+ };
1146
+ outputFormat: "json";
1147
+ status: import("hono/utils/http-status").ContentfulStatusCode;
1148
+ };
1149
+ };
1150
+ } & {
1151
+ "/:id/contracts/:contractId": {
1152
+ $delete: {
1153
+ input: {
1154
+ param: {
1155
+ id: string;
1156
+ } & {
1157
+ contractId: string;
1158
+ };
1159
+ };
1160
+ output: {
1161
+ error: string;
1162
+ };
1163
+ outputFormat: "json";
1164
+ status: 404;
1165
+ } | {
1166
+ input: {
1167
+ param: {
1168
+ id: string;
1169
+ } & {
1170
+ contractId: string;
1171
+ };
1172
+ };
1173
+ output: {
1174
+ success: true;
1175
+ };
1176
+ outputFormat: "json";
1177
+ status: 200;
1178
+ };
1179
+ };
1180
+ }, "/", "/:id/contracts/:contractId">;
1181
+ export type SupplierRoutes = typeof supplierRoutes;
1182
+ export {};
1183
+ //# sourceMappingURL=routes.d.ts.map