@axova/shared 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CONFIGURATION_GUIDE.md +1 -0
  2. package/README.md +384 -0
  3. package/SCHEMA_ORGANIZATION.md +209 -0
  4. package/dist/configs/index.d.ts +85 -0
  5. package/dist/configs/index.js +555 -0
  6. package/dist/events/kafka.d.ts +40 -0
  7. package/dist/events/kafka.js +311 -0
  8. package/dist/index.d.ts +13 -0
  9. package/dist/index.js +41 -0
  10. package/dist/interfaces/customer-events.d.ts +85 -0
  11. package/dist/interfaces/customer-events.js +2 -0
  12. package/dist/interfaces/inventory-events.d.ts +453 -0
  13. package/dist/interfaces/inventory-events.js +3 -0
  14. package/dist/interfaces/inventory-types.d.ts +894 -0
  15. package/dist/interfaces/inventory-types.js +3 -0
  16. package/dist/interfaces/order-events.d.ts +320 -0
  17. package/dist/interfaces/order-events.js +3 -0
  18. package/dist/lib/auditLogger.d.ts +162 -0
  19. package/dist/lib/auditLogger.js +626 -0
  20. package/dist/lib/authOrganization.d.ts +24 -0
  21. package/dist/lib/authOrganization.js +110 -0
  22. package/dist/lib/db.d.ts +6 -0
  23. package/dist/lib/db.js +88 -0
  24. package/dist/middleware/serviceAuth.d.ts +60 -0
  25. package/dist/middleware/serviceAuth.js +272 -0
  26. package/dist/middleware/storeOwnership.d.ts +15 -0
  27. package/dist/middleware/storeOwnership.js +156 -0
  28. package/dist/middleware/storeValidationMiddleware.d.ts +44 -0
  29. package/dist/middleware/storeValidationMiddleware.js +180 -0
  30. package/dist/middleware/userAuth.d.ts +27 -0
  31. package/dist/middleware/userAuth.js +218 -0
  32. package/dist/schemas/admin/admin-schema.d.ts +741 -0
  33. package/dist/schemas/admin/admin-schema.js +111 -0
  34. package/dist/schemas/ai-moderation/ai-moderation-schema.d.ts +648 -0
  35. package/dist/schemas/ai-moderation/ai-moderation-schema.js +88 -0
  36. package/dist/schemas/common/common-schemas.d.ts +436 -0
  37. package/dist/schemas/common/common-schemas.js +94 -0
  38. package/dist/schemas/compliance/compliance-schema.d.ts +3388 -0
  39. package/dist/schemas/compliance/compliance-schema.js +472 -0
  40. package/dist/schemas/compliance/kyc-schema.d.ts +2642 -0
  41. package/dist/schemas/compliance/kyc-schema.js +361 -0
  42. package/dist/schemas/customer/customer-schema.d.ts +2727 -0
  43. package/dist/schemas/customer/customer-schema.js +399 -0
  44. package/dist/schemas/index.d.ts +27 -0
  45. package/dist/schemas/index.js +138 -0
  46. package/dist/schemas/inventory/inventory-tables.d.ts +9476 -0
  47. package/dist/schemas/inventory/inventory-tables.js +1470 -0
  48. package/dist/schemas/inventory/lot-tables.d.ts +3281 -0
  49. package/dist/schemas/inventory/lot-tables.js +608 -0
  50. package/dist/schemas/order/order-schema.d.ts +5825 -0
  51. package/dist/schemas/order/order-schema.js +954 -0
  52. package/dist/schemas/product/discount-relations.d.ts +15 -0
  53. package/dist/schemas/product/discount-relations.js +34 -0
  54. package/dist/schemas/product/discount-schema.d.ts +1975 -0
  55. package/dist/schemas/product/discount-schema.js +297 -0
  56. package/dist/schemas/product/product-relations.d.ts +41 -0
  57. package/dist/schemas/product/product-relations.js +133 -0
  58. package/dist/schemas/product/product-schema.d.ts +4544 -0
  59. package/dist/schemas/product/product-schema.js +671 -0
  60. package/dist/schemas/store/store-audit-schema.d.ts +4135 -0
  61. package/dist/schemas/store/store-audit-schema.js +556 -0
  62. package/dist/schemas/store/store-schema.d.ts +3100 -0
  63. package/dist/schemas/store/store-schema.js +381 -0
  64. package/dist/schemas/store/store-settings-schema.d.ts +665 -0
  65. package/dist/schemas/store/store-settings-schema.js +141 -0
  66. package/dist/schemas/types.d.ts +50 -0
  67. package/dist/schemas/types.js +3 -0
  68. package/dist/types/events.d.ts +2396 -0
  69. package/dist/types/events.js +505 -0
  70. package/dist/utils/errorHandler.d.ts +12 -0
  71. package/dist/utils/errorHandler.js +36 -0
  72. package/dist/utils/subdomain.d.ts +6 -0
  73. package/dist/utils/subdomain.js +20 -0
  74. package/nul +8 -0
  75. package/package.json +43 -0
  76. package/src/configs/index.ts +654 -0
  77. package/src/events/kafka.ts +429 -0
  78. package/src/index.ts +26 -0
  79. package/src/interfaces/customer-events.ts +106 -0
  80. package/src/interfaces/inventory-events.ts +545 -0
  81. package/src/interfaces/inventory-types.ts +1004 -0
  82. package/src/interfaces/order-events.ts +381 -0
  83. package/src/lib/auditLogger.ts +1117 -0
  84. package/src/lib/authOrganization.ts +153 -0
  85. package/src/lib/db.ts +64 -0
  86. package/src/middleware/serviceAuth.ts +328 -0
  87. package/src/middleware/storeOwnership.ts +199 -0
  88. package/src/middleware/storeValidationMiddleware.ts +247 -0
  89. package/src/middleware/userAuth.ts +248 -0
  90. package/src/schemas/admin/admin-schema.ts +208 -0
  91. package/src/schemas/ai-moderation/ai-moderation-schema.ts +180 -0
  92. package/src/schemas/common/common-schemas.ts +108 -0
  93. package/src/schemas/compliance/compliance-schema.ts +927 -0
  94. package/src/schemas/compliance/kyc-schema.ts +649 -0
  95. package/src/schemas/customer/customer-schema.ts +576 -0
  96. package/src/schemas/index.ts +189 -0
  97. package/src/schemas/inventory/inventory-tables.ts +1927 -0
  98. package/src/schemas/inventory/lot-tables.ts +799 -0
  99. package/src/schemas/order/order-schema.ts +1400 -0
  100. package/src/schemas/product/discount-relations.ts +44 -0
  101. package/src/schemas/product/discount-schema.ts +464 -0
  102. package/src/schemas/product/product-relations.ts +187 -0
  103. package/src/schemas/product/product-schema.ts +955 -0
  104. package/src/schemas/store/ethiopian_business_api.md.resolved +212 -0
  105. package/src/schemas/store/store-audit-schema.ts +1257 -0
  106. package/src/schemas/store/store-schema.ts +661 -0
  107. package/src/schemas/store/store-settings-schema.ts +231 -0
  108. package/src/schemas/types.ts +67 -0
  109. package/src/types/events.ts +646 -0
  110. package/src/utils/errorHandler.ts +44 -0
  111. package/src/utils/subdomain.ts +19 -0
  112. package/tsconfig.json +21 -0
@@ -0,0 +1,1975 @@
1
+ export declare const discountTypeEnum: import("drizzle-orm/pg-core").PgEnum<["PERCENTAGE", "FIXED_AMOUNT", "FREE_SHIPPING", "BOGO", "TIERED", "LOYALTY_POINTS", "REFERRAL", "MEMBER_ONLY"]>;
2
+ export declare const discountStatusEnum: import("drizzle-orm/pg-core").PgEnum<["DRAFT", "ACTIVE", "PAUSED", "SCHEDULED", "EXPIRED", "DISABLED"]>;
3
+ export declare const discountTargetTypeEnum: import("drizzle-orm/pg-core").PgEnum<["STORE", "COLLECTION", "PRODUCT", "VARIANT", "CATEGORY", "CUSTOMER_SEGMENT"]>;
4
+ export declare const discountApplicationTypeEnum: import("drizzle-orm/pg-core").PgEnum<["AUTOMATIC", "CODE", "MANUAL"]>;
5
+ export declare const customerSegmentTypeEnum: import("drizzle-orm/pg-core").PgEnum<["NEW_CUSTOMER", "RETURNING_CUSTOMER", "VIP", "LOYALTY_TIER_1", "LOYALTY_TIER_2", "LOYALTY_TIER_3", "GEOGRAPHIC", "PURCHASE_HISTORY", "CUSTOM"]>;
6
+ export declare const discountStackingModeEnum: import("drizzle-orm/pg-core").PgEnum<["NONE", "ADDITIVE", "MULTIPLICATIVE", "BEST_ONLY", "CUSTOM"]>;
7
+ export declare const discounts: import("drizzle-orm/pg-core").PgTableWithColumns<{
8
+ name: "discounts";
9
+ schema: undefined;
10
+ columns: {
11
+ id: import("drizzle-orm/pg-core").PgColumn<{
12
+ name: "id";
13
+ tableName: "discounts";
14
+ dataType: "string";
15
+ columnType: "PgText";
16
+ data: string;
17
+ driverParam: string;
18
+ notNull: true;
19
+ hasDefault: true;
20
+ isPrimaryKey: true;
21
+ isAutoincrement: false;
22
+ hasRuntimeDefault: true;
23
+ enumValues: [string, ...string[]];
24
+ baseColumn: never;
25
+ identity: undefined;
26
+ generated: undefined;
27
+ }, {}, {}>;
28
+ storeId: import("drizzle-orm/pg-core").PgColumn<{
29
+ name: "store_id";
30
+ tableName: "discounts";
31
+ dataType: "string";
32
+ columnType: "PgText";
33
+ data: string;
34
+ driverParam: string;
35
+ notNull: true;
36
+ hasDefault: false;
37
+ isPrimaryKey: false;
38
+ isAutoincrement: false;
39
+ hasRuntimeDefault: false;
40
+ enumValues: [string, ...string[]];
41
+ baseColumn: never;
42
+ identity: undefined;
43
+ generated: undefined;
44
+ }, {}, {}>;
45
+ name: import("drizzle-orm/pg-core").PgColumn<{
46
+ name: "name";
47
+ tableName: "discounts";
48
+ dataType: "string";
49
+ columnType: "PgVarchar";
50
+ data: string;
51
+ driverParam: string;
52
+ notNull: true;
53
+ hasDefault: false;
54
+ isPrimaryKey: false;
55
+ isAutoincrement: false;
56
+ hasRuntimeDefault: false;
57
+ enumValues: [string, ...string[]];
58
+ baseColumn: never;
59
+ identity: undefined;
60
+ generated: undefined;
61
+ }, {}, {
62
+ length: 255;
63
+ }>;
64
+ description: import("drizzle-orm/pg-core").PgColumn<{
65
+ name: "description";
66
+ tableName: "discounts";
67
+ dataType: "string";
68
+ columnType: "PgText";
69
+ data: string;
70
+ driverParam: string;
71
+ notNull: false;
72
+ hasDefault: false;
73
+ isPrimaryKey: false;
74
+ isAutoincrement: false;
75
+ hasRuntimeDefault: false;
76
+ enumValues: [string, ...string[]];
77
+ baseColumn: never;
78
+ identity: undefined;
79
+ generated: undefined;
80
+ }, {}, {}>;
81
+ internalNotes: import("drizzle-orm/pg-core").PgColumn<{
82
+ name: "internal_notes";
83
+ tableName: "discounts";
84
+ dataType: "string";
85
+ columnType: "PgText";
86
+ data: string;
87
+ driverParam: string;
88
+ notNull: false;
89
+ hasDefault: false;
90
+ isPrimaryKey: false;
91
+ isAutoincrement: false;
92
+ hasRuntimeDefault: false;
93
+ enumValues: [string, ...string[]];
94
+ baseColumn: never;
95
+ identity: undefined;
96
+ generated: undefined;
97
+ }, {}, {}>;
98
+ type: import("drizzle-orm/pg-core").PgColumn<{
99
+ name: "type";
100
+ tableName: "discounts";
101
+ dataType: "string";
102
+ columnType: "PgEnumColumn";
103
+ data: "REFERRAL" | "PERCENTAGE" | "FIXED_AMOUNT" | "FREE_SHIPPING" | "BOGO" | "LOYALTY_POINTS" | "TIERED" | "MEMBER_ONLY";
104
+ driverParam: string;
105
+ notNull: true;
106
+ hasDefault: false;
107
+ isPrimaryKey: false;
108
+ isAutoincrement: false;
109
+ hasRuntimeDefault: false;
110
+ enumValues: ["PERCENTAGE", "FIXED_AMOUNT", "FREE_SHIPPING", "BOGO", "TIERED", "LOYALTY_POINTS", "REFERRAL", "MEMBER_ONLY"];
111
+ baseColumn: never;
112
+ identity: undefined;
113
+ generated: undefined;
114
+ }, {}, {}>;
115
+ status: import("drizzle-orm/pg-core").PgColumn<{
116
+ name: "status";
117
+ tableName: "discounts";
118
+ dataType: "string";
119
+ columnType: "PgEnumColumn";
120
+ data: "SCHEDULED" | "DRAFT" | "ACTIVE" | "EXPIRED" | "PAUSED" | "DISABLED";
121
+ driverParam: string;
122
+ notNull: true;
123
+ hasDefault: true;
124
+ isPrimaryKey: false;
125
+ isAutoincrement: false;
126
+ hasRuntimeDefault: false;
127
+ enumValues: ["DRAFT", "ACTIVE", "PAUSED", "SCHEDULED", "EXPIRED", "DISABLED"];
128
+ baseColumn: never;
129
+ identity: undefined;
130
+ generated: undefined;
131
+ }, {}, {}>;
132
+ applicationType: import("drizzle-orm/pg-core").PgColumn<{
133
+ name: "application_type";
134
+ tableName: "discounts";
135
+ dataType: "string";
136
+ columnType: "PgEnumColumn";
137
+ data: "MANUAL" | "AUTOMATIC" | "CODE";
138
+ driverParam: string;
139
+ notNull: true;
140
+ hasDefault: true;
141
+ isPrimaryKey: false;
142
+ isAutoincrement: false;
143
+ hasRuntimeDefault: false;
144
+ enumValues: ["AUTOMATIC", "CODE", "MANUAL"];
145
+ baseColumn: never;
146
+ identity: undefined;
147
+ generated: undefined;
148
+ }, {}, {}>;
149
+ value: import("drizzle-orm/pg-core").PgColumn<{
150
+ name: "value";
151
+ tableName: "discounts";
152
+ dataType: "string";
153
+ columnType: "PgNumeric";
154
+ data: string;
155
+ driverParam: string;
156
+ notNull: true;
157
+ hasDefault: false;
158
+ isPrimaryKey: false;
159
+ isAutoincrement: false;
160
+ hasRuntimeDefault: false;
161
+ enumValues: undefined;
162
+ baseColumn: never;
163
+ identity: undefined;
164
+ generated: undefined;
165
+ }, {}, {}>;
166
+ maxDiscountAmount: import("drizzle-orm/pg-core").PgColumn<{
167
+ name: "max_discount_amount";
168
+ tableName: "discounts";
169
+ dataType: "string";
170
+ columnType: "PgNumeric";
171
+ data: string;
172
+ driverParam: string;
173
+ notNull: false;
174
+ hasDefault: false;
175
+ isPrimaryKey: false;
176
+ isAutoincrement: false;
177
+ hasRuntimeDefault: false;
178
+ enumValues: undefined;
179
+ baseColumn: never;
180
+ identity: undefined;
181
+ generated: undefined;
182
+ }, {}, {}>;
183
+ couponCode: import("drizzle-orm/pg-core").PgColumn<{
184
+ name: "coupon_code";
185
+ tableName: "discounts";
186
+ dataType: "string";
187
+ columnType: "PgVarchar";
188
+ data: string;
189
+ driverParam: string;
190
+ notNull: false;
191
+ hasDefault: false;
192
+ isPrimaryKey: false;
193
+ isAutoincrement: false;
194
+ hasRuntimeDefault: false;
195
+ enumValues: [string, ...string[]];
196
+ baseColumn: never;
197
+ identity: undefined;
198
+ generated: undefined;
199
+ }, {}, {
200
+ length: 100;
201
+ }>;
202
+ codePrefix: import("drizzle-orm/pg-core").PgColumn<{
203
+ name: "code_prefix";
204
+ tableName: "discounts";
205
+ dataType: "string";
206
+ columnType: "PgVarchar";
207
+ data: string;
208
+ driverParam: string;
209
+ notNull: false;
210
+ hasDefault: false;
211
+ isPrimaryKey: false;
212
+ isAutoincrement: false;
213
+ hasRuntimeDefault: false;
214
+ enumValues: [string, ...string[]];
215
+ baseColumn: never;
216
+ identity: undefined;
217
+ generated: undefined;
218
+ }, {}, {
219
+ length: 20;
220
+ }>;
221
+ targetType: import("drizzle-orm/pg-core").PgColumn<{
222
+ name: "target_type";
223
+ tableName: "discounts";
224
+ dataType: "string";
225
+ columnType: "PgEnumColumn";
226
+ data: "STORE" | "PRODUCT" | "CATEGORY" | "COLLECTION" | "VARIANT" | "CUSTOMER_SEGMENT";
227
+ driverParam: string;
228
+ notNull: true;
229
+ hasDefault: true;
230
+ isPrimaryKey: false;
231
+ isAutoincrement: false;
232
+ hasRuntimeDefault: false;
233
+ enumValues: ["STORE", "COLLECTION", "PRODUCT", "VARIANT", "CATEGORY", "CUSTOMER_SEGMENT"];
234
+ baseColumn: never;
235
+ identity: undefined;
236
+ generated: undefined;
237
+ }, {}, {}>;
238
+ targetIds: import("drizzle-orm/pg-core").PgColumn<{
239
+ name: "target_ids";
240
+ tableName: "discounts";
241
+ dataType: "json";
242
+ columnType: "PgJsonb";
243
+ data: string[];
244
+ driverParam: unknown;
245
+ notNull: false;
246
+ hasDefault: true;
247
+ isPrimaryKey: false;
248
+ isAutoincrement: false;
249
+ hasRuntimeDefault: false;
250
+ enumValues: undefined;
251
+ baseColumn: never;
252
+ identity: undefined;
253
+ generated: undefined;
254
+ }, {}, {
255
+ $type: string[];
256
+ }>;
257
+ customerSegments: import("drizzle-orm/pg-core").PgColumn<{
258
+ name: "customer_segments";
259
+ tableName: "discounts";
260
+ dataType: "json";
261
+ columnType: "PgJsonb";
262
+ data: string[];
263
+ driverParam: unknown;
264
+ notNull: false;
265
+ hasDefault: true;
266
+ isPrimaryKey: false;
267
+ isAutoincrement: false;
268
+ hasRuntimeDefault: false;
269
+ enumValues: undefined;
270
+ baseColumn: never;
271
+ identity: undefined;
272
+ generated: undefined;
273
+ }, {}, {
274
+ $type: string[];
275
+ }>;
276
+ excludedCustomerIds: import("drizzle-orm/pg-core").PgColumn<{
277
+ name: "excluded_customer_ids";
278
+ tableName: "discounts";
279
+ dataType: "json";
280
+ columnType: "PgJsonb";
281
+ data: string[];
282
+ driverParam: unknown;
283
+ notNull: false;
284
+ hasDefault: true;
285
+ isPrimaryKey: false;
286
+ isAutoincrement: false;
287
+ hasRuntimeDefault: false;
288
+ enumValues: undefined;
289
+ baseColumn: never;
290
+ identity: undefined;
291
+ generated: undefined;
292
+ }, {}, {
293
+ $type: string[];
294
+ }>;
295
+ usageLimit: import("drizzle-orm/pg-core").PgColumn<{
296
+ name: "usage_limit";
297
+ tableName: "discounts";
298
+ dataType: "number";
299
+ columnType: "PgInteger";
300
+ data: number;
301
+ driverParam: string | number;
302
+ notNull: false;
303
+ hasDefault: false;
304
+ isPrimaryKey: false;
305
+ isAutoincrement: false;
306
+ hasRuntimeDefault: false;
307
+ enumValues: undefined;
308
+ baseColumn: never;
309
+ identity: undefined;
310
+ generated: undefined;
311
+ }, {}, {}>;
312
+ usageLimitPerCustomer: import("drizzle-orm/pg-core").PgColumn<{
313
+ name: "usage_limit_per_customer";
314
+ tableName: "discounts";
315
+ dataType: "number";
316
+ columnType: "PgInteger";
317
+ data: number;
318
+ driverParam: string | number;
319
+ notNull: false;
320
+ hasDefault: false;
321
+ isPrimaryKey: false;
322
+ isAutoincrement: false;
323
+ hasRuntimeDefault: false;
324
+ enumValues: undefined;
325
+ baseColumn: never;
326
+ identity: undefined;
327
+ generated: undefined;
328
+ }, {}, {}>;
329
+ currentUsageCount: import("drizzle-orm/pg-core").PgColumn<{
330
+ name: "current_usage_count";
331
+ tableName: "discounts";
332
+ dataType: "number";
333
+ columnType: "PgInteger";
334
+ data: number;
335
+ driverParam: string | number;
336
+ notNull: true;
337
+ hasDefault: true;
338
+ isPrimaryKey: false;
339
+ isAutoincrement: false;
340
+ hasRuntimeDefault: false;
341
+ enumValues: undefined;
342
+ baseColumn: never;
343
+ identity: undefined;
344
+ generated: undefined;
345
+ }, {}, {}>;
346
+ minPurchaseAmount: import("drizzle-orm/pg-core").PgColumn<{
347
+ name: "min_purchase_amount";
348
+ tableName: "discounts";
349
+ dataType: "string";
350
+ columnType: "PgNumeric";
351
+ data: string;
352
+ driverParam: string;
353
+ notNull: false;
354
+ hasDefault: false;
355
+ isPrimaryKey: false;
356
+ isAutoincrement: false;
357
+ hasRuntimeDefault: false;
358
+ enumValues: undefined;
359
+ baseColumn: never;
360
+ identity: undefined;
361
+ generated: undefined;
362
+ }, {}, {}>;
363
+ minQuantity: import("drizzle-orm/pg-core").PgColumn<{
364
+ name: "min_quantity";
365
+ tableName: "discounts";
366
+ dataType: "number";
367
+ columnType: "PgInteger";
368
+ data: number;
369
+ driverParam: string | number;
370
+ notNull: false;
371
+ hasDefault: false;
372
+ isPrimaryKey: false;
373
+ isAutoincrement: false;
374
+ hasRuntimeDefault: false;
375
+ enumValues: undefined;
376
+ baseColumn: never;
377
+ identity: undefined;
378
+ generated: undefined;
379
+ }, {}, {}>;
380
+ minItems: import("drizzle-orm/pg-core").PgColumn<{
381
+ name: "min_items";
382
+ tableName: "discounts";
383
+ dataType: "number";
384
+ columnType: "PgInteger";
385
+ data: number;
386
+ driverParam: string | number;
387
+ notNull: false;
388
+ hasDefault: false;
389
+ isPrimaryKey: false;
390
+ isAutoincrement: false;
391
+ hasRuntimeDefault: false;
392
+ enumValues: undefined;
393
+ baseColumn: never;
394
+ identity: undefined;
395
+ generated: undefined;
396
+ }, {}, {}>;
397
+ startsAt: import("drizzle-orm/pg-core").PgColumn<{
398
+ name: "starts_at";
399
+ tableName: "discounts";
400
+ dataType: "date";
401
+ columnType: "PgTimestamp";
402
+ data: Date;
403
+ driverParam: string;
404
+ notNull: false;
405
+ hasDefault: false;
406
+ isPrimaryKey: false;
407
+ isAutoincrement: false;
408
+ hasRuntimeDefault: false;
409
+ enumValues: undefined;
410
+ baseColumn: never;
411
+ identity: undefined;
412
+ generated: undefined;
413
+ }, {}, {}>;
414
+ endsAt: import("drizzle-orm/pg-core").PgColumn<{
415
+ name: "ends_at";
416
+ tableName: "discounts";
417
+ dataType: "date";
418
+ columnType: "PgTimestamp";
419
+ data: Date;
420
+ driverParam: string;
421
+ notNull: false;
422
+ hasDefault: false;
423
+ isPrimaryKey: false;
424
+ isAutoincrement: false;
425
+ hasRuntimeDefault: false;
426
+ enumValues: undefined;
427
+ baseColumn: never;
428
+ identity: undefined;
429
+ generated: undefined;
430
+ }, {}, {}>;
431
+ timeZone: import("drizzle-orm/pg-core").PgColumn<{
432
+ name: "time_zone";
433
+ tableName: "discounts";
434
+ dataType: "string";
435
+ columnType: "PgVarchar";
436
+ data: string;
437
+ driverParam: string;
438
+ notNull: false;
439
+ hasDefault: true;
440
+ isPrimaryKey: false;
441
+ isAutoincrement: false;
442
+ hasRuntimeDefault: false;
443
+ enumValues: [string, ...string[]];
444
+ baseColumn: never;
445
+ identity: undefined;
446
+ generated: undefined;
447
+ }, {}, {
448
+ length: 50;
449
+ }>;
450
+ scheduleConfig: import("drizzle-orm/pg-core").PgColumn<{
451
+ name: "schedule_config";
452
+ tableName: "discounts";
453
+ dataType: "json";
454
+ columnType: "PgJsonb";
455
+ data: {
456
+ recurringType?: "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY";
457
+ daysOfWeek?: number[];
458
+ hoursOfDay?: {
459
+ start: number;
460
+ end: number;
461
+ };
462
+ datesOfMonth?: number[];
463
+ monthsOfYear?: number[];
464
+ };
465
+ driverParam: unknown;
466
+ notNull: false;
467
+ hasDefault: false;
468
+ isPrimaryKey: false;
469
+ isAutoincrement: false;
470
+ hasRuntimeDefault: false;
471
+ enumValues: undefined;
472
+ baseColumn: never;
473
+ identity: undefined;
474
+ generated: undefined;
475
+ }, {}, {
476
+ $type: {
477
+ recurringType?: "DAILY" | "WEEKLY" | "MONTHLY" | "YEARLY";
478
+ daysOfWeek?: number[];
479
+ hoursOfDay?: {
480
+ start: number;
481
+ end: number;
482
+ };
483
+ datesOfMonth?: number[];
484
+ monthsOfYear?: number[];
485
+ };
486
+ }>;
487
+ geoRestrictions: import("drizzle-orm/pg-core").PgColumn<{
488
+ name: "geo_restrictions";
489
+ tableName: "discounts";
490
+ dataType: "json";
491
+ columnType: "PgJsonb";
492
+ data: {
493
+ includedCountries?: string[];
494
+ excludedCountries?: string[];
495
+ includedStates?: string[];
496
+ excludedStates?: string[];
497
+ includedCities?: string[];
498
+ excludedCities?: string[];
499
+ includedZipCodes?: string[];
500
+ excludedZipCodes?: string[];
501
+ };
502
+ driverParam: unknown;
503
+ notNull: false;
504
+ hasDefault: false;
505
+ isPrimaryKey: false;
506
+ isAutoincrement: false;
507
+ hasRuntimeDefault: false;
508
+ enumValues: undefined;
509
+ baseColumn: never;
510
+ identity: undefined;
511
+ generated: undefined;
512
+ }, {}, {
513
+ $type: {
514
+ includedCountries?: string[];
515
+ excludedCountries?: string[];
516
+ includedStates?: string[];
517
+ excludedStates?: string[];
518
+ includedCities?: string[];
519
+ excludedCities?: string[];
520
+ includedZipCodes?: string[];
521
+ excludedZipCodes?: string[];
522
+ };
523
+ }>;
524
+ salesChannels: import("drizzle-orm/pg-core").PgColumn<{
525
+ name: "sales_channels";
526
+ tableName: "discounts";
527
+ dataType: "json";
528
+ columnType: "PgJsonb";
529
+ data: ("POS" | "MARKETPLACE" | "STOREFRONT")[];
530
+ driverParam: unknown;
531
+ notNull: false;
532
+ hasDefault: true;
533
+ isPrimaryKey: false;
534
+ isAutoincrement: false;
535
+ hasRuntimeDefault: false;
536
+ enumValues: undefined;
537
+ baseColumn: never;
538
+ identity: undefined;
539
+ generated: undefined;
540
+ }, {}, {
541
+ $type: ("POS" | "MARKETPLACE" | "STOREFRONT")[];
542
+ }>;
543
+ stackingMode: import("drizzle-orm/pg-core").PgColumn<{
544
+ name: "stacking_mode";
545
+ tableName: "discounts";
546
+ dataType: "string";
547
+ columnType: "PgEnumColumn";
548
+ data: "NONE" | "CUSTOM" | "ADDITIVE" | "MULTIPLICATIVE" | "BEST_ONLY";
549
+ driverParam: string;
550
+ notNull: true;
551
+ hasDefault: true;
552
+ isPrimaryKey: false;
553
+ isAutoincrement: false;
554
+ hasRuntimeDefault: false;
555
+ enumValues: ["NONE", "ADDITIVE", "MULTIPLICATIVE", "BEST_ONLY", "CUSTOM"];
556
+ baseColumn: never;
557
+ identity: undefined;
558
+ generated: undefined;
559
+ }, {}, {}>;
560
+ priority: import("drizzle-orm/pg-core").PgColumn<{
561
+ name: "priority";
562
+ tableName: "discounts";
563
+ dataType: "number";
564
+ columnType: "PgInteger";
565
+ data: number;
566
+ driverParam: string | number;
567
+ notNull: true;
568
+ hasDefault: true;
569
+ isPrimaryKey: false;
570
+ isAutoincrement: false;
571
+ hasRuntimeDefault: false;
572
+ enumValues: undefined;
573
+ baseColumn: never;
574
+ identity: undefined;
575
+ generated: undefined;
576
+ }, {}, {}>;
577
+ excludeOtherDiscounts: import("drizzle-orm/pg-core").PgColumn<{
578
+ name: "exclude_other_discounts";
579
+ tableName: "discounts";
580
+ dataType: "boolean";
581
+ columnType: "PgBoolean";
582
+ data: boolean;
583
+ driverParam: boolean;
584
+ notNull: true;
585
+ hasDefault: true;
586
+ isPrimaryKey: false;
587
+ isAutoincrement: false;
588
+ hasRuntimeDefault: false;
589
+ enumValues: undefined;
590
+ baseColumn: never;
591
+ identity: undefined;
592
+ generated: undefined;
593
+ }, {}, {}>;
594
+ customRules: import("drizzle-orm/pg-core").PgColumn<{
595
+ name: "custom_rules";
596
+ tableName: "discounts";
597
+ dataType: "json";
598
+ columnType: "PgJsonb";
599
+ data: {
600
+ conditions?: Array<{
601
+ field: string;
602
+ operator: "EQUALS" | "NOT_EQUALS" | "GREATER_THAN" | "LESS_THAN" | "CONTAINS" | "NOT_CONTAINS";
603
+ value: any;
604
+ logicalOperator?: "AND" | "OR";
605
+ }>;
606
+ actions?: Array<{
607
+ type: string;
608
+ parameters: Record<string, any>;
609
+ }>;
610
+ };
611
+ driverParam: unknown;
612
+ notNull: false;
613
+ hasDefault: false;
614
+ isPrimaryKey: false;
615
+ isAutoincrement: false;
616
+ hasRuntimeDefault: false;
617
+ enumValues: undefined;
618
+ baseColumn: never;
619
+ identity: undefined;
620
+ generated: undefined;
621
+ }, {}, {
622
+ $type: {
623
+ conditions?: Array<{
624
+ field: string;
625
+ operator: "EQUALS" | "NOT_EQUALS" | "GREATER_THAN" | "LESS_THAN" | "CONTAINS" | "NOT_CONTAINS";
626
+ value: any;
627
+ logicalOperator?: "AND" | "OR";
628
+ }>;
629
+ actions?: Array<{
630
+ type: string;
631
+ parameters: Record<string, any>;
632
+ }>;
633
+ };
634
+ }>;
635
+ bogoConfig: import("drizzle-orm/pg-core").PgColumn<{
636
+ name: "bogo_config";
637
+ tableName: "discounts";
638
+ dataType: "json";
639
+ columnType: "PgJsonb";
640
+ data: {
641
+ buyQuantity: number;
642
+ getQuantity: number;
643
+ getDiscountPercentage?: number;
644
+ applicableToSameProduct?: boolean;
645
+ applicableToCollection?: string;
646
+ };
647
+ driverParam: unknown;
648
+ notNull: false;
649
+ hasDefault: false;
650
+ isPrimaryKey: false;
651
+ isAutoincrement: false;
652
+ hasRuntimeDefault: false;
653
+ enumValues: undefined;
654
+ baseColumn: never;
655
+ identity: undefined;
656
+ generated: undefined;
657
+ }, {}, {
658
+ $type: {
659
+ buyQuantity: number;
660
+ getQuantity: number;
661
+ getDiscountPercentage?: number;
662
+ applicableToSameProduct?: boolean;
663
+ applicableToCollection?: string;
664
+ };
665
+ }>;
666
+ tieredConfig: import("drizzle-orm/pg-core").PgColumn<{
667
+ name: "tiered_config";
668
+ tableName: "discounts";
669
+ dataType: "json";
670
+ columnType: "PgJsonb";
671
+ data: {
672
+ minQuantity: number;
673
+ discountPercentage?: number;
674
+ discountAmount?: number;
675
+ }[];
676
+ driverParam: unknown;
677
+ notNull: false;
678
+ hasDefault: false;
679
+ isPrimaryKey: false;
680
+ isAutoincrement: false;
681
+ hasRuntimeDefault: false;
682
+ enumValues: undefined;
683
+ baseColumn: never;
684
+ identity: undefined;
685
+ generated: undefined;
686
+ }, {}, {
687
+ $type: {
688
+ minQuantity: number;
689
+ discountPercentage?: number;
690
+ discountAmount?: number;
691
+ }[];
692
+ }>;
693
+ loyaltyPointsConfig: import("drizzle-orm/pg-core").PgColumn<{
694
+ name: "loyalty_points_config";
695
+ tableName: "discounts";
696
+ dataType: "json";
697
+ columnType: "PgJsonb";
698
+ data: {
699
+ pointsRequired: number;
700
+ pointsValue: number;
701
+ allowPartialRedemption?: boolean;
702
+ };
703
+ driverParam: unknown;
704
+ notNull: false;
705
+ hasDefault: false;
706
+ isPrimaryKey: false;
707
+ isAutoincrement: false;
708
+ hasRuntimeDefault: false;
709
+ enumValues: undefined;
710
+ baseColumn: never;
711
+ identity: undefined;
712
+ generated: undefined;
713
+ }, {}, {
714
+ $type: {
715
+ pointsRequired: number;
716
+ pointsValue: number;
717
+ allowPartialRedemption?: boolean;
718
+ };
719
+ }>;
720
+ totalSavings: import("drizzle-orm/pg-core").PgColumn<{
721
+ name: "total_savings";
722
+ tableName: "discounts";
723
+ dataType: "string";
724
+ columnType: "PgNumeric";
725
+ data: string;
726
+ driverParam: string;
727
+ notNull: true;
728
+ hasDefault: true;
729
+ isPrimaryKey: false;
730
+ isAutoincrement: false;
731
+ hasRuntimeDefault: false;
732
+ enumValues: undefined;
733
+ baseColumn: never;
734
+ identity: undefined;
735
+ generated: undefined;
736
+ }, {}, {}>;
737
+ totalRevenue: import("drizzle-orm/pg-core").PgColumn<{
738
+ name: "total_revenue";
739
+ tableName: "discounts";
740
+ dataType: "string";
741
+ columnType: "PgNumeric";
742
+ data: string;
743
+ driverParam: string;
744
+ notNull: true;
745
+ hasDefault: true;
746
+ isPrimaryKey: false;
747
+ isAutoincrement: false;
748
+ hasRuntimeDefault: false;
749
+ enumValues: undefined;
750
+ baseColumn: never;
751
+ identity: undefined;
752
+ generated: undefined;
753
+ }, {}, {}>;
754
+ conversionRate: import("drizzle-orm/pg-core").PgColumn<{
755
+ name: "conversion_rate";
756
+ tableName: "discounts";
757
+ dataType: "string";
758
+ columnType: "PgNumeric";
759
+ data: string;
760
+ driverParam: string;
761
+ notNull: false;
762
+ hasDefault: false;
763
+ isPrimaryKey: false;
764
+ isAutoincrement: false;
765
+ hasRuntimeDefault: false;
766
+ enumValues: undefined;
767
+ baseColumn: never;
768
+ identity: undefined;
769
+ generated: undefined;
770
+ }, {}, {}>;
771
+ createdBy: import("drizzle-orm/pg-core").PgColumn<{
772
+ name: "created_by";
773
+ tableName: "discounts";
774
+ dataType: "string";
775
+ columnType: "PgText";
776
+ data: string;
777
+ driverParam: string;
778
+ notNull: false;
779
+ hasDefault: false;
780
+ isPrimaryKey: false;
781
+ isAutoincrement: false;
782
+ hasRuntimeDefault: false;
783
+ enumValues: [string, ...string[]];
784
+ baseColumn: never;
785
+ identity: undefined;
786
+ generated: undefined;
787
+ }, {}, {}>;
788
+ lastModifiedBy: import("drizzle-orm/pg-core").PgColumn<{
789
+ name: "last_modified_by";
790
+ tableName: "discounts";
791
+ dataType: "string";
792
+ columnType: "PgText";
793
+ data: string;
794
+ driverParam: string;
795
+ notNull: false;
796
+ hasDefault: false;
797
+ isPrimaryKey: false;
798
+ isAutoincrement: false;
799
+ hasRuntimeDefault: false;
800
+ enumValues: [string, ...string[]];
801
+ baseColumn: never;
802
+ identity: undefined;
803
+ generated: undefined;
804
+ }, {}, {}>;
805
+ tags: import("drizzle-orm/pg-core").PgColumn<{
806
+ name: "tags";
807
+ tableName: "discounts";
808
+ dataType: "json";
809
+ columnType: "PgJsonb";
810
+ data: string[];
811
+ driverParam: unknown;
812
+ notNull: false;
813
+ hasDefault: true;
814
+ isPrimaryKey: false;
815
+ isAutoincrement: false;
816
+ hasRuntimeDefault: false;
817
+ enumValues: undefined;
818
+ baseColumn: never;
819
+ identity: undefined;
820
+ generated: undefined;
821
+ }, {}, {
822
+ $type: string[];
823
+ }>;
824
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
825
+ name: "created_at";
826
+ tableName: "discounts";
827
+ dataType: "date";
828
+ columnType: "PgTimestamp";
829
+ data: Date;
830
+ driverParam: string;
831
+ notNull: true;
832
+ hasDefault: true;
833
+ isPrimaryKey: false;
834
+ isAutoincrement: false;
835
+ hasRuntimeDefault: false;
836
+ enumValues: undefined;
837
+ baseColumn: never;
838
+ identity: undefined;
839
+ generated: undefined;
840
+ }, {}, {}>;
841
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
842
+ name: "updated_at";
843
+ tableName: "discounts";
844
+ dataType: "date";
845
+ columnType: "PgTimestamp";
846
+ data: Date;
847
+ driverParam: string;
848
+ notNull: true;
849
+ hasDefault: true;
850
+ isPrimaryKey: false;
851
+ isAutoincrement: false;
852
+ hasRuntimeDefault: false;
853
+ enumValues: undefined;
854
+ baseColumn: never;
855
+ identity: undefined;
856
+ generated: undefined;
857
+ }, {}, {}>;
858
+ deletedAt: import("drizzle-orm/pg-core").PgColumn<{
859
+ name: "deleted_at";
860
+ tableName: "discounts";
861
+ dataType: "date";
862
+ columnType: "PgTimestamp";
863
+ data: Date;
864
+ driverParam: string;
865
+ notNull: false;
866
+ hasDefault: false;
867
+ isPrimaryKey: false;
868
+ isAutoincrement: false;
869
+ hasRuntimeDefault: false;
870
+ enumValues: undefined;
871
+ baseColumn: never;
872
+ identity: undefined;
873
+ generated: undefined;
874
+ }, {}, {}>;
875
+ };
876
+ dialect: "pg";
877
+ }>;
878
+ export declare const discountUsages: import("drizzle-orm/pg-core").PgTableWithColumns<{
879
+ name: "discount_usages";
880
+ schema: undefined;
881
+ columns: {
882
+ id: import("drizzle-orm/pg-core").PgColumn<{
883
+ name: "id";
884
+ tableName: "discount_usages";
885
+ dataType: "string";
886
+ columnType: "PgText";
887
+ data: string;
888
+ driverParam: string;
889
+ notNull: true;
890
+ hasDefault: true;
891
+ isPrimaryKey: true;
892
+ isAutoincrement: false;
893
+ hasRuntimeDefault: true;
894
+ enumValues: [string, ...string[]];
895
+ baseColumn: never;
896
+ identity: undefined;
897
+ generated: undefined;
898
+ }, {}, {}>;
899
+ discountId: import("drizzle-orm/pg-core").PgColumn<{
900
+ name: "discount_id";
901
+ tableName: "discount_usages";
902
+ dataType: "string";
903
+ columnType: "PgText";
904
+ data: string;
905
+ driverParam: string;
906
+ notNull: true;
907
+ hasDefault: false;
908
+ isPrimaryKey: false;
909
+ isAutoincrement: false;
910
+ hasRuntimeDefault: false;
911
+ enumValues: [string, ...string[]];
912
+ baseColumn: never;
913
+ identity: undefined;
914
+ generated: undefined;
915
+ }, {}, {}>;
916
+ storeId: import("drizzle-orm/pg-core").PgColumn<{
917
+ name: "store_id";
918
+ tableName: "discount_usages";
919
+ dataType: "string";
920
+ columnType: "PgText";
921
+ data: string;
922
+ driverParam: string;
923
+ notNull: true;
924
+ hasDefault: false;
925
+ isPrimaryKey: false;
926
+ isAutoincrement: false;
927
+ hasRuntimeDefault: false;
928
+ enumValues: [string, ...string[]];
929
+ baseColumn: never;
930
+ identity: undefined;
931
+ generated: undefined;
932
+ }, {}, {}>;
933
+ orderId: import("drizzle-orm/pg-core").PgColumn<{
934
+ name: "order_id";
935
+ tableName: "discount_usages";
936
+ dataType: "string";
937
+ columnType: "PgText";
938
+ data: string;
939
+ driverParam: string;
940
+ notNull: false;
941
+ hasDefault: false;
942
+ isPrimaryKey: false;
943
+ isAutoincrement: false;
944
+ hasRuntimeDefault: false;
945
+ enumValues: [string, ...string[]];
946
+ baseColumn: never;
947
+ identity: undefined;
948
+ generated: undefined;
949
+ }, {}, {}>;
950
+ customerId: import("drizzle-orm/pg-core").PgColumn<{
951
+ name: "customer_id";
952
+ tableName: "discount_usages";
953
+ dataType: "string";
954
+ columnType: "PgText";
955
+ data: string;
956
+ driverParam: string;
957
+ notNull: false;
958
+ hasDefault: false;
959
+ isPrimaryKey: false;
960
+ isAutoincrement: false;
961
+ hasRuntimeDefault: false;
962
+ enumValues: [string, ...string[]];
963
+ baseColumn: never;
964
+ identity: undefined;
965
+ generated: undefined;
966
+ }, {}, {}>;
967
+ sessionId: import("drizzle-orm/pg-core").PgColumn<{
968
+ name: "session_id";
969
+ tableName: "discount_usages";
970
+ dataType: "string";
971
+ columnType: "PgText";
972
+ data: string;
973
+ driverParam: string;
974
+ notNull: false;
975
+ hasDefault: false;
976
+ isPrimaryKey: false;
977
+ isAutoincrement: false;
978
+ hasRuntimeDefault: false;
979
+ enumValues: [string, ...string[]];
980
+ baseColumn: never;
981
+ identity: undefined;
982
+ generated: undefined;
983
+ }, {}, {}>;
984
+ originalAmount: import("drizzle-orm/pg-core").PgColumn<{
985
+ name: "original_amount";
986
+ tableName: "discount_usages";
987
+ dataType: "string";
988
+ columnType: "PgNumeric";
989
+ data: string;
990
+ driverParam: string;
991
+ notNull: true;
992
+ hasDefault: false;
993
+ isPrimaryKey: false;
994
+ isAutoincrement: false;
995
+ hasRuntimeDefault: false;
996
+ enumValues: undefined;
997
+ baseColumn: never;
998
+ identity: undefined;
999
+ generated: undefined;
1000
+ }, {}, {}>;
1001
+ discountAmount: import("drizzle-orm/pg-core").PgColumn<{
1002
+ name: "discount_amount";
1003
+ tableName: "discount_usages";
1004
+ dataType: "string";
1005
+ columnType: "PgNumeric";
1006
+ data: string;
1007
+ driverParam: string;
1008
+ notNull: true;
1009
+ hasDefault: false;
1010
+ isPrimaryKey: false;
1011
+ isAutoincrement: false;
1012
+ hasRuntimeDefault: false;
1013
+ enumValues: undefined;
1014
+ baseColumn: never;
1015
+ identity: undefined;
1016
+ generated: undefined;
1017
+ }, {}, {}>;
1018
+ finalAmount: import("drizzle-orm/pg-core").PgColumn<{
1019
+ name: "final_amount";
1020
+ tableName: "discount_usages";
1021
+ dataType: "string";
1022
+ columnType: "PgNumeric";
1023
+ data: string;
1024
+ driverParam: string;
1025
+ notNull: true;
1026
+ hasDefault: false;
1027
+ isPrimaryKey: false;
1028
+ isAutoincrement: false;
1029
+ hasRuntimeDefault: false;
1030
+ enumValues: undefined;
1031
+ baseColumn: never;
1032
+ identity: undefined;
1033
+ generated: undefined;
1034
+ }, {}, {}>;
1035
+ appliedProducts: import("drizzle-orm/pg-core").PgColumn<{
1036
+ name: "applied_products";
1037
+ tableName: "discount_usages";
1038
+ dataType: "json";
1039
+ columnType: "PgJsonb";
1040
+ data: {
1041
+ productId: string;
1042
+ variantId?: string;
1043
+ quantity: number;
1044
+ originalPrice: number;
1045
+ discountedPrice: number;
1046
+ }[];
1047
+ driverParam: unknown;
1048
+ notNull: false;
1049
+ hasDefault: false;
1050
+ isPrimaryKey: false;
1051
+ isAutoincrement: false;
1052
+ hasRuntimeDefault: false;
1053
+ enumValues: undefined;
1054
+ baseColumn: never;
1055
+ identity: undefined;
1056
+ generated: undefined;
1057
+ }, {}, {
1058
+ $type: {
1059
+ productId: string;
1060
+ variantId?: string;
1061
+ quantity: number;
1062
+ originalPrice: number;
1063
+ discountedPrice: number;
1064
+ }[];
1065
+ }>;
1066
+ salesChannel: import("drizzle-orm/pg-core").PgColumn<{
1067
+ name: "sales_channel";
1068
+ tableName: "discount_usages";
1069
+ dataType: "string";
1070
+ columnType: "PgVarchar";
1071
+ data: string;
1072
+ driverParam: string;
1073
+ notNull: false;
1074
+ hasDefault: false;
1075
+ isPrimaryKey: false;
1076
+ isAutoincrement: false;
1077
+ hasRuntimeDefault: false;
1078
+ enumValues: [string, ...string[]];
1079
+ baseColumn: never;
1080
+ identity: undefined;
1081
+ generated: undefined;
1082
+ }, {}, {
1083
+ length: 20;
1084
+ }>;
1085
+ locationId: import("drizzle-orm/pg-core").PgColumn<{
1086
+ name: "location_id";
1087
+ tableName: "discount_usages";
1088
+ dataType: "string";
1089
+ columnType: "PgText";
1090
+ data: string;
1091
+ driverParam: string;
1092
+ notNull: false;
1093
+ hasDefault: false;
1094
+ isPrimaryKey: false;
1095
+ isAutoincrement: false;
1096
+ hasRuntimeDefault: false;
1097
+ enumValues: [string, ...string[]];
1098
+ baseColumn: never;
1099
+ identity: undefined;
1100
+ generated: undefined;
1101
+ }, {}, {}>;
1102
+ ipAddress: import("drizzle-orm/pg-core").PgColumn<{
1103
+ name: "ip_address";
1104
+ tableName: "discount_usages";
1105
+ dataType: "string";
1106
+ columnType: "PgVarchar";
1107
+ data: string;
1108
+ driverParam: string;
1109
+ notNull: false;
1110
+ hasDefault: false;
1111
+ isPrimaryKey: false;
1112
+ isAutoincrement: false;
1113
+ hasRuntimeDefault: false;
1114
+ enumValues: [string, ...string[]];
1115
+ baseColumn: never;
1116
+ identity: undefined;
1117
+ generated: undefined;
1118
+ }, {}, {
1119
+ length: 45;
1120
+ }>;
1121
+ userAgent: import("drizzle-orm/pg-core").PgColumn<{
1122
+ name: "user_agent";
1123
+ tableName: "discount_usages";
1124
+ dataType: "string";
1125
+ columnType: "PgText";
1126
+ data: string;
1127
+ driverParam: string;
1128
+ notNull: false;
1129
+ hasDefault: false;
1130
+ isPrimaryKey: false;
1131
+ isAutoincrement: false;
1132
+ hasRuntimeDefault: false;
1133
+ enumValues: [string, ...string[]];
1134
+ baseColumn: never;
1135
+ identity: undefined;
1136
+ generated: undefined;
1137
+ }, {}, {}>;
1138
+ deviceType: import("drizzle-orm/pg-core").PgColumn<{
1139
+ name: "device_type";
1140
+ tableName: "discount_usages";
1141
+ dataType: "string";
1142
+ columnType: "PgVarchar";
1143
+ data: string;
1144
+ driverParam: string;
1145
+ notNull: false;
1146
+ hasDefault: false;
1147
+ isPrimaryKey: false;
1148
+ isAutoincrement: false;
1149
+ hasRuntimeDefault: false;
1150
+ enumValues: [string, ...string[]];
1151
+ baseColumn: never;
1152
+ identity: undefined;
1153
+ generated: undefined;
1154
+ }, {}, {
1155
+ length: 20;
1156
+ }>;
1157
+ appliedAt: import("drizzle-orm/pg-core").PgColumn<{
1158
+ name: "applied_at";
1159
+ tableName: "discount_usages";
1160
+ dataType: "date";
1161
+ columnType: "PgTimestamp";
1162
+ data: Date;
1163
+ driverParam: string;
1164
+ notNull: true;
1165
+ hasDefault: true;
1166
+ isPrimaryKey: false;
1167
+ isAutoincrement: false;
1168
+ hasRuntimeDefault: false;
1169
+ enumValues: undefined;
1170
+ baseColumn: never;
1171
+ identity: undefined;
1172
+ generated: undefined;
1173
+ }, {}, {}>;
1174
+ };
1175
+ dialect: "pg";
1176
+ }>;
1177
+ export declare const discountRules: import("drizzle-orm/pg-core").PgTableWithColumns<{
1178
+ name: "discount_rules";
1179
+ schema: undefined;
1180
+ columns: {
1181
+ id: import("drizzle-orm/pg-core").PgColumn<{
1182
+ name: "id";
1183
+ tableName: "discount_rules";
1184
+ dataType: "string";
1185
+ columnType: "PgText";
1186
+ data: string;
1187
+ driverParam: string;
1188
+ notNull: true;
1189
+ hasDefault: true;
1190
+ isPrimaryKey: true;
1191
+ isAutoincrement: false;
1192
+ hasRuntimeDefault: true;
1193
+ enumValues: [string, ...string[]];
1194
+ baseColumn: never;
1195
+ identity: undefined;
1196
+ generated: undefined;
1197
+ }, {}, {}>;
1198
+ discountId: import("drizzle-orm/pg-core").PgColumn<{
1199
+ name: "discount_id";
1200
+ tableName: "discount_rules";
1201
+ dataType: "string";
1202
+ columnType: "PgText";
1203
+ data: string;
1204
+ driverParam: string;
1205
+ notNull: true;
1206
+ hasDefault: false;
1207
+ isPrimaryKey: false;
1208
+ isAutoincrement: false;
1209
+ hasRuntimeDefault: false;
1210
+ enumValues: [string, ...string[]];
1211
+ baseColumn: never;
1212
+ identity: undefined;
1213
+ generated: undefined;
1214
+ }, {}, {}>;
1215
+ storeId: import("drizzle-orm/pg-core").PgColumn<{
1216
+ name: "store_id";
1217
+ tableName: "discount_rules";
1218
+ dataType: "string";
1219
+ columnType: "PgText";
1220
+ data: string;
1221
+ driverParam: string;
1222
+ notNull: true;
1223
+ hasDefault: false;
1224
+ isPrimaryKey: false;
1225
+ isAutoincrement: false;
1226
+ hasRuntimeDefault: false;
1227
+ enumValues: [string, ...string[]];
1228
+ baseColumn: never;
1229
+ identity: undefined;
1230
+ generated: undefined;
1231
+ }, {}, {}>;
1232
+ name: import("drizzle-orm/pg-core").PgColumn<{
1233
+ name: "name";
1234
+ tableName: "discount_rules";
1235
+ dataType: "string";
1236
+ columnType: "PgVarchar";
1237
+ data: string;
1238
+ driverParam: string;
1239
+ notNull: true;
1240
+ hasDefault: false;
1241
+ isPrimaryKey: false;
1242
+ isAutoincrement: false;
1243
+ hasRuntimeDefault: false;
1244
+ enumValues: [string, ...string[]];
1245
+ baseColumn: never;
1246
+ identity: undefined;
1247
+ generated: undefined;
1248
+ }, {}, {
1249
+ length: 255;
1250
+ }>;
1251
+ description: import("drizzle-orm/pg-core").PgColumn<{
1252
+ name: "description";
1253
+ tableName: "discount_rules";
1254
+ dataType: "string";
1255
+ columnType: "PgText";
1256
+ data: string;
1257
+ driverParam: string;
1258
+ notNull: false;
1259
+ hasDefault: false;
1260
+ isPrimaryKey: false;
1261
+ isAutoincrement: false;
1262
+ hasRuntimeDefault: false;
1263
+ enumValues: [string, ...string[]];
1264
+ baseColumn: never;
1265
+ identity: undefined;
1266
+ generated: undefined;
1267
+ }, {}, {}>;
1268
+ ruleType: import("drizzle-orm/pg-core").PgColumn<{
1269
+ name: "rule_type";
1270
+ tableName: "discount_rules";
1271
+ dataType: "string";
1272
+ columnType: "PgVarchar";
1273
+ data: string;
1274
+ driverParam: string;
1275
+ notNull: true;
1276
+ hasDefault: false;
1277
+ isPrimaryKey: false;
1278
+ isAutoincrement: false;
1279
+ hasRuntimeDefault: false;
1280
+ enumValues: [string, ...string[]];
1281
+ baseColumn: never;
1282
+ identity: undefined;
1283
+ generated: undefined;
1284
+ }, {}, {
1285
+ length: 50;
1286
+ }>;
1287
+ conditions: import("drizzle-orm/pg-core").PgColumn<{
1288
+ name: "conditions";
1289
+ tableName: "discount_rules";
1290
+ dataType: "json";
1291
+ columnType: "PgJsonb";
1292
+ data: {
1293
+ field: string;
1294
+ operator: "EQUALS" | "NOT_EQUALS" | "GREATER_THAN" | "LESS_THAN" | "IN" | "NOT_IN" | "CONTAINS" | "NOT_CONTAINS";
1295
+ value: any;
1296
+ logicalOperator?: "AND" | "OR";
1297
+ }[];
1298
+ driverParam: unknown;
1299
+ notNull: true;
1300
+ hasDefault: false;
1301
+ isPrimaryKey: false;
1302
+ isAutoincrement: false;
1303
+ hasRuntimeDefault: false;
1304
+ enumValues: undefined;
1305
+ baseColumn: never;
1306
+ identity: undefined;
1307
+ generated: undefined;
1308
+ }, {}, {
1309
+ $type: {
1310
+ field: string;
1311
+ operator: "EQUALS" | "NOT_EQUALS" | "GREATER_THAN" | "LESS_THAN" | "IN" | "NOT_IN" | "CONTAINS" | "NOT_CONTAINS";
1312
+ value: any;
1313
+ logicalOperator?: "AND" | "OR";
1314
+ }[];
1315
+ }>;
1316
+ actions: import("drizzle-orm/pg-core").PgColumn<{
1317
+ name: "actions";
1318
+ tableName: "discount_rules";
1319
+ dataType: "json";
1320
+ columnType: "PgJsonb";
1321
+ data: {
1322
+ type: string;
1323
+ parameters: Record<string, any>;
1324
+ }[];
1325
+ driverParam: unknown;
1326
+ notNull: false;
1327
+ hasDefault: true;
1328
+ isPrimaryKey: false;
1329
+ isAutoincrement: false;
1330
+ hasRuntimeDefault: false;
1331
+ enumValues: undefined;
1332
+ baseColumn: never;
1333
+ identity: undefined;
1334
+ generated: undefined;
1335
+ }, {}, {
1336
+ $type: {
1337
+ type: string;
1338
+ parameters: Record<string, any>;
1339
+ }[];
1340
+ }>;
1341
+ priority: import("drizzle-orm/pg-core").PgColumn<{
1342
+ name: "priority";
1343
+ tableName: "discount_rules";
1344
+ dataType: "number";
1345
+ columnType: "PgInteger";
1346
+ data: number;
1347
+ driverParam: string | number;
1348
+ notNull: true;
1349
+ hasDefault: true;
1350
+ isPrimaryKey: false;
1351
+ isAutoincrement: false;
1352
+ hasRuntimeDefault: false;
1353
+ enumValues: undefined;
1354
+ baseColumn: never;
1355
+ identity: undefined;
1356
+ generated: undefined;
1357
+ }, {}, {}>;
1358
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
1359
+ name: "is_active";
1360
+ tableName: "discount_rules";
1361
+ dataType: "boolean";
1362
+ columnType: "PgBoolean";
1363
+ data: boolean;
1364
+ driverParam: boolean;
1365
+ notNull: true;
1366
+ hasDefault: true;
1367
+ isPrimaryKey: false;
1368
+ isAutoincrement: false;
1369
+ hasRuntimeDefault: false;
1370
+ enumValues: undefined;
1371
+ baseColumn: never;
1372
+ identity: undefined;
1373
+ generated: undefined;
1374
+ }, {}, {}>;
1375
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1376
+ name: "created_at";
1377
+ tableName: "discount_rules";
1378
+ dataType: "date";
1379
+ columnType: "PgTimestamp";
1380
+ data: Date;
1381
+ driverParam: string;
1382
+ notNull: true;
1383
+ hasDefault: true;
1384
+ isPrimaryKey: false;
1385
+ isAutoincrement: false;
1386
+ hasRuntimeDefault: false;
1387
+ enumValues: undefined;
1388
+ baseColumn: never;
1389
+ identity: undefined;
1390
+ generated: undefined;
1391
+ }, {}, {}>;
1392
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1393
+ name: "updated_at";
1394
+ tableName: "discount_rules";
1395
+ dataType: "date";
1396
+ columnType: "PgTimestamp";
1397
+ data: Date;
1398
+ driverParam: string;
1399
+ notNull: true;
1400
+ hasDefault: true;
1401
+ isPrimaryKey: false;
1402
+ isAutoincrement: false;
1403
+ hasRuntimeDefault: false;
1404
+ enumValues: undefined;
1405
+ baseColumn: never;
1406
+ identity: undefined;
1407
+ generated: undefined;
1408
+ }, {}, {}>;
1409
+ };
1410
+ dialect: "pg";
1411
+ }>;
1412
+ export declare const customerSegments: import("drizzle-orm/pg-core").PgTableWithColumns<{
1413
+ name: "customer_segments";
1414
+ schema: undefined;
1415
+ columns: {
1416
+ id: import("drizzle-orm/pg-core").PgColumn<{
1417
+ name: "id";
1418
+ tableName: "customer_segments";
1419
+ dataType: "string";
1420
+ columnType: "PgText";
1421
+ data: string;
1422
+ driverParam: string;
1423
+ notNull: true;
1424
+ hasDefault: true;
1425
+ isPrimaryKey: true;
1426
+ isAutoincrement: false;
1427
+ hasRuntimeDefault: true;
1428
+ enumValues: [string, ...string[]];
1429
+ baseColumn: never;
1430
+ identity: undefined;
1431
+ generated: undefined;
1432
+ }, {}, {}>;
1433
+ storeId: import("drizzle-orm/pg-core").PgColumn<{
1434
+ name: "store_id";
1435
+ tableName: "customer_segments";
1436
+ dataType: "string";
1437
+ columnType: "PgText";
1438
+ data: string;
1439
+ driverParam: string;
1440
+ notNull: true;
1441
+ hasDefault: false;
1442
+ isPrimaryKey: false;
1443
+ isAutoincrement: false;
1444
+ hasRuntimeDefault: false;
1445
+ enumValues: [string, ...string[]];
1446
+ baseColumn: never;
1447
+ identity: undefined;
1448
+ generated: undefined;
1449
+ }, {}, {}>;
1450
+ name: import("drizzle-orm/pg-core").PgColumn<{
1451
+ name: "name";
1452
+ tableName: "customer_segments";
1453
+ dataType: "string";
1454
+ columnType: "PgVarchar";
1455
+ data: string;
1456
+ driverParam: string;
1457
+ notNull: true;
1458
+ hasDefault: false;
1459
+ isPrimaryKey: false;
1460
+ isAutoincrement: false;
1461
+ hasRuntimeDefault: false;
1462
+ enumValues: [string, ...string[]];
1463
+ baseColumn: never;
1464
+ identity: undefined;
1465
+ generated: undefined;
1466
+ }, {}, {
1467
+ length: 255;
1468
+ }>;
1469
+ description: import("drizzle-orm/pg-core").PgColumn<{
1470
+ name: "description";
1471
+ tableName: "customer_segments";
1472
+ dataType: "string";
1473
+ columnType: "PgText";
1474
+ data: string;
1475
+ driverParam: string;
1476
+ notNull: false;
1477
+ hasDefault: false;
1478
+ isPrimaryKey: false;
1479
+ isAutoincrement: false;
1480
+ hasRuntimeDefault: false;
1481
+ enumValues: [string, ...string[]];
1482
+ baseColumn: never;
1483
+ identity: undefined;
1484
+ generated: undefined;
1485
+ }, {}, {}>;
1486
+ segmentType: import("drizzle-orm/pg-core").PgColumn<{
1487
+ name: "segment_type";
1488
+ tableName: "customer_segments";
1489
+ dataType: "string";
1490
+ columnType: "PgEnumColumn";
1491
+ data: "VIP" | "CUSTOM" | "NEW_CUSTOMER" | "RETURNING_CUSTOMER" | "LOYALTY_TIER_1" | "LOYALTY_TIER_2" | "LOYALTY_TIER_3" | "GEOGRAPHIC" | "PURCHASE_HISTORY";
1492
+ driverParam: string;
1493
+ notNull: true;
1494
+ hasDefault: false;
1495
+ isPrimaryKey: false;
1496
+ isAutoincrement: false;
1497
+ hasRuntimeDefault: false;
1498
+ enumValues: ["NEW_CUSTOMER", "RETURNING_CUSTOMER", "VIP", "LOYALTY_TIER_1", "LOYALTY_TIER_2", "LOYALTY_TIER_3", "GEOGRAPHIC", "PURCHASE_HISTORY", "CUSTOM"];
1499
+ baseColumn: never;
1500
+ identity: undefined;
1501
+ generated: undefined;
1502
+ }, {}, {}>;
1503
+ criteria: import("drizzle-orm/pg-core").PgColumn<{
1504
+ name: "criteria";
1505
+ tableName: "customer_segments";
1506
+ dataType: "json";
1507
+ columnType: "PgJsonb";
1508
+ data: {
1509
+ orderCount?: {
1510
+ min?: number;
1511
+ max?: number;
1512
+ };
1513
+ totalSpent?: {
1514
+ min?: number;
1515
+ max?: number;
1516
+ };
1517
+ lastOrderDate?: {
1518
+ before?: string;
1519
+ after?: string;
1520
+ };
1521
+ avgOrderValue?: {
1522
+ min?: number;
1523
+ max?: number;
1524
+ };
1525
+ productCategories?: string[];
1526
+ geoLocation?: {
1527
+ countries?: string[];
1528
+ states?: string[];
1529
+ cities?: string[];
1530
+ };
1531
+ loyaltyTier?: string;
1532
+ registrationDate?: {
1533
+ before?: string;
1534
+ after?: string;
1535
+ };
1536
+ customFields?: Record<string, any>;
1537
+ };
1538
+ driverParam: unknown;
1539
+ notNull: false;
1540
+ hasDefault: false;
1541
+ isPrimaryKey: false;
1542
+ isAutoincrement: false;
1543
+ hasRuntimeDefault: false;
1544
+ enumValues: undefined;
1545
+ baseColumn: never;
1546
+ identity: undefined;
1547
+ generated: undefined;
1548
+ }, {}, {
1549
+ $type: {
1550
+ orderCount?: {
1551
+ min?: number;
1552
+ max?: number;
1553
+ };
1554
+ totalSpent?: {
1555
+ min?: number;
1556
+ max?: number;
1557
+ };
1558
+ lastOrderDate?: {
1559
+ before?: string;
1560
+ after?: string;
1561
+ };
1562
+ avgOrderValue?: {
1563
+ min?: number;
1564
+ max?: number;
1565
+ };
1566
+ productCategories?: string[];
1567
+ geoLocation?: {
1568
+ countries?: string[];
1569
+ states?: string[];
1570
+ cities?: string[];
1571
+ };
1572
+ loyaltyTier?: string;
1573
+ registrationDate?: {
1574
+ before?: string;
1575
+ after?: string;
1576
+ };
1577
+ customFields?: Record<string, any>;
1578
+ };
1579
+ }>;
1580
+ memberCount: import("drizzle-orm/pg-core").PgColumn<{
1581
+ name: "member_count";
1582
+ tableName: "customer_segments";
1583
+ dataType: "number";
1584
+ columnType: "PgInteger";
1585
+ data: number;
1586
+ driverParam: string | number;
1587
+ notNull: true;
1588
+ hasDefault: true;
1589
+ isPrimaryKey: false;
1590
+ isAutoincrement: false;
1591
+ hasRuntimeDefault: false;
1592
+ enumValues: undefined;
1593
+ baseColumn: never;
1594
+ identity: undefined;
1595
+ generated: undefined;
1596
+ }, {}, {}>;
1597
+ lastCalculatedAt: import("drizzle-orm/pg-core").PgColumn<{
1598
+ name: "last_calculated_at";
1599
+ tableName: "customer_segments";
1600
+ dataType: "date";
1601
+ columnType: "PgTimestamp";
1602
+ data: Date;
1603
+ driverParam: string;
1604
+ notNull: false;
1605
+ hasDefault: false;
1606
+ isPrimaryKey: false;
1607
+ isAutoincrement: false;
1608
+ hasRuntimeDefault: false;
1609
+ enumValues: undefined;
1610
+ baseColumn: never;
1611
+ identity: undefined;
1612
+ generated: undefined;
1613
+ }, {}, {}>;
1614
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
1615
+ name: "is_active";
1616
+ tableName: "customer_segments";
1617
+ dataType: "boolean";
1618
+ columnType: "PgBoolean";
1619
+ data: boolean;
1620
+ driverParam: boolean;
1621
+ notNull: true;
1622
+ hasDefault: true;
1623
+ isPrimaryKey: false;
1624
+ isAutoincrement: false;
1625
+ hasRuntimeDefault: false;
1626
+ enumValues: undefined;
1627
+ baseColumn: never;
1628
+ identity: undefined;
1629
+ generated: undefined;
1630
+ }, {}, {}>;
1631
+ autoUpdate: import("drizzle-orm/pg-core").PgColumn<{
1632
+ name: "auto_update";
1633
+ tableName: "customer_segments";
1634
+ dataType: "boolean";
1635
+ columnType: "PgBoolean";
1636
+ data: boolean;
1637
+ driverParam: boolean;
1638
+ notNull: true;
1639
+ hasDefault: true;
1640
+ isPrimaryKey: false;
1641
+ isAutoincrement: false;
1642
+ hasRuntimeDefault: false;
1643
+ enumValues: undefined;
1644
+ baseColumn: never;
1645
+ identity: undefined;
1646
+ generated: undefined;
1647
+ }, {}, {}>;
1648
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
1649
+ name: "created_at";
1650
+ tableName: "customer_segments";
1651
+ dataType: "date";
1652
+ columnType: "PgTimestamp";
1653
+ data: Date;
1654
+ driverParam: string;
1655
+ notNull: true;
1656
+ hasDefault: true;
1657
+ isPrimaryKey: false;
1658
+ isAutoincrement: false;
1659
+ hasRuntimeDefault: false;
1660
+ enumValues: undefined;
1661
+ baseColumn: never;
1662
+ identity: undefined;
1663
+ generated: undefined;
1664
+ }, {}, {}>;
1665
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1666
+ name: "updated_at";
1667
+ tableName: "customer_segments";
1668
+ dataType: "date";
1669
+ columnType: "PgTimestamp";
1670
+ data: Date;
1671
+ driverParam: string;
1672
+ notNull: true;
1673
+ hasDefault: true;
1674
+ isPrimaryKey: false;
1675
+ isAutoincrement: false;
1676
+ hasRuntimeDefault: false;
1677
+ enumValues: undefined;
1678
+ baseColumn: never;
1679
+ identity: undefined;
1680
+ generated: undefined;
1681
+ }, {}, {}>;
1682
+ };
1683
+ dialect: "pg";
1684
+ }>;
1685
+ export declare const discountAnalytics: import("drizzle-orm/pg-core").PgTableWithColumns<{
1686
+ name: "discount_analytics";
1687
+ schema: undefined;
1688
+ columns: {
1689
+ id: import("drizzle-orm/pg-core").PgColumn<{
1690
+ name: "id";
1691
+ tableName: "discount_analytics";
1692
+ dataType: "string";
1693
+ columnType: "PgText";
1694
+ data: string;
1695
+ driverParam: string;
1696
+ notNull: true;
1697
+ hasDefault: true;
1698
+ isPrimaryKey: true;
1699
+ isAutoincrement: false;
1700
+ hasRuntimeDefault: true;
1701
+ enumValues: [string, ...string[]];
1702
+ baseColumn: never;
1703
+ identity: undefined;
1704
+ generated: undefined;
1705
+ }, {}, {}>;
1706
+ discountId: import("drizzle-orm/pg-core").PgColumn<{
1707
+ name: "discount_id";
1708
+ tableName: "discount_analytics";
1709
+ dataType: "string";
1710
+ columnType: "PgText";
1711
+ data: string;
1712
+ driverParam: string;
1713
+ notNull: true;
1714
+ hasDefault: false;
1715
+ isPrimaryKey: false;
1716
+ isAutoincrement: false;
1717
+ hasRuntimeDefault: false;
1718
+ enumValues: [string, ...string[]];
1719
+ baseColumn: never;
1720
+ identity: undefined;
1721
+ generated: undefined;
1722
+ }, {}, {}>;
1723
+ storeId: import("drizzle-orm/pg-core").PgColumn<{
1724
+ name: "store_id";
1725
+ tableName: "discount_analytics";
1726
+ dataType: "string";
1727
+ columnType: "PgText";
1728
+ data: string;
1729
+ driverParam: string;
1730
+ notNull: true;
1731
+ hasDefault: false;
1732
+ isPrimaryKey: false;
1733
+ isAutoincrement: false;
1734
+ hasRuntimeDefault: false;
1735
+ enumValues: [string, ...string[]];
1736
+ baseColumn: never;
1737
+ identity: undefined;
1738
+ generated: undefined;
1739
+ }, {}, {}>;
1740
+ periodType: import("drizzle-orm/pg-core").PgColumn<{
1741
+ name: "period_type";
1742
+ tableName: "discount_analytics";
1743
+ dataType: "string";
1744
+ columnType: "PgVarchar";
1745
+ data: string;
1746
+ driverParam: string;
1747
+ notNull: true;
1748
+ hasDefault: false;
1749
+ isPrimaryKey: false;
1750
+ isAutoincrement: false;
1751
+ hasRuntimeDefault: false;
1752
+ enumValues: [string, ...string[]];
1753
+ baseColumn: never;
1754
+ identity: undefined;
1755
+ generated: undefined;
1756
+ }, {}, {
1757
+ length: 20;
1758
+ }>;
1759
+ periodStart: import("drizzle-orm/pg-core").PgColumn<{
1760
+ name: "period_start";
1761
+ tableName: "discount_analytics";
1762
+ dataType: "date";
1763
+ columnType: "PgTimestamp";
1764
+ data: Date;
1765
+ driverParam: string;
1766
+ notNull: true;
1767
+ hasDefault: false;
1768
+ isPrimaryKey: false;
1769
+ isAutoincrement: false;
1770
+ hasRuntimeDefault: false;
1771
+ enumValues: undefined;
1772
+ baseColumn: never;
1773
+ identity: undefined;
1774
+ generated: undefined;
1775
+ }, {}, {}>;
1776
+ periodEnd: import("drizzle-orm/pg-core").PgColumn<{
1777
+ name: "period_end";
1778
+ tableName: "discount_analytics";
1779
+ dataType: "date";
1780
+ columnType: "PgTimestamp";
1781
+ data: Date;
1782
+ driverParam: string;
1783
+ notNull: true;
1784
+ hasDefault: false;
1785
+ isPrimaryKey: false;
1786
+ isAutoincrement: false;
1787
+ hasRuntimeDefault: false;
1788
+ enumValues: undefined;
1789
+ baseColumn: never;
1790
+ identity: undefined;
1791
+ generated: undefined;
1792
+ }, {}, {}>;
1793
+ totalUsages: import("drizzle-orm/pg-core").PgColumn<{
1794
+ name: "total_usages";
1795
+ tableName: "discount_analytics";
1796
+ dataType: "number";
1797
+ columnType: "PgInteger";
1798
+ data: number;
1799
+ driverParam: string | number;
1800
+ notNull: true;
1801
+ hasDefault: true;
1802
+ isPrimaryKey: false;
1803
+ isAutoincrement: false;
1804
+ hasRuntimeDefault: false;
1805
+ enumValues: undefined;
1806
+ baseColumn: never;
1807
+ identity: undefined;
1808
+ generated: undefined;
1809
+ }, {}, {}>;
1810
+ uniqueCustomers: import("drizzle-orm/pg-core").PgColumn<{
1811
+ name: "unique_customers";
1812
+ tableName: "discount_analytics";
1813
+ dataType: "number";
1814
+ columnType: "PgInteger";
1815
+ data: number;
1816
+ driverParam: string | number;
1817
+ notNull: true;
1818
+ hasDefault: true;
1819
+ isPrimaryKey: false;
1820
+ isAutoincrement: false;
1821
+ hasRuntimeDefault: false;
1822
+ enumValues: undefined;
1823
+ baseColumn: never;
1824
+ identity: undefined;
1825
+ generated: undefined;
1826
+ }, {}, {}>;
1827
+ totalSavings: import("drizzle-orm/pg-core").PgColumn<{
1828
+ name: "total_savings";
1829
+ tableName: "discount_analytics";
1830
+ dataType: "string";
1831
+ columnType: "PgNumeric";
1832
+ data: string;
1833
+ driverParam: string;
1834
+ notNull: true;
1835
+ hasDefault: true;
1836
+ isPrimaryKey: false;
1837
+ isAutoincrement: false;
1838
+ hasRuntimeDefault: false;
1839
+ enumValues: undefined;
1840
+ baseColumn: never;
1841
+ identity: undefined;
1842
+ generated: undefined;
1843
+ }, {}, {}>;
1844
+ totalRevenue: import("drizzle-orm/pg-core").PgColumn<{
1845
+ name: "total_revenue";
1846
+ tableName: "discount_analytics";
1847
+ dataType: "string";
1848
+ columnType: "PgNumeric";
1849
+ data: string;
1850
+ driverParam: string;
1851
+ notNull: true;
1852
+ hasDefault: true;
1853
+ isPrimaryKey: false;
1854
+ isAutoincrement: false;
1855
+ hasRuntimeDefault: false;
1856
+ enumValues: undefined;
1857
+ baseColumn: never;
1858
+ identity: undefined;
1859
+ generated: undefined;
1860
+ }, {}, {}>;
1861
+ avgOrderValue: import("drizzle-orm/pg-core").PgColumn<{
1862
+ name: "avg_order_value";
1863
+ tableName: "discount_analytics";
1864
+ dataType: "string";
1865
+ columnType: "PgNumeric";
1866
+ data: string;
1867
+ driverParam: string;
1868
+ notNull: false;
1869
+ hasDefault: false;
1870
+ isPrimaryKey: false;
1871
+ isAutoincrement: false;
1872
+ hasRuntimeDefault: false;
1873
+ enumValues: undefined;
1874
+ baseColumn: never;
1875
+ identity: undefined;
1876
+ generated: undefined;
1877
+ }, {}, {}>;
1878
+ conversionRate: import("drizzle-orm/pg-core").PgColumn<{
1879
+ name: "conversion_rate";
1880
+ tableName: "discount_analytics";
1881
+ dataType: "string";
1882
+ columnType: "PgNumeric";
1883
+ data: string;
1884
+ driverParam: string;
1885
+ notNull: false;
1886
+ hasDefault: false;
1887
+ isPrimaryKey: false;
1888
+ isAutoincrement: false;
1889
+ hasRuntimeDefault: false;
1890
+ enumValues: undefined;
1891
+ baseColumn: never;
1892
+ identity: undefined;
1893
+ generated: undefined;
1894
+ }, {}, {}>;
1895
+ roi: import("drizzle-orm/pg-core").PgColumn<{
1896
+ name: "roi";
1897
+ tableName: "discount_analytics";
1898
+ dataType: "string";
1899
+ columnType: "PgNumeric";
1900
+ data: string;
1901
+ driverParam: string;
1902
+ notNull: false;
1903
+ hasDefault: false;
1904
+ isPrimaryKey: false;
1905
+ isAutoincrement: false;
1906
+ hasRuntimeDefault: false;
1907
+ enumValues: undefined;
1908
+ baseColumn: never;
1909
+ identity: undefined;
1910
+ generated: undefined;
1911
+ }, {}, {}>;
1912
+ customerAcquisitionCost: import("drizzle-orm/pg-core").PgColumn<{
1913
+ name: "customer_acquisition_cost";
1914
+ tableName: "discount_analytics";
1915
+ dataType: "string";
1916
+ columnType: "PgNumeric";
1917
+ data: string;
1918
+ driverParam: string;
1919
+ notNull: false;
1920
+ hasDefault: false;
1921
+ isPrimaryKey: false;
1922
+ isAutoincrement: false;
1923
+ hasRuntimeDefault: false;
1924
+ enumValues: undefined;
1925
+ baseColumn: never;
1926
+ identity: undefined;
1927
+ generated: undefined;
1928
+ }, {}, {}>;
1929
+ channelBreakdown: import("drizzle-orm/pg-core").PgColumn<{
1930
+ name: "channel_breakdown";
1931
+ tableName: "discount_analytics";
1932
+ dataType: "json";
1933
+ columnType: "PgJsonb";
1934
+ data: Record<string, {
1935
+ usages: number;
1936
+ revenue: number;
1937
+ savings: number;
1938
+ }>;
1939
+ driverParam: unknown;
1940
+ notNull: false;
1941
+ hasDefault: false;
1942
+ isPrimaryKey: false;
1943
+ isAutoincrement: false;
1944
+ hasRuntimeDefault: false;
1945
+ enumValues: undefined;
1946
+ baseColumn: never;
1947
+ identity: undefined;
1948
+ generated: undefined;
1949
+ }, {}, {
1950
+ $type: Record<string, {
1951
+ usages: number;
1952
+ revenue: number;
1953
+ savings: number;
1954
+ }>;
1955
+ }>;
1956
+ calculatedAt: import("drizzle-orm/pg-core").PgColumn<{
1957
+ name: "calculated_at";
1958
+ tableName: "discount_analytics";
1959
+ dataType: "date";
1960
+ columnType: "PgTimestamp";
1961
+ data: Date;
1962
+ driverParam: string;
1963
+ notNull: true;
1964
+ hasDefault: true;
1965
+ isPrimaryKey: false;
1966
+ isAutoincrement: false;
1967
+ hasRuntimeDefault: false;
1968
+ enumValues: undefined;
1969
+ baseColumn: never;
1970
+ identity: undefined;
1971
+ generated: undefined;
1972
+ }, {}, {}>;
1973
+ };
1974
+ dialect: "pg";
1975
+ }>;