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