@voyant-travel/quotes 0.119.2

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 (51) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +39 -0
  3. package/dist/booking-extension.d.ts +123 -0
  4. package/dist/booking-extension.d.ts.map +1 -0
  5. package/dist/booking-extension.js +87 -0
  6. package/dist/index.d.ts +16 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +32 -0
  9. package/dist/routes/index.d.ts +1410 -0
  10. package/dist/routes/index.d.ts.map +1 -0
  11. package/dist/routes/index.js +8 -0
  12. package/dist/routes/pipelines.d.ts +292 -0
  13. package/dist/routes/pipelines.d.ts.map +1 -0
  14. package/dist/routes/pipelines.js +59 -0
  15. package/dist/routes/quote-versions.d.ts +746 -0
  16. package/dist/routes/quote-versions.d.ts.map +1 -0
  17. package/dist/routes/quote-versions.js +175 -0
  18. package/dist/routes/quotes.d.ts +391 -0
  19. package/dist/routes/quotes.d.ts.map +1 -0
  20. package/dist/routes/quotes.js +70 -0
  21. package/dist/schema-relations.d.ts +30 -0
  22. package/dist/schema-relations.d.ts.map +1 -0
  23. package/dist/schema-relations.js +49 -0
  24. package/dist/schema-sales.d.ts +1511 -0
  25. package/dist/schema-sales.d.ts.map +1 -0
  26. package/dist/schema-sales.js +164 -0
  27. package/dist/schema-shared.d.ts +5 -0
  28. package/dist/schema-shared.d.ts.map +1 -0
  29. package/dist/schema-shared.js +18 -0
  30. package/dist/schema.d.ts +5 -0
  31. package/dist/schema.d.ts.map +1 -0
  32. package/dist/schema.js +4 -0
  33. package/dist/service/helpers.d.ts +22 -0
  34. package/dist/service/helpers.d.ts.map +1 -0
  35. package/dist/service/helpers.js +39 -0
  36. package/dist/service/index.d.ts +1734 -0
  37. package/dist/service/index.d.ts.map +1 -0
  38. package/dist/service/index.js +11 -0
  39. package/dist/service/pipelines.d.ts +113 -0
  40. package/dist/service/pipelines.d.ts.map +1 -0
  41. package/dist/service/pipelines.js +68 -0
  42. package/dist/service/quote-versions.d.ts +674 -0
  43. package/dist/service/quote-versions.d.ts.map +1 -0
  44. package/dist/service/quote-versions.js +400 -0
  45. package/dist/service/quotes.d.ts +826 -0
  46. package/dist/service/quotes.d.ts.map +1 -0
  47. package/dist/service/quotes.js +110 -0
  48. package/dist/validation.d.ts +2 -0
  49. package/dist/validation.d.ts.map +1 -0
  50. package/dist/validation.js +1 -0
  51. package/package.json +72 -0
@@ -0,0 +1,826 @@
1
+ import type { PostgresJsDatabase } from "drizzle-orm/postgres-js";
2
+ import type { z } from "zod";
3
+ import type { insertQuoteParticipantSchema, insertQuoteProductSchema, insertQuoteSchema, quoteListQuerySchema, updateQuoteProductSchema, updateQuoteSchema } from "../validation.js";
4
+ type QuoteListQuery = z.infer<typeof quoteListQuerySchema>;
5
+ type CreateQuoteInput = z.infer<typeof insertQuoteSchema>;
6
+ type UpdateQuoteInput = z.infer<typeof updateQuoteSchema>;
7
+ type CreateQuoteParticipantInput = z.infer<typeof insertQuoteParticipantSchema>;
8
+ type CreateQuoteProductInput = z.infer<typeof insertQuoteProductSchema>;
9
+ type UpdateQuoteProductInput = z.infer<typeof updateQuoteProductSchema>;
10
+ export declare const quotesService: {
11
+ listQuotes(db: PostgresJsDatabase, query: QuoteListQuery): Promise<{
12
+ data: {
13
+ id: string;
14
+ title: string;
15
+ personId: string | null;
16
+ organizationId: string | null;
17
+ pipelineId: string;
18
+ stageId: string;
19
+ ownerId: string | null;
20
+ status: "open" | "won" | "lost" | "archived";
21
+ acceptedVersionId: string | null;
22
+ valueAmountCents: number | null;
23
+ valueCurrency: string | null;
24
+ expectedCloseDate: string | null;
25
+ source: string | null;
26
+ sourceRef: string | null;
27
+ lostReason: string | null;
28
+ tags: string[];
29
+ createdAt: Date;
30
+ updatedAt: Date;
31
+ stageChangedAt: Date;
32
+ closedAt: Date | null;
33
+ }[];
34
+ total: number;
35
+ limit: number;
36
+ offset: number;
37
+ }>;
38
+ getQuoteById(db: PostgresJsDatabase, id: string): Promise<{
39
+ id: string;
40
+ title: string;
41
+ personId: string | null;
42
+ organizationId: string | null;
43
+ pipelineId: string;
44
+ stageId: string;
45
+ ownerId: string | null;
46
+ status: "open" | "won" | "lost" | "archived";
47
+ acceptedVersionId: string | null;
48
+ valueAmountCents: number | null;
49
+ valueCurrency: string | null;
50
+ expectedCloseDate: string | null;
51
+ source: string | null;
52
+ sourceRef: string | null;
53
+ lostReason: string | null;
54
+ tags: string[];
55
+ createdAt: Date;
56
+ updatedAt: Date;
57
+ stageChangedAt: Date;
58
+ closedAt: Date | null;
59
+ } | null>;
60
+ createQuote(db: PostgresJsDatabase, data: CreateQuoteInput): Promise<{
61
+ createdAt: Date;
62
+ updatedAt: Date;
63
+ id: string;
64
+ title: string;
65
+ pipelineId: string;
66
+ personId: string | null;
67
+ organizationId: string | null;
68
+ stageId: string;
69
+ ownerId: string | null;
70
+ status: "open" | "won" | "lost" | "archived";
71
+ acceptedVersionId: string | null;
72
+ valueAmountCents: number | null;
73
+ valueCurrency: string | null;
74
+ expectedCloseDate: string | null;
75
+ source: string | null;
76
+ sourceRef: string | null;
77
+ lostReason: string | null;
78
+ tags: string[];
79
+ stageChangedAt: Date;
80
+ closedAt: Date | null;
81
+ } | undefined>;
82
+ updateQuote(db: PostgresJsDatabase, id: string, data: UpdateQuoteInput): Promise<{
83
+ id: string;
84
+ title: string;
85
+ personId: string | null;
86
+ organizationId: string | null;
87
+ pipelineId: string;
88
+ stageId: string;
89
+ ownerId: string | null;
90
+ status: "open" | "won" | "lost" | "archived";
91
+ acceptedVersionId: string | null;
92
+ valueAmountCents: number | null;
93
+ valueCurrency: string | null;
94
+ expectedCloseDate: string | null;
95
+ source: string | null;
96
+ sourceRef: string | null;
97
+ lostReason: string | null;
98
+ tags: string[];
99
+ createdAt: Date;
100
+ updatedAt: Date;
101
+ stageChangedAt: Date;
102
+ closedAt: Date | null;
103
+ } | null>;
104
+ deleteQuote(db: PostgresJsDatabase, id: string): Promise<{
105
+ id: string;
106
+ } | null>;
107
+ listQuoteParticipants(db: PostgresJsDatabase, quoteId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"quote_participants", {
108
+ id: import("drizzle-orm/pg-core").PgColumn<{
109
+ name: string;
110
+ tableName: "quote_participants";
111
+ dataType: "string";
112
+ columnType: "PgText";
113
+ data: string;
114
+ driverParam: string;
115
+ notNull: true;
116
+ hasDefault: true;
117
+ isPrimaryKey: true;
118
+ isAutoincrement: false;
119
+ hasRuntimeDefault: true;
120
+ enumValues: [string, ...string[]];
121
+ baseColumn: never;
122
+ identity: undefined;
123
+ generated: undefined;
124
+ }, {}, {}>;
125
+ quoteId: import("drizzle-orm/pg-core").PgColumn<{
126
+ name: string;
127
+ tableName: "quote_participants";
128
+ dataType: "string";
129
+ columnType: "PgText";
130
+ data: string;
131
+ driverParam: string;
132
+ notNull: true;
133
+ hasDefault: false;
134
+ isPrimaryKey: false;
135
+ isAutoincrement: false;
136
+ hasRuntimeDefault: false;
137
+ enumValues: [string, ...string[]];
138
+ baseColumn: never;
139
+ identity: undefined;
140
+ generated: undefined;
141
+ }, {}, {}>;
142
+ personId: import("drizzle-orm/pg-core").PgColumn<{
143
+ name: string;
144
+ tableName: "quote_participants";
145
+ dataType: "string";
146
+ columnType: "PgText";
147
+ data: string;
148
+ driverParam: string;
149
+ notNull: true;
150
+ hasDefault: false;
151
+ isPrimaryKey: false;
152
+ isAutoincrement: false;
153
+ hasRuntimeDefault: false;
154
+ enumValues: [string, ...string[]];
155
+ baseColumn: never;
156
+ identity: undefined;
157
+ generated: undefined;
158
+ }, {}, {}>;
159
+ role: import("drizzle-orm/pg-core").PgColumn<{
160
+ name: "role";
161
+ tableName: "quote_participants";
162
+ dataType: "string";
163
+ columnType: "PgEnumColumn";
164
+ data: "traveler" | "booker" | "decision_maker" | "finance" | "other";
165
+ driverParam: string;
166
+ notNull: true;
167
+ hasDefault: true;
168
+ isPrimaryKey: false;
169
+ isAutoincrement: false;
170
+ hasRuntimeDefault: false;
171
+ enumValues: ["traveler", "booker", "decision_maker", "finance", "other"];
172
+ baseColumn: never;
173
+ identity: undefined;
174
+ generated: undefined;
175
+ }, {}, {}>;
176
+ isPrimary: import("drizzle-orm/pg-core").PgColumn<{
177
+ name: "is_primary";
178
+ tableName: "quote_participants";
179
+ dataType: "boolean";
180
+ columnType: "PgBoolean";
181
+ data: boolean;
182
+ driverParam: boolean;
183
+ notNull: true;
184
+ hasDefault: true;
185
+ isPrimaryKey: false;
186
+ isAutoincrement: false;
187
+ hasRuntimeDefault: false;
188
+ enumValues: undefined;
189
+ baseColumn: never;
190
+ identity: undefined;
191
+ generated: undefined;
192
+ }, {}, {}>;
193
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
194
+ name: "created_at";
195
+ tableName: "quote_participants";
196
+ dataType: "date";
197
+ columnType: "PgTimestamp";
198
+ data: Date;
199
+ driverParam: string;
200
+ notNull: true;
201
+ hasDefault: true;
202
+ isPrimaryKey: false;
203
+ isAutoincrement: false;
204
+ hasRuntimeDefault: false;
205
+ enumValues: undefined;
206
+ baseColumn: never;
207
+ identity: undefined;
208
+ generated: undefined;
209
+ }, {}, {}>;
210
+ }, "single", Record<"quote_participants", "not-null">, false, "where" | "orderBy", {
211
+ id: string;
212
+ quoteId: string;
213
+ personId: string;
214
+ role: "traveler" | "booker" | "decision_maker" | "finance" | "other";
215
+ isPrimary: boolean;
216
+ createdAt: Date;
217
+ }[], {
218
+ id: import("drizzle-orm/pg-core").PgColumn<{
219
+ name: string;
220
+ tableName: "quote_participants";
221
+ dataType: "string";
222
+ columnType: "PgText";
223
+ data: string;
224
+ driverParam: string;
225
+ notNull: true;
226
+ hasDefault: true;
227
+ isPrimaryKey: true;
228
+ isAutoincrement: false;
229
+ hasRuntimeDefault: true;
230
+ enumValues: [string, ...string[]];
231
+ baseColumn: never;
232
+ identity: undefined;
233
+ generated: undefined;
234
+ }, {}, {}>;
235
+ quoteId: import("drizzle-orm/pg-core").PgColumn<{
236
+ name: string;
237
+ tableName: "quote_participants";
238
+ dataType: "string";
239
+ columnType: "PgText";
240
+ data: string;
241
+ driverParam: string;
242
+ notNull: true;
243
+ hasDefault: false;
244
+ isPrimaryKey: false;
245
+ isAutoincrement: false;
246
+ hasRuntimeDefault: false;
247
+ enumValues: [string, ...string[]];
248
+ baseColumn: never;
249
+ identity: undefined;
250
+ generated: undefined;
251
+ }, {}, {}>;
252
+ personId: import("drizzle-orm/pg-core").PgColumn<{
253
+ name: string;
254
+ tableName: "quote_participants";
255
+ dataType: "string";
256
+ columnType: "PgText";
257
+ data: string;
258
+ driverParam: string;
259
+ notNull: true;
260
+ hasDefault: false;
261
+ isPrimaryKey: false;
262
+ isAutoincrement: false;
263
+ hasRuntimeDefault: false;
264
+ enumValues: [string, ...string[]];
265
+ baseColumn: never;
266
+ identity: undefined;
267
+ generated: undefined;
268
+ }, {}, {}>;
269
+ role: import("drizzle-orm/pg-core").PgColumn<{
270
+ name: "role";
271
+ tableName: "quote_participants";
272
+ dataType: "string";
273
+ columnType: "PgEnumColumn";
274
+ data: "traveler" | "booker" | "decision_maker" | "finance" | "other";
275
+ driverParam: string;
276
+ notNull: true;
277
+ hasDefault: true;
278
+ isPrimaryKey: false;
279
+ isAutoincrement: false;
280
+ hasRuntimeDefault: false;
281
+ enumValues: ["traveler", "booker", "decision_maker", "finance", "other"];
282
+ baseColumn: never;
283
+ identity: undefined;
284
+ generated: undefined;
285
+ }, {}, {}>;
286
+ isPrimary: import("drizzle-orm/pg-core").PgColumn<{
287
+ name: "is_primary";
288
+ tableName: "quote_participants";
289
+ dataType: "boolean";
290
+ columnType: "PgBoolean";
291
+ data: boolean;
292
+ driverParam: boolean;
293
+ notNull: true;
294
+ hasDefault: true;
295
+ isPrimaryKey: false;
296
+ isAutoincrement: false;
297
+ hasRuntimeDefault: false;
298
+ enumValues: undefined;
299
+ baseColumn: never;
300
+ identity: undefined;
301
+ generated: undefined;
302
+ }, {}, {}>;
303
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
304
+ name: "created_at";
305
+ tableName: "quote_participants";
306
+ dataType: "date";
307
+ columnType: "PgTimestamp";
308
+ data: Date;
309
+ driverParam: string;
310
+ notNull: true;
311
+ hasDefault: true;
312
+ isPrimaryKey: false;
313
+ isAutoincrement: false;
314
+ hasRuntimeDefault: false;
315
+ enumValues: undefined;
316
+ baseColumn: never;
317
+ identity: undefined;
318
+ generated: undefined;
319
+ }, {}, {}>;
320
+ }>, "where" | "orderBy">;
321
+ createQuoteParticipant(db: PostgresJsDatabase, quoteId: string, data: CreateQuoteParticipantInput): Promise<{
322
+ quoteId: string;
323
+ createdAt: Date;
324
+ id: string;
325
+ personId: string;
326
+ role: "traveler" | "booker" | "decision_maker" | "finance" | "other";
327
+ isPrimary: boolean;
328
+ } | undefined>;
329
+ deleteQuoteParticipant(db: PostgresJsDatabase, id: string): Promise<{
330
+ id: string;
331
+ } | null>;
332
+ listQuoteProducts(db: PostgresJsDatabase, quoteId: string): Omit<import("drizzle-orm/pg-core").PgSelectBase<"quote_products", {
333
+ id: import("drizzle-orm/pg-core").PgColumn<{
334
+ name: string;
335
+ tableName: "quote_products";
336
+ dataType: "string";
337
+ columnType: "PgText";
338
+ data: string;
339
+ driverParam: string;
340
+ notNull: true;
341
+ hasDefault: true;
342
+ isPrimaryKey: true;
343
+ isAutoincrement: false;
344
+ hasRuntimeDefault: true;
345
+ enumValues: [string, ...string[]];
346
+ baseColumn: never;
347
+ identity: undefined;
348
+ generated: undefined;
349
+ }, {}, {}>;
350
+ quoteId: import("drizzle-orm/pg-core").PgColumn<{
351
+ name: string;
352
+ tableName: "quote_products";
353
+ dataType: "string";
354
+ columnType: "PgText";
355
+ data: string;
356
+ driverParam: string;
357
+ notNull: true;
358
+ hasDefault: false;
359
+ isPrimaryKey: false;
360
+ isAutoincrement: false;
361
+ hasRuntimeDefault: false;
362
+ enumValues: [string, ...string[]];
363
+ baseColumn: never;
364
+ identity: undefined;
365
+ generated: undefined;
366
+ }, {}, {}>;
367
+ productId: import("drizzle-orm/pg-core").PgColumn<{
368
+ name: "product_id";
369
+ tableName: "quote_products";
370
+ dataType: "string";
371
+ columnType: "PgText";
372
+ data: string;
373
+ driverParam: string;
374
+ notNull: false;
375
+ hasDefault: false;
376
+ isPrimaryKey: false;
377
+ isAutoincrement: false;
378
+ hasRuntimeDefault: false;
379
+ enumValues: [string, ...string[]];
380
+ baseColumn: never;
381
+ identity: undefined;
382
+ generated: undefined;
383
+ }, {}, {}>;
384
+ supplierServiceId: import("drizzle-orm/pg-core").PgColumn<{
385
+ name: "supplier_service_id";
386
+ tableName: "quote_products";
387
+ dataType: "string";
388
+ columnType: "PgText";
389
+ data: string;
390
+ driverParam: string;
391
+ notNull: false;
392
+ hasDefault: false;
393
+ isPrimaryKey: false;
394
+ isAutoincrement: false;
395
+ hasRuntimeDefault: false;
396
+ enumValues: [string, ...string[]];
397
+ baseColumn: never;
398
+ identity: undefined;
399
+ generated: undefined;
400
+ }, {}, {}>;
401
+ nameSnapshot: import("drizzle-orm/pg-core").PgColumn<{
402
+ name: "name_snapshot";
403
+ tableName: "quote_products";
404
+ dataType: "string";
405
+ columnType: "PgText";
406
+ data: string;
407
+ driverParam: string;
408
+ notNull: true;
409
+ hasDefault: false;
410
+ isPrimaryKey: false;
411
+ isAutoincrement: false;
412
+ hasRuntimeDefault: false;
413
+ enumValues: [string, ...string[]];
414
+ baseColumn: never;
415
+ identity: undefined;
416
+ generated: undefined;
417
+ }, {}, {}>;
418
+ description: import("drizzle-orm/pg-core").PgColumn<{
419
+ name: "description";
420
+ tableName: "quote_products";
421
+ dataType: "string";
422
+ columnType: "PgText";
423
+ data: string;
424
+ driverParam: string;
425
+ notNull: false;
426
+ hasDefault: false;
427
+ isPrimaryKey: false;
428
+ isAutoincrement: false;
429
+ hasRuntimeDefault: false;
430
+ enumValues: [string, ...string[]];
431
+ baseColumn: never;
432
+ identity: undefined;
433
+ generated: undefined;
434
+ }, {}, {}>;
435
+ quantity: import("drizzle-orm/pg-core").PgColumn<{
436
+ name: "quantity";
437
+ tableName: "quote_products";
438
+ dataType: "number";
439
+ columnType: "PgInteger";
440
+ data: number;
441
+ driverParam: string | number;
442
+ notNull: true;
443
+ hasDefault: true;
444
+ isPrimaryKey: false;
445
+ isAutoincrement: false;
446
+ hasRuntimeDefault: false;
447
+ enumValues: undefined;
448
+ baseColumn: never;
449
+ identity: undefined;
450
+ generated: undefined;
451
+ }, {}, {}>;
452
+ unitPriceAmountCents: import("drizzle-orm/pg-core").PgColumn<{
453
+ name: "unit_price_amount_cents";
454
+ tableName: "quote_products";
455
+ dataType: "number";
456
+ columnType: "PgInteger";
457
+ data: number;
458
+ driverParam: string | number;
459
+ notNull: false;
460
+ hasDefault: false;
461
+ isPrimaryKey: false;
462
+ isAutoincrement: false;
463
+ hasRuntimeDefault: false;
464
+ enumValues: undefined;
465
+ baseColumn: never;
466
+ identity: undefined;
467
+ generated: undefined;
468
+ }, {}, {}>;
469
+ costAmountCents: import("drizzle-orm/pg-core").PgColumn<{
470
+ name: "cost_amount_cents";
471
+ tableName: "quote_products";
472
+ dataType: "number";
473
+ columnType: "PgInteger";
474
+ data: number;
475
+ driverParam: string | number;
476
+ notNull: false;
477
+ hasDefault: false;
478
+ isPrimaryKey: false;
479
+ isAutoincrement: false;
480
+ hasRuntimeDefault: false;
481
+ enumValues: undefined;
482
+ baseColumn: never;
483
+ identity: undefined;
484
+ generated: undefined;
485
+ }, {}, {}>;
486
+ currency: import("drizzle-orm/pg-core").PgColumn<{
487
+ name: "currency";
488
+ tableName: "quote_products";
489
+ dataType: "string";
490
+ columnType: "PgText";
491
+ data: string;
492
+ driverParam: string;
493
+ notNull: false;
494
+ hasDefault: false;
495
+ isPrimaryKey: false;
496
+ isAutoincrement: false;
497
+ hasRuntimeDefault: false;
498
+ enumValues: [string, ...string[]];
499
+ baseColumn: never;
500
+ identity: undefined;
501
+ generated: undefined;
502
+ }, {}, {}>;
503
+ discountAmountCents: import("drizzle-orm/pg-core").PgColumn<{
504
+ name: "discount_amount_cents";
505
+ tableName: "quote_products";
506
+ dataType: "number";
507
+ columnType: "PgInteger";
508
+ data: number;
509
+ driverParam: string | number;
510
+ notNull: false;
511
+ hasDefault: false;
512
+ isPrimaryKey: false;
513
+ isAutoincrement: false;
514
+ hasRuntimeDefault: false;
515
+ enumValues: undefined;
516
+ baseColumn: never;
517
+ identity: undefined;
518
+ generated: undefined;
519
+ }, {}, {}>;
520
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
521
+ name: "created_at";
522
+ tableName: "quote_products";
523
+ dataType: "date";
524
+ columnType: "PgTimestamp";
525
+ data: Date;
526
+ driverParam: string;
527
+ notNull: true;
528
+ hasDefault: true;
529
+ isPrimaryKey: false;
530
+ isAutoincrement: false;
531
+ hasRuntimeDefault: false;
532
+ enumValues: undefined;
533
+ baseColumn: never;
534
+ identity: undefined;
535
+ generated: undefined;
536
+ }, {}, {}>;
537
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
538
+ name: "updated_at";
539
+ tableName: "quote_products";
540
+ dataType: "date";
541
+ columnType: "PgTimestamp";
542
+ data: Date;
543
+ driverParam: string;
544
+ notNull: true;
545
+ hasDefault: true;
546
+ isPrimaryKey: false;
547
+ isAutoincrement: false;
548
+ hasRuntimeDefault: false;
549
+ enumValues: undefined;
550
+ baseColumn: never;
551
+ identity: undefined;
552
+ generated: undefined;
553
+ }, {}, {}>;
554
+ }, "single", Record<"quote_products", "not-null">, false, "where" | "orderBy", {
555
+ id: string;
556
+ quoteId: string;
557
+ productId: string | null;
558
+ supplierServiceId: string | null;
559
+ nameSnapshot: string;
560
+ description: string | null;
561
+ quantity: number;
562
+ unitPriceAmountCents: number | null;
563
+ costAmountCents: number | null;
564
+ currency: string | null;
565
+ discountAmountCents: number | null;
566
+ createdAt: Date;
567
+ updatedAt: Date;
568
+ }[], {
569
+ id: import("drizzle-orm/pg-core").PgColumn<{
570
+ name: string;
571
+ tableName: "quote_products";
572
+ dataType: "string";
573
+ columnType: "PgText";
574
+ data: string;
575
+ driverParam: string;
576
+ notNull: true;
577
+ hasDefault: true;
578
+ isPrimaryKey: true;
579
+ isAutoincrement: false;
580
+ hasRuntimeDefault: true;
581
+ enumValues: [string, ...string[]];
582
+ baseColumn: never;
583
+ identity: undefined;
584
+ generated: undefined;
585
+ }, {}, {}>;
586
+ quoteId: import("drizzle-orm/pg-core").PgColumn<{
587
+ name: string;
588
+ tableName: "quote_products";
589
+ dataType: "string";
590
+ columnType: "PgText";
591
+ data: string;
592
+ driverParam: string;
593
+ notNull: true;
594
+ hasDefault: false;
595
+ isPrimaryKey: false;
596
+ isAutoincrement: false;
597
+ hasRuntimeDefault: false;
598
+ enumValues: [string, ...string[]];
599
+ baseColumn: never;
600
+ identity: undefined;
601
+ generated: undefined;
602
+ }, {}, {}>;
603
+ productId: import("drizzle-orm/pg-core").PgColumn<{
604
+ name: "product_id";
605
+ tableName: "quote_products";
606
+ dataType: "string";
607
+ columnType: "PgText";
608
+ data: string;
609
+ driverParam: string;
610
+ notNull: false;
611
+ hasDefault: false;
612
+ isPrimaryKey: false;
613
+ isAutoincrement: false;
614
+ hasRuntimeDefault: false;
615
+ enumValues: [string, ...string[]];
616
+ baseColumn: never;
617
+ identity: undefined;
618
+ generated: undefined;
619
+ }, {}, {}>;
620
+ supplierServiceId: import("drizzle-orm/pg-core").PgColumn<{
621
+ name: "supplier_service_id";
622
+ tableName: "quote_products";
623
+ dataType: "string";
624
+ columnType: "PgText";
625
+ data: string;
626
+ driverParam: string;
627
+ notNull: false;
628
+ hasDefault: false;
629
+ isPrimaryKey: false;
630
+ isAutoincrement: false;
631
+ hasRuntimeDefault: false;
632
+ enumValues: [string, ...string[]];
633
+ baseColumn: never;
634
+ identity: undefined;
635
+ generated: undefined;
636
+ }, {}, {}>;
637
+ nameSnapshot: import("drizzle-orm/pg-core").PgColumn<{
638
+ name: "name_snapshot";
639
+ tableName: "quote_products";
640
+ dataType: "string";
641
+ columnType: "PgText";
642
+ data: string;
643
+ driverParam: string;
644
+ notNull: true;
645
+ hasDefault: false;
646
+ isPrimaryKey: false;
647
+ isAutoincrement: false;
648
+ hasRuntimeDefault: false;
649
+ enumValues: [string, ...string[]];
650
+ baseColumn: never;
651
+ identity: undefined;
652
+ generated: undefined;
653
+ }, {}, {}>;
654
+ description: import("drizzle-orm/pg-core").PgColumn<{
655
+ name: "description";
656
+ tableName: "quote_products";
657
+ dataType: "string";
658
+ columnType: "PgText";
659
+ data: string;
660
+ driverParam: string;
661
+ notNull: false;
662
+ hasDefault: false;
663
+ isPrimaryKey: false;
664
+ isAutoincrement: false;
665
+ hasRuntimeDefault: false;
666
+ enumValues: [string, ...string[]];
667
+ baseColumn: never;
668
+ identity: undefined;
669
+ generated: undefined;
670
+ }, {}, {}>;
671
+ quantity: import("drizzle-orm/pg-core").PgColumn<{
672
+ name: "quantity";
673
+ tableName: "quote_products";
674
+ dataType: "number";
675
+ columnType: "PgInteger";
676
+ data: number;
677
+ driverParam: string | number;
678
+ notNull: true;
679
+ hasDefault: true;
680
+ isPrimaryKey: false;
681
+ isAutoincrement: false;
682
+ hasRuntimeDefault: false;
683
+ enumValues: undefined;
684
+ baseColumn: never;
685
+ identity: undefined;
686
+ generated: undefined;
687
+ }, {}, {}>;
688
+ unitPriceAmountCents: import("drizzle-orm/pg-core").PgColumn<{
689
+ name: "unit_price_amount_cents";
690
+ tableName: "quote_products";
691
+ dataType: "number";
692
+ columnType: "PgInteger";
693
+ data: number;
694
+ driverParam: string | number;
695
+ notNull: false;
696
+ hasDefault: false;
697
+ isPrimaryKey: false;
698
+ isAutoincrement: false;
699
+ hasRuntimeDefault: false;
700
+ enumValues: undefined;
701
+ baseColumn: never;
702
+ identity: undefined;
703
+ generated: undefined;
704
+ }, {}, {}>;
705
+ costAmountCents: import("drizzle-orm/pg-core").PgColumn<{
706
+ name: "cost_amount_cents";
707
+ tableName: "quote_products";
708
+ dataType: "number";
709
+ columnType: "PgInteger";
710
+ data: number;
711
+ driverParam: string | number;
712
+ notNull: false;
713
+ hasDefault: false;
714
+ isPrimaryKey: false;
715
+ isAutoincrement: false;
716
+ hasRuntimeDefault: false;
717
+ enumValues: undefined;
718
+ baseColumn: never;
719
+ identity: undefined;
720
+ generated: undefined;
721
+ }, {}, {}>;
722
+ currency: import("drizzle-orm/pg-core").PgColumn<{
723
+ name: "currency";
724
+ tableName: "quote_products";
725
+ dataType: "string";
726
+ columnType: "PgText";
727
+ data: string;
728
+ driverParam: string;
729
+ notNull: false;
730
+ hasDefault: false;
731
+ isPrimaryKey: false;
732
+ isAutoincrement: false;
733
+ hasRuntimeDefault: false;
734
+ enumValues: [string, ...string[]];
735
+ baseColumn: never;
736
+ identity: undefined;
737
+ generated: undefined;
738
+ }, {}, {}>;
739
+ discountAmountCents: import("drizzle-orm/pg-core").PgColumn<{
740
+ name: "discount_amount_cents";
741
+ tableName: "quote_products";
742
+ dataType: "number";
743
+ columnType: "PgInteger";
744
+ data: number;
745
+ driverParam: string | number;
746
+ notNull: false;
747
+ hasDefault: false;
748
+ isPrimaryKey: false;
749
+ isAutoincrement: false;
750
+ hasRuntimeDefault: false;
751
+ enumValues: undefined;
752
+ baseColumn: never;
753
+ identity: undefined;
754
+ generated: undefined;
755
+ }, {}, {}>;
756
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
757
+ name: "created_at";
758
+ tableName: "quote_products";
759
+ dataType: "date";
760
+ columnType: "PgTimestamp";
761
+ data: Date;
762
+ driverParam: string;
763
+ notNull: true;
764
+ hasDefault: true;
765
+ isPrimaryKey: false;
766
+ isAutoincrement: false;
767
+ hasRuntimeDefault: false;
768
+ enumValues: undefined;
769
+ baseColumn: never;
770
+ identity: undefined;
771
+ generated: undefined;
772
+ }, {}, {}>;
773
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
774
+ name: "updated_at";
775
+ tableName: "quote_products";
776
+ dataType: "date";
777
+ columnType: "PgTimestamp";
778
+ data: Date;
779
+ driverParam: string;
780
+ notNull: true;
781
+ hasDefault: true;
782
+ isPrimaryKey: false;
783
+ isAutoincrement: false;
784
+ hasRuntimeDefault: false;
785
+ enumValues: undefined;
786
+ baseColumn: never;
787
+ identity: undefined;
788
+ generated: undefined;
789
+ }, {}, {}>;
790
+ }>, "where" | "orderBy">;
791
+ createQuoteProduct(db: PostgresJsDatabase, quoteId: string, data: CreateQuoteProductInput): Promise<{
792
+ quoteId: string;
793
+ createdAt: Date;
794
+ updatedAt: Date;
795
+ description: string | null;
796
+ id: string;
797
+ productId: string | null;
798
+ supplierServiceId: string | null;
799
+ nameSnapshot: string;
800
+ quantity: number;
801
+ unitPriceAmountCents: number | null;
802
+ costAmountCents: number | null;
803
+ currency: string | null;
804
+ discountAmountCents: number | null;
805
+ } | undefined>;
806
+ updateQuoteProduct(db: PostgresJsDatabase, id: string, data: UpdateQuoteProductInput): Promise<{
807
+ id: string;
808
+ quoteId: string;
809
+ productId: string | null;
810
+ supplierServiceId: string | null;
811
+ nameSnapshot: string;
812
+ description: string | null;
813
+ quantity: number;
814
+ unitPriceAmountCents: number | null;
815
+ costAmountCents: number | null;
816
+ currency: string | null;
817
+ discountAmountCents: number | null;
818
+ createdAt: Date;
819
+ updatedAt: Date;
820
+ } | null>;
821
+ deleteQuoteProduct(db: PostgresJsDatabase, id: string): Promise<{
822
+ id: string;
823
+ } | null>;
824
+ };
825
+ export {};
826
+ //# sourceMappingURL=quotes.d.ts.map