@voyantjs/transactions 0.6.8 → 0.6.9

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 (60) hide show
  1. package/dist/index.d.ts +6 -6
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +3 -3
  4. package/dist/pii.d.ts +16 -9
  5. package/dist/pii.d.ts.map +1 -1
  6. package/dist/pii.js +76 -70
  7. package/dist/routes-offers.d.ts +462 -28
  8. package/dist/routes-offers.d.ts.map +1 -1
  9. package/dist/routes-offers.js +199 -84
  10. package/dist/routes-orders.d.ts +461 -27
  11. package/dist/routes-orders.d.ts.map +1 -1
  12. package/dist/routes-orders.js +199 -84
  13. package/dist/routes-shared.d.ts +20 -13
  14. package/dist/routes-shared.d.ts.map +1 -1
  15. package/dist/routes-shared.js +7 -6
  16. package/dist/schema/participant-identity.d.ts +43 -6
  17. package/dist/schema/participant-identity.d.ts.map +1 -1
  18. package/dist/schema/participant-identity.js +12 -5
  19. package/dist/schema-audit.d.ts +4 -4
  20. package/dist/schema-audit.js +3 -3
  21. package/dist/schema-contacts.d.ts +529 -0
  22. package/dist/schema-contacts.d.ts.map +1 -0
  23. package/dist/schema-contacts.js +57 -0
  24. package/dist/schema-offers.d.ts +177 -3
  25. package/dist/schema-offers.d.ts.map +1 -1
  26. package/dist/schema-offers.js +13 -3
  27. package/dist/schema-orders.d.ts +177 -3
  28. package/dist/schema-orders.d.ts.map +1 -1
  29. package/dist/schema-orders.js +13 -3
  30. package/dist/schema-relations.d.ts +24 -0
  31. package/dist/schema-relations.d.ts.map +1 -1
  32. package/dist/schema-relations.js +40 -2
  33. package/dist/schema-shared.d.ts +3 -1
  34. package/dist/schema-shared.d.ts.map +1 -1
  35. package/dist/schema-shared.js +8 -2
  36. package/dist/schema-staff.d.ts +529 -0
  37. package/dist/schema-staff.d.ts.map +1 -0
  38. package/dist/schema-staff.js +57 -0
  39. package/dist/schema.d.ts +2 -0
  40. package/dist/schema.d.ts.map +1 -1
  41. package/dist/schema.js +2 -0
  42. package/dist/service-offers.d.ts +275 -29
  43. package/dist/service-offers.d.ts.map +1 -1
  44. package/dist/service-offers.js +306 -43
  45. package/dist/service-orders.d.ts +227 -25
  46. package/dist/service-orders.d.ts.map +1 -1
  47. package/dist/service-orders.js +127 -22
  48. package/dist/service-shared.d.ts +144 -22
  49. package/dist/service-shared.d.ts.map +1 -1
  50. package/dist/service-shared.js +30 -2
  51. package/dist/service.d.ts +62 -22
  52. package/dist/service.d.ts.map +1 -1
  53. package/dist/service.js +42 -2
  54. package/dist/storefront-offers.d.ts +39 -5
  55. package/dist/storefront-offers.d.ts.map +1 -1
  56. package/dist/storefront-offers.js +3 -3
  57. package/dist/validation.d.ts +674 -36
  58. package/dist/validation.d.ts.map +1 -1
  59. package/dist/validation.js +186 -29
  60. package/package.json +5 -5
@@ -0,0 +1,529 @@
1
+ export declare const offerContactAssignments: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "offer_contact_assignments";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: string;
7
+ tableName: "offer_contact_assignments";
8
+ dataType: "string";
9
+ columnType: "PgText";
10
+ data: string;
11
+ driverParam: string;
12
+ notNull: true;
13
+ hasDefault: true;
14
+ isPrimaryKey: true;
15
+ isAutoincrement: false;
16
+ hasRuntimeDefault: true;
17
+ enumValues: [string, ...string[]];
18
+ baseColumn: never;
19
+ identity: undefined;
20
+ generated: undefined;
21
+ }, {}, {}>;
22
+ offerId: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: string;
24
+ tableName: "offer_contact_assignments";
25
+ dataType: "string";
26
+ columnType: "PgText";
27
+ data: string;
28
+ driverParam: string;
29
+ notNull: true;
30
+ hasDefault: false;
31
+ isPrimaryKey: false;
32
+ isAutoincrement: false;
33
+ hasRuntimeDefault: false;
34
+ enumValues: [string, ...string[]];
35
+ baseColumn: never;
36
+ identity: undefined;
37
+ generated: undefined;
38
+ }, {}, {}>;
39
+ offerItemId: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: string;
41
+ tableName: "offer_contact_assignments";
42
+ dataType: "string";
43
+ columnType: "PgText";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: false;
47
+ hasDefault: false;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {}>;
56
+ personId: import("drizzle-orm/pg-core").PgColumn<{
57
+ name: "person_id";
58
+ tableName: "offer_contact_assignments";
59
+ dataType: "string";
60
+ columnType: "PgText";
61
+ data: string;
62
+ driverParam: string;
63
+ notNull: false;
64
+ hasDefault: false;
65
+ isPrimaryKey: false;
66
+ isAutoincrement: false;
67
+ hasRuntimeDefault: false;
68
+ enumValues: [string, ...string[]];
69
+ baseColumn: never;
70
+ identity: undefined;
71
+ generated: undefined;
72
+ }, {}, {}>;
73
+ role: import("drizzle-orm/pg-core").PgColumn<{
74
+ name: "role";
75
+ tableName: "offer_contact_assignments";
76
+ dataType: "string";
77
+ columnType: "PgEnumColumn";
78
+ data: "other" | "primary_contact";
79
+ driverParam: string;
80
+ notNull: true;
81
+ hasDefault: true;
82
+ isPrimaryKey: false;
83
+ isAutoincrement: false;
84
+ hasRuntimeDefault: false;
85
+ enumValues: ["primary_contact", "other"];
86
+ baseColumn: never;
87
+ identity: undefined;
88
+ generated: undefined;
89
+ }, {}, {}>;
90
+ firstName: import("drizzle-orm/pg-core").PgColumn<{
91
+ name: "first_name";
92
+ tableName: "offer_contact_assignments";
93
+ dataType: "string";
94
+ columnType: "PgText";
95
+ data: string;
96
+ driverParam: string;
97
+ notNull: true;
98
+ hasDefault: false;
99
+ isPrimaryKey: false;
100
+ isAutoincrement: false;
101
+ hasRuntimeDefault: false;
102
+ enumValues: [string, ...string[]];
103
+ baseColumn: never;
104
+ identity: undefined;
105
+ generated: undefined;
106
+ }, {}, {}>;
107
+ lastName: import("drizzle-orm/pg-core").PgColumn<{
108
+ name: "last_name";
109
+ tableName: "offer_contact_assignments";
110
+ dataType: "string";
111
+ columnType: "PgText";
112
+ data: string;
113
+ driverParam: string;
114
+ notNull: true;
115
+ hasDefault: false;
116
+ isPrimaryKey: false;
117
+ isAutoincrement: false;
118
+ hasRuntimeDefault: false;
119
+ enumValues: [string, ...string[]];
120
+ baseColumn: never;
121
+ identity: undefined;
122
+ generated: undefined;
123
+ }, {}, {}>;
124
+ email: import("drizzle-orm/pg-core").PgColumn<{
125
+ name: "email";
126
+ tableName: "offer_contact_assignments";
127
+ dataType: "string";
128
+ columnType: "PgText";
129
+ data: string;
130
+ driverParam: string;
131
+ notNull: false;
132
+ hasDefault: false;
133
+ isPrimaryKey: false;
134
+ isAutoincrement: false;
135
+ hasRuntimeDefault: false;
136
+ enumValues: [string, ...string[]];
137
+ baseColumn: never;
138
+ identity: undefined;
139
+ generated: undefined;
140
+ }, {}, {}>;
141
+ phone: import("drizzle-orm/pg-core").PgColumn<{
142
+ name: "phone";
143
+ tableName: "offer_contact_assignments";
144
+ dataType: "string";
145
+ columnType: "PgText";
146
+ data: string;
147
+ driverParam: string;
148
+ notNull: false;
149
+ hasDefault: false;
150
+ isPrimaryKey: false;
151
+ isAutoincrement: false;
152
+ hasRuntimeDefault: false;
153
+ enumValues: [string, ...string[]];
154
+ baseColumn: never;
155
+ identity: undefined;
156
+ generated: undefined;
157
+ }, {}, {}>;
158
+ preferredLanguage: import("drizzle-orm/pg-core").PgColumn<{
159
+ name: "preferred_language";
160
+ tableName: "offer_contact_assignments";
161
+ dataType: "string";
162
+ columnType: "PgText";
163
+ data: string;
164
+ driverParam: string;
165
+ notNull: false;
166
+ hasDefault: false;
167
+ isPrimaryKey: false;
168
+ isAutoincrement: false;
169
+ hasRuntimeDefault: false;
170
+ enumValues: [string, ...string[]];
171
+ baseColumn: never;
172
+ identity: undefined;
173
+ generated: undefined;
174
+ }, {}, {}>;
175
+ isPrimary: import("drizzle-orm/pg-core").PgColumn<{
176
+ name: "is_primary";
177
+ tableName: "offer_contact_assignments";
178
+ dataType: "boolean";
179
+ columnType: "PgBoolean";
180
+ data: boolean;
181
+ driverParam: boolean;
182
+ notNull: true;
183
+ hasDefault: true;
184
+ isPrimaryKey: false;
185
+ isAutoincrement: false;
186
+ hasRuntimeDefault: false;
187
+ enumValues: undefined;
188
+ baseColumn: never;
189
+ identity: undefined;
190
+ generated: undefined;
191
+ }, {}, {}>;
192
+ notes: import("drizzle-orm/pg-core").PgColumn<{
193
+ name: "notes";
194
+ tableName: "offer_contact_assignments";
195
+ dataType: "string";
196
+ columnType: "PgText";
197
+ data: string;
198
+ driverParam: string;
199
+ notNull: false;
200
+ hasDefault: false;
201
+ isPrimaryKey: false;
202
+ isAutoincrement: false;
203
+ hasRuntimeDefault: false;
204
+ enumValues: [string, ...string[]];
205
+ baseColumn: never;
206
+ identity: undefined;
207
+ generated: undefined;
208
+ }, {}, {}>;
209
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
210
+ name: "metadata";
211
+ tableName: "offer_contact_assignments";
212
+ dataType: "json";
213
+ columnType: "PgJsonb";
214
+ data: unknown;
215
+ driverParam: unknown;
216
+ notNull: false;
217
+ hasDefault: false;
218
+ isPrimaryKey: false;
219
+ isAutoincrement: false;
220
+ hasRuntimeDefault: false;
221
+ enumValues: undefined;
222
+ baseColumn: never;
223
+ identity: undefined;
224
+ generated: undefined;
225
+ }, {}, {}>;
226
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
227
+ name: "created_at";
228
+ tableName: "offer_contact_assignments";
229
+ dataType: "date";
230
+ columnType: "PgTimestamp";
231
+ data: Date;
232
+ driverParam: string;
233
+ notNull: true;
234
+ hasDefault: true;
235
+ isPrimaryKey: false;
236
+ isAutoincrement: false;
237
+ hasRuntimeDefault: false;
238
+ enumValues: undefined;
239
+ baseColumn: never;
240
+ identity: undefined;
241
+ generated: undefined;
242
+ }, {}, {}>;
243
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
244
+ name: "updated_at";
245
+ tableName: "offer_contact_assignments";
246
+ dataType: "date";
247
+ columnType: "PgTimestamp";
248
+ data: Date;
249
+ driverParam: string;
250
+ notNull: true;
251
+ hasDefault: true;
252
+ isPrimaryKey: false;
253
+ isAutoincrement: false;
254
+ hasRuntimeDefault: false;
255
+ enumValues: undefined;
256
+ baseColumn: never;
257
+ identity: undefined;
258
+ generated: undefined;
259
+ }, {}, {}>;
260
+ };
261
+ dialect: "pg";
262
+ }>;
263
+ export declare const orderContactAssignments: import("drizzle-orm/pg-core").PgTableWithColumns<{
264
+ name: "order_contact_assignments";
265
+ schema: undefined;
266
+ columns: {
267
+ id: import("drizzle-orm/pg-core").PgColumn<{
268
+ name: string;
269
+ tableName: "order_contact_assignments";
270
+ dataType: "string";
271
+ columnType: "PgText";
272
+ data: string;
273
+ driverParam: string;
274
+ notNull: true;
275
+ hasDefault: true;
276
+ isPrimaryKey: true;
277
+ isAutoincrement: false;
278
+ hasRuntimeDefault: true;
279
+ enumValues: [string, ...string[]];
280
+ baseColumn: never;
281
+ identity: undefined;
282
+ generated: undefined;
283
+ }, {}, {}>;
284
+ orderId: import("drizzle-orm/pg-core").PgColumn<{
285
+ name: string;
286
+ tableName: "order_contact_assignments";
287
+ dataType: "string";
288
+ columnType: "PgText";
289
+ data: string;
290
+ driverParam: string;
291
+ notNull: true;
292
+ hasDefault: false;
293
+ isPrimaryKey: false;
294
+ isAutoincrement: false;
295
+ hasRuntimeDefault: false;
296
+ enumValues: [string, ...string[]];
297
+ baseColumn: never;
298
+ identity: undefined;
299
+ generated: undefined;
300
+ }, {}, {}>;
301
+ orderItemId: import("drizzle-orm/pg-core").PgColumn<{
302
+ name: string;
303
+ tableName: "order_contact_assignments";
304
+ dataType: "string";
305
+ columnType: "PgText";
306
+ data: string;
307
+ driverParam: string;
308
+ notNull: false;
309
+ hasDefault: false;
310
+ isPrimaryKey: false;
311
+ isAutoincrement: false;
312
+ hasRuntimeDefault: false;
313
+ enumValues: [string, ...string[]];
314
+ baseColumn: never;
315
+ identity: undefined;
316
+ generated: undefined;
317
+ }, {}, {}>;
318
+ personId: import("drizzle-orm/pg-core").PgColumn<{
319
+ name: "person_id";
320
+ tableName: "order_contact_assignments";
321
+ dataType: "string";
322
+ columnType: "PgText";
323
+ data: string;
324
+ driverParam: string;
325
+ notNull: false;
326
+ hasDefault: false;
327
+ isPrimaryKey: false;
328
+ isAutoincrement: false;
329
+ hasRuntimeDefault: false;
330
+ enumValues: [string, ...string[]];
331
+ baseColumn: never;
332
+ identity: undefined;
333
+ generated: undefined;
334
+ }, {}, {}>;
335
+ role: import("drizzle-orm/pg-core").PgColumn<{
336
+ name: "role";
337
+ tableName: "order_contact_assignments";
338
+ dataType: "string";
339
+ columnType: "PgEnumColumn";
340
+ data: "other" | "primary_contact";
341
+ driverParam: string;
342
+ notNull: true;
343
+ hasDefault: true;
344
+ isPrimaryKey: false;
345
+ isAutoincrement: false;
346
+ hasRuntimeDefault: false;
347
+ enumValues: ["primary_contact", "other"];
348
+ baseColumn: never;
349
+ identity: undefined;
350
+ generated: undefined;
351
+ }, {}, {}>;
352
+ firstName: import("drizzle-orm/pg-core").PgColumn<{
353
+ name: "first_name";
354
+ tableName: "order_contact_assignments";
355
+ dataType: "string";
356
+ columnType: "PgText";
357
+ data: string;
358
+ driverParam: string;
359
+ notNull: true;
360
+ hasDefault: false;
361
+ isPrimaryKey: false;
362
+ isAutoincrement: false;
363
+ hasRuntimeDefault: false;
364
+ enumValues: [string, ...string[]];
365
+ baseColumn: never;
366
+ identity: undefined;
367
+ generated: undefined;
368
+ }, {}, {}>;
369
+ lastName: import("drizzle-orm/pg-core").PgColumn<{
370
+ name: "last_name";
371
+ tableName: "order_contact_assignments";
372
+ dataType: "string";
373
+ columnType: "PgText";
374
+ data: string;
375
+ driverParam: string;
376
+ notNull: true;
377
+ hasDefault: false;
378
+ isPrimaryKey: false;
379
+ isAutoincrement: false;
380
+ hasRuntimeDefault: false;
381
+ enumValues: [string, ...string[]];
382
+ baseColumn: never;
383
+ identity: undefined;
384
+ generated: undefined;
385
+ }, {}, {}>;
386
+ email: import("drizzle-orm/pg-core").PgColumn<{
387
+ name: "email";
388
+ tableName: "order_contact_assignments";
389
+ dataType: "string";
390
+ columnType: "PgText";
391
+ data: string;
392
+ driverParam: string;
393
+ notNull: false;
394
+ hasDefault: false;
395
+ isPrimaryKey: false;
396
+ isAutoincrement: false;
397
+ hasRuntimeDefault: false;
398
+ enumValues: [string, ...string[]];
399
+ baseColumn: never;
400
+ identity: undefined;
401
+ generated: undefined;
402
+ }, {}, {}>;
403
+ phone: import("drizzle-orm/pg-core").PgColumn<{
404
+ name: "phone";
405
+ tableName: "order_contact_assignments";
406
+ dataType: "string";
407
+ columnType: "PgText";
408
+ data: string;
409
+ driverParam: string;
410
+ notNull: false;
411
+ hasDefault: false;
412
+ isPrimaryKey: false;
413
+ isAutoincrement: false;
414
+ hasRuntimeDefault: false;
415
+ enumValues: [string, ...string[]];
416
+ baseColumn: never;
417
+ identity: undefined;
418
+ generated: undefined;
419
+ }, {}, {}>;
420
+ preferredLanguage: import("drizzle-orm/pg-core").PgColumn<{
421
+ name: "preferred_language";
422
+ tableName: "order_contact_assignments";
423
+ dataType: "string";
424
+ columnType: "PgText";
425
+ data: string;
426
+ driverParam: string;
427
+ notNull: false;
428
+ hasDefault: false;
429
+ isPrimaryKey: false;
430
+ isAutoincrement: false;
431
+ hasRuntimeDefault: false;
432
+ enumValues: [string, ...string[]];
433
+ baseColumn: never;
434
+ identity: undefined;
435
+ generated: undefined;
436
+ }, {}, {}>;
437
+ isPrimary: import("drizzle-orm/pg-core").PgColumn<{
438
+ name: "is_primary";
439
+ tableName: "order_contact_assignments";
440
+ dataType: "boolean";
441
+ columnType: "PgBoolean";
442
+ data: boolean;
443
+ driverParam: boolean;
444
+ notNull: true;
445
+ hasDefault: true;
446
+ isPrimaryKey: false;
447
+ isAutoincrement: false;
448
+ hasRuntimeDefault: false;
449
+ enumValues: undefined;
450
+ baseColumn: never;
451
+ identity: undefined;
452
+ generated: undefined;
453
+ }, {}, {}>;
454
+ notes: import("drizzle-orm/pg-core").PgColumn<{
455
+ name: "notes";
456
+ tableName: "order_contact_assignments";
457
+ dataType: "string";
458
+ columnType: "PgText";
459
+ data: string;
460
+ driverParam: string;
461
+ notNull: false;
462
+ hasDefault: false;
463
+ isPrimaryKey: false;
464
+ isAutoincrement: false;
465
+ hasRuntimeDefault: false;
466
+ enumValues: [string, ...string[]];
467
+ baseColumn: never;
468
+ identity: undefined;
469
+ generated: undefined;
470
+ }, {}, {}>;
471
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
472
+ name: "metadata";
473
+ tableName: "order_contact_assignments";
474
+ dataType: "json";
475
+ columnType: "PgJsonb";
476
+ data: unknown;
477
+ driverParam: unknown;
478
+ notNull: false;
479
+ hasDefault: false;
480
+ isPrimaryKey: false;
481
+ isAutoincrement: false;
482
+ hasRuntimeDefault: false;
483
+ enumValues: undefined;
484
+ baseColumn: never;
485
+ identity: undefined;
486
+ generated: undefined;
487
+ }, {}, {}>;
488
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
489
+ name: "created_at";
490
+ tableName: "order_contact_assignments";
491
+ dataType: "date";
492
+ columnType: "PgTimestamp";
493
+ data: Date;
494
+ driverParam: string;
495
+ notNull: true;
496
+ hasDefault: true;
497
+ isPrimaryKey: false;
498
+ isAutoincrement: false;
499
+ hasRuntimeDefault: false;
500
+ enumValues: undefined;
501
+ baseColumn: never;
502
+ identity: undefined;
503
+ generated: undefined;
504
+ }, {}, {}>;
505
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
506
+ name: "updated_at";
507
+ tableName: "order_contact_assignments";
508
+ dataType: "date";
509
+ columnType: "PgTimestamp";
510
+ data: Date;
511
+ driverParam: string;
512
+ notNull: true;
513
+ hasDefault: true;
514
+ isPrimaryKey: false;
515
+ isAutoincrement: false;
516
+ hasRuntimeDefault: false;
517
+ enumValues: undefined;
518
+ baseColumn: never;
519
+ identity: undefined;
520
+ generated: undefined;
521
+ }, {}, {}>;
522
+ };
523
+ dialect: "pg";
524
+ }>;
525
+ export type OfferContactAssignment = typeof offerContactAssignments.$inferSelect;
526
+ export type NewOfferContactAssignment = typeof offerContactAssignments.$inferInsert;
527
+ export type OrderContactAssignment = typeof orderContactAssignments.$inferSelect;
528
+ export type NewOrderContactAssignment = typeof orderContactAssignments.$inferInsert;
529
+ //# sourceMappingURL=schema-contacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-contacts.d.ts","sourceRoot":"","sources":["../src/schema-contacts.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCnC,CAAA;AAED,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCnC,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG,OAAO,uBAAuB,CAAC,YAAY,CAAA;AAChF,MAAM,MAAM,yBAAyB,GAAG,OAAO,uBAAuB,CAAC,YAAY,CAAA;AACnF,MAAM,MAAM,sBAAsB,GAAG,OAAO,uBAAuB,CAAC,YAAY,CAAA;AAChF,MAAM,MAAM,yBAAyB,GAAG,OAAO,uBAAuB,CAAC,YAAY,CAAA"}
@@ -0,0 +1,57 @@
1
+ import { typeId, typeIdRef } from "@voyantjs/db/lib/typeid-column";
2
+ import { boolean, index, jsonb, pgTable, text, timestamp } from "drizzle-orm/pg-core";
3
+ import { offerItems, offers } from "./schema-offers.js";
4
+ import { orderItems, orders } from "./schema-orders.js";
5
+ import { transactionContactAssignmentRoleEnum } from "./schema-shared.js";
6
+ export const offerContactAssignments = pgTable("offer_contact_assignments", {
7
+ id: typeId("offer_contact_assignments"),
8
+ offerId: typeIdRef("offer_id")
9
+ .notNull()
10
+ .references(() => offers.id, { onDelete: "cascade" }),
11
+ offerItemId: typeIdRef("offer_item_id").references(() => offerItems.id, {
12
+ onDelete: "set null",
13
+ }),
14
+ personId: text("person_id"),
15
+ role: transactionContactAssignmentRoleEnum("role").notNull().default("primary_contact"),
16
+ firstName: text("first_name").notNull(),
17
+ lastName: text("last_name").notNull(),
18
+ email: text("email"),
19
+ phone: text("phone"),
20
+ preferredLanguage: text("preferred_language"),
21
+ isPrimary: boolean("is_primary").notNull().default(false),
22
+ notes: text("notes"),
23
+ metadata: jsonb("metadata"),
24
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
25
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
26
+ }, (table) => [
27
+ index("idx_offer_contact_assignments_offer_created").on(table.offerId, table.createdAt),
28
+ index("idx_offer_contact_assignments_item_created").on(table.offerItemId, table.createdAt),
29
+ index("idx_offer_contact_assignments_role_created").on(table.offerId, table.role, table.createdAt),
30
+ index("idx_offer_contact_assignments_person_created").on(table.personId, table.createdAt),
31
+ ]);
32
+ export const orderContactAssignments = pgTable("order_contact_assignments", {
33
+ id: typeId("order_contact_assignments"),
34
+ orderId: typeIdRef("order_id")
35
+ .notNull()
36
+ .references(() => orders.id, { onDelete: "cascade" }),
37
+ orderItemId: typeIdRef("order_item_id").references(() => orderItems.id, {
38
+ onDelete: "set null",
39
+ }),
40
+ personId: text("person_id"),
41
+ role: transactionContactAssignmentRoleEnum("role").notNull().default("primary_contact"),
42
+ firstName: text("first_name").notNull(),
43
+ lastName: text("last_name").notNull(),
44
+ email: text("email"),
45
+ phone: text("phone"),
46
+ preferredLanguage: text("preferred_language"),
47
+ isPrimary: boolean("is_primary").notNull().default(false),
48
+ notes: text("notes"),
49
+ metadata: jsonb("metadata"),
50
+ createdAt: timestamp("created_at", { withTimezone: true }).notNull().defaultNow(),
51
+ updatedAt: timestamp("updated_at", { withTimezone: true }).notNull().defaultNow(),
52
+ }, (table) => [
53
+ index("idx_order_contact_assignments_order_created").on(table.orderId, table.createdAt),
54
+ index("idx_order_contact_assignments_item_created").on(table.orderItemId, table.createdAt),
55
+ index("idx_order_contact_assignments_role_created").on(table.orderId, table.role, table.createdAt),
56
+ index("idx_order_contact_assignments_person_created").on(table.personId, table.createdAt),
57
+ ]);