@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,665 @@
1
+ export declare const storeSettings: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "store_settings";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: "id";
7
+ tableName: "store_settings";
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
+ storeId: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: "store_id";
24
+ tableName: "store_settings";
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
+ storeCountry: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: "store_country";
41
+ tableName: "store_settings";
42
+ dataType: "string";
43
+ columnType: "PgVarchar";
44
+ data: string;
45
+ driverParam: string;
46
+ notNull: true;
47
+ hasDefault: true;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {
56
+ length: 100;
57
+ }>;
58
+ storeCurrency: import("drizzle-orm/pg-core").PgColumn<{
59
+ name: "store_currency";
60
+ tableName: "store_settings";
61
+ dataType: "string";
62
+ columnType: "PgVarchar";
63
+ data: string;
64
+ driverParam: string;
65
+ notNull: true;
66
+ hasDefault: true;
67
+ isPrimaryKey: false;
68
+ isAutoincrement: false;
69
+ hasRuntimeDefault: false;
70
+ enumValues: [string, ...string[]];
71
+ baseColumn: never;
72
+ identity: undefined;
73
+ generated: undefined;
74
+ }, {}, {
75
+ length: 3;
76
+ }>;
77
+ storeLanguage: import("drizzle-orm/pg-core").PgColumn<{
78
+ name: "store_language";
79
+ tableName: "store_settings";
80
+ dataType: "string";
81
+ columnType: "PgVarchar";
82
+ data: string;
83
+ driverParam: string;
84
+ notNull: true;
85
+ hasDefault: true;
86
+ isPrimaryKey: false;
87
+ isAutoincrement: false;
88
+ hasRuntimeDefault: false;
89
+ enumValues: [string, ...string[]];
90
+ baseColumn: never;
91
+ identity: undefined;
92
+ generated: undefined;
93
+ }, {}, {
94
+ length: 10;
95
+ }>;
96
+ supportedLanguages: import("drizzle-orm/pg-core").PgColumn<{
97
+ name: "supported_languages";
98
+ tableName: "store_settings";
99
+ dataType: "json";
100
+ columnType: "PgJsonb";
101
+ data: string[];
102
+ driverParam: unknown;
103
+ notNull: true;
104
+ hasDefault: true;
105
+ isPrimaryKey: false;
106
+ isAutoincrement: false;
107
+ hasRuntimeDefault: false;
108
+ enumValues: undefined;
109
+ baseColumn: never;
110
+ identity: undefined;
111
+ generated: undefined;
112
+ }, {}, {
113
+ $type: string[];
114
+ }>;
115
+ supportedCurrencies: import("drizzle-orm/pg-core").PgColumn<{
116
+ name: "supported_currencies";
117
+ tableName: "store_settings";
118
+ dataType: "json";
119
+ columnType: "PgJsonb";
120
+ data: string[];
121
+ driverParam: unknown;
122
+ notNull: true;
123
+ hasDefault: true;
124
+ isPrimaryKey: false;
125
+ isAutoincrement: false;
126
+ hasRuntimeDefault: false;
127
+ enumValues: undefined;
128
+ baseColumn: never;
129
+ identity: undefined;
130
+ generated: undefined;
131
+ }, {}, {
132
+ $type: string[];
133
+ }>;
134
+ localizationSettings: import("drizzle-orm/pg-core").PgColumn<{
135
+ name: "localization_settings";
136
+ tableName: "store_settings";
137
+ dataType: "json";
138
+ columnType: "PgJsonb";
139
+ data: {
140
+ dateFormat?: string;
141
+ timeFormat?: string;
142
+ numberFormat?: string;
143
+ firstDayOfWeek?: number;
144
+ weightUnit?: "kg" | "lb";
145
+ dimensionUnit?: "cm" | "inch";
146
+ };
147
+ driverParam: unknown;
148
+ notNull: false;
149
+ hasDefault: true;
150
+ isPrimaryKey: false;
151
+ isAutoincrement: false;
152
+ hasRuntimeDefault: false;
153
+ enumValues: undefined;
154
+ baseColumn: never;
155
+ identity: undefined;
156
+ generated: undefined;
157
+ }, {}, {
158
+ $type: {
159
+ dateFormat?: string;
160
+ timeFormat?: string;
161
+ numberFormat?: string;
162
+ firstDayOfWeek?: number;
163
+ weightUnit?: "kg" | "lb";
164
+ dimensionUnit?: "cm" | "inch";
165
+ };
166
+ }>;
167
+ generalSettings: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "general_settings";
169
+ tableName: "store_settings";
170
+ dataType: "json";
171
+ columnType: "PgJsonb";
172
+ data: {
173
+ autoApplyTax?: boolean;
174
+ pricesIncludeTax?: boolean;
175
+ enableMultiCurrency?: boolean;
176
+ enableMultiLanguage?: boolean;
177
+ currencyDisplayFormat?: "symbol" | "code" | "both";
178
+ };
179
+ driverParam: unknown;
180
+ notNull: false;
181
+ hasDefault: true;
182
+ isPrimaryKey: false;
183
+ isAutoincrement: false;
184
+ hasRuntimeDefault: false;
185
+ enumValues: undefined;
186
+ baseColumn: never;
187
+ identity: undefined;
188
+ generated: undefined;
189
+ }, {}, {
190
+ $type: {
191
+ autoApplyTax?: boolean;
192
+ pricesIncludeTax?: boolean;
193
+ enableMultiCurrency?: boolean;
194
+ enableMultiLanguage?: boolean;
195
+ currencyDisplayFormat?: "symbol" | "code" | "both";
196
+ };
197
+ }>;
198
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
199
+ name: "metadata";
200
+ tableName: "store_settings";
201
+ dataType: "json";
202
+ columnType: "PgJsonb";
203
+ data: Record<string, unknown>;
204
+ driverParam: unknown;
205
+ notNull: false;
206
+ hasDefault: true;
207
+ isPrimaryKey: false;
208
+ isAutoincrement: false;
209
+ hasRuntimeDefault: false;
210
+ enumValues: undefined;
211
+ baseColumn: never;
212
+ identity: undefined;
213
+ generated: undefined;
214
+ }, {}, {
215
+ $type: Record<string, unknown>;
216
+ }>;
217
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
218
+ name: "created_at";
219
+ tableName: "store_settings";
220
+ dataType: "date";
221
+ columnType: "PgTimestamp";
222
+ data: Date;
223
+ driverParam: string;
224
+ notNull: true;
225
+ hasDefault: true;
226
+ isPrimaryKey: false;
227
+ isAutoincrement: false;
228
+ hasRuntimeDefault: false;
229
+ enumValues: undefined;
230
+ baseColumn: never;
231
+ identity: undefined;
232
+ generated: undefined;
233
+ }, {}, {}>;
234
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
235
+ name: "updated_at";
236
+ tableName: "store_settings";
237
+ dataType: "date";
238
+ columnType: "PgTimestamp";
239
+ data: Date;
240
+ driverParam: string;
241
+ notNull: true;
242
+ hasDefault: true;
243
+ isPrimaryKey: false;
244
+ isAutoincrement: false;
245
+ hasRuntimeDefault: false;
246
+ enumValues: undefined;
247
+ baseColumn: never;
248
+ identity: undefined;
249
+ generated: undefined;
250
+ }, {}, {}>;
251
+ };
252
+ dialect: "pg";
253
+ }>;
254
+ export declare const marketRegions: import("drizzle-orm/pg-core").PgTableWithColumns<{
255
+ name: "market_regions";
256
+ schema: undefined;
257
+ columns: {
258
+ id: import("drizzle-orm/pg-core").PgColumn<{
259
+ name: "id";
260
+ tableName: "market_regions";
261
+ dataType: "string";
262
+ columnType: "PgText";
263
+ data: string;
264
+ driverParam: string;
265
+ notNull: true;
266
+ hasDefault: true;
267
+ isPrimaryKey: true;
268
+ isAutoincrement: false;
269
+ hasRuntimeDefault: true;
270
+ enumValues: [string, ...string[]];
271
+ baseColumn: never;
272
+ identity: undefined;
273
+ generated: undefined;
274
+ }, {}, {}>;
275
+ storeId: import("drizzle-orm/pg-core").PgColumn<{
276
+ name: "store_id";
277
+ tableName: "market_regions";
278
+ dataType: "string";
279
+ columnType: "PgText";
280
+ data: string;
281
+ driverParam: string;
282
+ notNull: true;
283
+ hasDefault: false;
284
+ isPrimaryKey: false;
285
+ isAutoincrement: false;
286
+ hasRuntimeDefault: false;
287
+ enumValues: [string, ...string[]];
288
+ baseColumn: never;
289
+ identity: undefined;
290
+ generated: undefined;
291
+ }, {}, {}>;
292
+ regionName: import("drizzle-orm/pg-core").PgColumn<{
293
+ name: "region_name";
294
+ tableName: "market_regions";
295
+ dataType: "string";
296
+ columnType: "PgVarchar";
297
+ data: string;
298
+ driverParam: string;
299
+ notNull: true;
300
+ hasDefault: false;
301
+ isPrimaryKey: false;
302
+ isAutoincrement: false;
303
+ hasRuntimeDefault: false;
304
+ enumValues: [string, ...string[]];
305
+ baseColumn: never;
306
+ identity: undefined;
307
+ generated: undefined;
308
+ }, {}, {
309
+ length: 100;
310
+ }>;
311
+ regionCode: import("drizzle-orm/pg-core").PgColumn<{
312
+ name: "region_code";
313
+ tableName: "market_regions";
314
+ dataType: "string";
315
+ columnType: "PgVarchar";
316
+ data: string;
317
+ driverParam: string;
318
+ notNull: true;
319
+ hasDefault: false;
320
+ isPrimaryKey: false;
321
+ isAutoincrement: false;
322
+ hasRuntimeDefault: false;
323
+ enumValues: [string, ...string[]];
324
+ baseColumn: never;
325
+ identity: undefined;
326
+ generated: undefined;
327
+ }, {}, {
328
+ length: 10;
329
+ }>;
330
+ country: import("drizzle-orm/pg-core").PgColumn<{
331
+ name: "country";
332
+ tableName: "market_regions";
333
+ dataType: "string";
334
+ columnType: "PgVarchar";
335
+ data: string;
336
+ driverParam: string;
337
+ notNull: true;
338
+ hasDefault: true;
339
+ isPrimaryKey: false;
340
+ isAutoincrement: false;
341
+ hasRuntimeDefault: false;
342
+ enumValues: [string, ...string[]];
343
+ baseColumn: never;
344
+ identity: undefined;
345
+ generated: undefined;
346
+ }, {}, {
347
+ length: 100;
348
+ }>;
349
+ countryCode: import("drizzle-orm/pg-core").PgColumn<{
350
+ name: "country_code";
351
+ tableName: "market_regions";
352
+ dataType: "string";
353
+ columnType: "PgVarchar";
354
+ data: string;
355
+ driverParam: string;
356
+ notNull: true;
357
+ hasDefault: true;
358
+ isPrimaryKey: false;
359
+ isAutoincrement: false;
360
+ hasRuntimeDefault: false;
361
+ enumValues: [string, ...string[]];
362
+ baseColumn: never;
363
+ identity: undefined;
364
+ generated: undefined;
365
+ }, {}, {
366
+ length: 2;
367
+ }>;
368
+ currency: import("drizzle-orm/pg-core").PgColumn<{
369
+ name: "currency";
370
+ tableName: "market_regions";
371
+ dataType: "string";
372
+ columnType: "PgVarchar";
373
+ data: string;
374
+ driverParam: string;
375
+ notNull: true;
376
+ hasDefault: true;
377
+ isPrimaryKey: false;
378
+ isAutoincrement: false;
379
+ hasRuntimeDefault: false;
380
+ enumValues: [string, ...string[]];
381
+ baseColumn: never;
382
+ identity: undefined;
383
+ generated: undefined;
384
+ }, {}, {
385
+ length: 3;
386
+ }>;
387
+ language: import("drizzle-orm/pg-core").PgColumn<{
388
+ name: "language";
389
+ tableName: "market_regions";
390
+ dataType: "string";
391
+ columnType: "PgVarchar";
392
+ data: string;
393
+ driverParam: string;
394
+ notNull: true;
395
+ hasDefault: true;
396
+ isPrimaryKey: false;
397
+ isAutoincrement: false;
398
+ hasRuntimeDefault: false;
399
+ enumValues: [string, ...string[]];
400
+ baseColumn: never;
401
+ identity: undefined;
402
+ generated: undefined;
403
+ }, {}, {
404
+ length: 10;
405
+ }>;
406
+ taxEnabled: import("drizzle-orm/pg-core").PgColumn<{
407
+ name: "tax_enabled";
408
+ tableName: "market_regions";
409
+ dataType: "boolean";
410
+ columnType: "PgBoolean";
411
+ data: boolean;
412
+ driverParam: boolean;
413
+ notNull: true;
414
+ hasDefault: true;
415
+ isPrimaryKey: false;
416
+ isAutoincrement: false;
417
+ hasRuntimeDefault: false;
418
+ enumValues: undefined;
419
+ baseColumn: never;
420
+ identity: undefined;
421
+ generated: undefined;
422
+ }, {}, {}>;
423
+ taxPercentage: import("drizzle-orm/pg-core").PgColumn<{
424
+ name: "tax_percentage";
425
+ tableName: "market_regions";
426
+ dataType: "string";
427
+ columnType: "PgNumeric";
428
+ data: string;
429
+ driverParam: string;
430
+ notNull: true;
431
+ hasDefault: true;
432
+ isPrimaryKey: false;
433
+ isAutoincrement: false;
434
+ hasRuntimeDefault: false;
435
+ enumValues: undefined;
436
+ baseColumn: never;
437
+ identity: undefined;
438
+ generated: undefined;
439
+ }, {}, {}>;
440
+ taxName: import("drizzle-orm/pg-core").PgColumn<{
441
+ name: "tax_name";
442
+ tableName: "market_regions";
443
+ dataType: "string";
444
+ columnType: "PgVarchar";
445
+ data: string;
446
+ driverParam: string;
447
+ notNull: false;
448
+ hasDefault: true;
449
+ isPrimaryKey: false;
450
+ isAutoincrement: false;
451
+ hasRuntimeDefault: false;
452
+ enumValues: [string, ...string[]];
453
+ baseColumn: never;
454
+ identity: undefined;
455
+ generated: undefined;
456
+ }, {}, {
457
+ length: 50;
458
+ }>;
459
+ taxConfiguration: import("drizzle-orm/pg-core").PgColumn<{
460
+ name: "tax_configuration";
461
+ tableName: "market_regions";
462
+ dataType: "json";
463
+ columnType: "PgJsonb";
464
+ data: {
465
+ taxType?: "VAT" | "GST" | "SALES_TAX" | "CUSTOM";
466
+ taxNumber?: string;
467
+ taxRegistrationDate?: string;
468
+ includeTaxInPrice?: boolean;
469
+ compoundTax?: boolean;
470
+ exemptCategories?: string[];
471
+ reducedRates?: Array<{
472
+ categoryId: string;
473
+ categoryName: string;
474
+ rate: number;
475
+ }>;
476
+ };
477
+ driverParam: unknown;
478
+ notNull: false;
479
+ hasDefault: true;
480
+ isPrimaryKey: false;
481
+ isAutoincrement: false;
482
+ hasRuntimeDefault: false;
483
+ enumValues: undefined;
484
+ baseColumn: never;
485
+ identity: undefined;
486
+ generated: undefined;
487
+ }, {}, {
488
+ $type: {
489
+ taxType?: "VAT" | "GST" | "SALES_TAX" | "CUSTOM";
490
+ taxNumber?: string;
491
+ taxRegistrationDate?: string;
492
+ includeTaxInPrice?: boolean;
493
+ compoundTax?: boolean;
494
+ exemptCategories?: string[];
495
+ reducedRates?: Array<{
496
+ categoryId: string;
497
+ categoryName: string;
498
+ rate: number;
499
+ }>;
500
+ };
501
+ }>;
502
+ isDefault: import("drizzle-orm/pg-core").PgColumn<{
503
+ name: "is_default";
504
+ tableName: "market_regions";
505
+ dataType: "boolean";
506
+ columnType: "PgBoolean";
507
+ data: boolean;
508
+ driverParam: boolean;
509
+ notNull: true;
510
+ hasDefault: true;
511
+ isPrimaryKey: false;
512
+ isAutoincrement: false;
513
+ hasRuntimeDefault: false;
514
+ enumValues: undefined;
515
+ baseColumn: never;
516
+ identity: undefined;
517
+ generated: undefined;
518
+ }, {}, {}>;
519
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
520
+ name: "is_active";
521
+ tableName: "market_regions";
522
+ dataType: "boolean";
523
+ columnType: "PgBoolean";
524
+ data: boolean;
525
+ driverParam: boolean;
526
+ notNull: true;
527
+ hasDefault: true;
528
+ isPrimaryKey: false;
529
+ isAutoincrement: false;
530
+ hasRuntimeDefault: false;
531
+ enumValues: undefined;
532
+ baseColumn: never;
533
+ identity: undefined;
534
+ generated: undefined;
535
+ }, {}, {}>;
536
+ shippingSettings: import("drizzle-orm/pg-core").PgColumn<{
537
+ name: "shipping_settings";
538
+ tableName: "market_regions";
539
+ dataType: "json";
540
+ columnType: "PgJsonb";
541
+ data: {
542
+ enableShipping?: boolean;
543
+ freeShippingThreshold?: number;
544
+ defaultShippingRate?: number;
545
+ shippingZones?: Array<{
546
+ name: string;
547
+ rate: number;
548
+ estimatedDays: number;
549
+ }>;
550
+ };
551
+ driverParam: unknown;
552
+ notNull: false;
553
+ hasDefault: true;
554
+ isPrimaryKey: false;
555
+ isAutoincrement: false;
556
+ hasRuntimeDefault: false;
557
+ enumValues: undefined;
558
+ baseColumn: never;
559
+ identity: undefined;
560
+ generated: undefined;
561
+ }, {}, {
562
+ $type: {
563
+ enableShipping?: boolean;
564
+ freeShippingThreshold?: number;
565
+ defaultShippingRate?: number;
566
+ shippingZones?: Array<{
567
+ name: string;
568
+ rate: number;
569
+ estimatedDays: number;
570
+ }>;
571
+ };
572
+ }>;
573
+ paymentSettings: import("drizzle-orm/pg-core").PgColumn<{
574
+ name: "payment_settings";
575
+ tableName: "market_regions";
576
+ dataType: "json";
577
+ columnType: "PgJsonb";
578
+ data: {
579
+ enabledPaymentMethods?: string[];
580
+ preferredPaymentMethod?: string;
581
+ paymentProcessingFee?: number;
582
+ };
583
+ driverParam: unknown;
584
+ notNull: false;
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
+ $type: {
595
+ enabledPaymentMethods?: string[];
596
+ preferredPaymentMethod?: string;
597
+ paymentProcessingFee?: number;
598
+ };
599
+ }>;
600
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
601
+ name: "metadata";
602
+ tableName: "market_regions";
603
+ dataType: "json";
604
+ columnType: "PgJsonb";
605
+ data: Record<string, unknown>;
606
+ driverParam: unknown;
607
+ notNull: false;
608
+ hasDefault: true;
609
+ isPrimaryKey: false;
610
+ isAutoincrement: false;
611
+ hasRuntimeDefault: false;
612
+ enumValues: undefined;
613
+ baseColumn: never;
614
+ identity: undefined;
615
+ generated: undefined;
616
+ }, {}, {
617
+ $type: Record<string, unknown>;
618
+ }>;
619
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
620
+ name: "created_at";
621
+ tableName: "market_regions";
622
+ dataType: "date";
623
+ columnType: "PgTimestamp";
624
+ data: Date;
625
+ driverParam: string;
626
+ notNull: true;
627
+ hasDefault: true;
628
+ isPrimaryKey: false;
629
+ isAutoincrement: false;
630
+ hasRuntimeDefault: false;
631
+ enumValues: undefined;
632
+ baseColumn: never;
633
+ identity: undefined;
634
+ generated: undefined;
635
+ }, {}, {}>;
636
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
637
+ name: "updated_at";
638
+ tableName: "market_regions";
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
+ };
654
+ dialect: "pg";
655
+ }>;
656
+ export declare const storeSettingsRelations: import("drizzle-orm").Relations<"store_settings", {
657
+ store: import("drizzle-orm").One<"stores", true>;
658
+ }>;
659
+ export declare const marketRegionsRelations: import("drizzle-orm").Relations<"market_regions", {
660
+ store: import("drizzle-orm").One<"stores", true>;
661
+ }>;
662
+ export declare const storesRelationsExtended: import("drizzle-orm").Relations<"stores", {
663
+ settings: import("drizzle-orm").One<"store_settings", true>;
664
+ marketRegions: import("drizzle-orm").Many<"market_regions">;
665
+ }>;