@axova/shared 1.0.2 → 1.1.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 (68) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.js +2 -0
  3. package/dist/lib/db.d.ts +34406 -1
  4. package/dist/lib/db.js +21 -1
  5. package/dist/middleware/storeOwnership.js +22 -3
  6. package/dist/middleware/storeValidationMiddleware.js +16 -39
  7. package/dist/schemas/admin/admin-schema.d.ts +2 -2
  8. package/dist/schemas/ai-moderation/ai-moderation-schema.d.ts +6 -6
  9. package/dist/schemas/common/common-schemas.d.ts +71 -71
  10. package/dist/schemas/compliance/compliance-schema.d.ts +20 -20
  11. package/dist/schemas/compliance/kyc-schema.d.ts +8 -8
  12. package/dist/schemas/customer/customer-schema.d.ts +18 -18
  13. package/dist/schemas/index.d.ts +28 -0
  14. package/dist/schemas/index.js +134 -3
  15. package/dist/schemas/inventory/inventory-tables.d.ts +188 -188
  16. package/dist/schemas/inventory/lot-tables.d.ts +102 -102
  17. package/dist/schemas/order/cart-schema.d.ts +2865 -0
  18. package/dist/schemas/order/cart-schema.js +396 -0
  19. package/dist/schemas/order/order-schema.d.ts +19 -19
  20. package/dist/schemas/order/order-schema.js +8 -2
  21. package/dist/schemas/product/discount-schema.d.ts +3 -3
  22. package/dist/schemas/product/product-schema.d.ts +3 -3
  23. package/dist/schemas/store/store-audit-schema.d.ts +20 -20
  24. package/dist/schemas/store/store-schema.d.ts +182 -2
  25. package/dist/schemas/store/store-schema.js +19 -0
  26. package/dist/schemas/store/storefront-config-schema.d.ts +434 -823
  27. package/dist/schemas/store/storefront-config-schema.js +35 -62
  28. package/dist/utils/subdomain.d.ts +1 -1
  29. package/dist/utils/subdomain.js +10 -15
  30. package/package.json +1 -1
  31. package/src/configs/index.ts +654 -654
  32. package/src/index.ts +26 -23
  33. package/src/interfaces/customer-events.ts +106 -106
  34. package/src/interfaces/inventory-events.ts +545 -545
  35. package/src/interfaces/inventory-types.ts +1004 -1004
  36. package/src/interfaces/order-events.ts +381 -381
  37. package/src/lib/auditLogger.ts +1117 -1117
  38. package/src/lib/authOrganization.ts +153 -153
  39. package/src/lib/db.ts +84 -64
  40. package/src/middleware/serviceAuth.ts +328 -328
  41. package/src/middleware/storeOwnership.ts +199 -181
  42. package/src/middleware/storeValidationMiddleware.ts +17 -50
  43. package/src/middleware/userAuth.ts +248 -248
  44. package/src/schemas/admin/admin-schema.ts +208 -208
  45. package/src/schemas/ai-moderation/ai-moderation-schema.ts +180 -180
  46. package/src/schemas/common/common-schemas.ts +108 -108
  47. package/src/schemas/compliance/compliance-schema.ts +927 -0
  48. package/src/schemas/compliance/kyc-schema.ts +649 -0
  49. package/src/schemas/customer/customer-schema.ts +576 -0
  50. package/src/schemas/index.ts +202 -3
  51. package/src/schemas/inventory/inventory-tables.ts +1927 -0
  52. package/src/schemas/inventory/lot-tables.ts +799 -0
  53. package/src/schemas/order/cart-schema.ts +652 -0
  54. package/src/schemas/order/order-schema.ts +1406 -0
  55. package/src/schemas/product/discount-relations.ts +44 -0
  56. package/src/schemas/product/discount-schema.ts +464 -0
  57. package/src/schemas/product/product-relations.ts +187 -0
  58. package/src/schemas/product/product-schema.ts +955 -0
  59. package/src/schemas/store/ethiopian_business_api.md.resolved +212 -0
  60. package/src/schemas/store/store-audit-schema.ts +1257 -0
  61. package/src/schemas/store/store-schema.ts +682 -0
  62. package/src/schemas/store/store-settings-schema.ts +231 -0
  63. package/src/schemas/store/storefront-config-schema.ts +382 -0
  64. package/src/schemas/types.ts +67 -67
  65. package/src/types/events.ts +646 -646
  66. package/src/utils/errorHandler.ts +44 -44
  67. package/src/utils/subdomain.ts +19 -23
  68. package/tsconfig.json +21 -21
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Storefront Configuration Schema
3
+ * Stores all visual, layout, and content configurations for multi-tenant storefronts
4
+ */
1
5
  export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
6
  name: "storefront_configs";
3
7
  schema: undefined;
@@ -36,12 +40,12 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
36
40
  identity: undefined;
37
41
  generated: undefined;
38
42
  }, {}, {}>;
39
- setupStatus: import("drizzle-orm/pg-core").PgColumn<{
40
- name: "setup_status";
43
+ configType: import("drizzle-orm/pg-core").PgColumn<{
44
+ name: "config_type";
41
45
  tableName: "storefront_configs";
42
46
  dataType: "string";
43
47
  columnType: "PgVarchar";
44
- data: "IN_PROGRESS" | "COMPLETED" | "INCOMPLETE" | "NEEDS_REVIEW" | "PUBLISHED";
48
+ data: "custom" | "default" | "theme";
45
49
  driverParam: string;
46
50
  notNull: true;
47
51
  hasDefault: true;
@@ -53,11 +57,11 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
53
57
  identity: undefined;
54
58
  generated: undefined;
55
59
  }, {}, {
56
- length: 30;
57
- $type: "IN_PROGRESS" | "COMPLETED" | "INCOMPLETE" | "NEEDS_REVIEW" | "PUBLISHED";
60
+ length: 50;
61
+ $type: "custom" | "default" | "theme";
58
62
  }>;
59
- setupProgress: import("drizzle-orm/pg-core").PgColumn<{
60
- name: "setup_progress";
63
+ version: import("drizzle-orm/pg-core").PgColumn<{
64
+ name: "version";
61
65
  tableName: "storefront_configs";
62
66
  dataType: "number";
63
67
  columnType: "PgInteger";
@@ -73,39 +77,14 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
73
77
  identity: undefined;
74
78
  generated: undefined;
75
79
  }, {}, {}>;
76
- setupSteps: import("drizzle-orm/pg-core").PgColumn<{
77
- name: "setup_steps";
80
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
81
+ name: "is_active";
78
82
  tableName: "storefront_configs";
79
- dataType: "json";
80
- columnType: "PgJsonb";
81
- data: {
82
- branding?: {
83
- completed: boolean;
84
- completedAt?: string;
85
- };
86
- layout?: {
87
- completed: boolean;
88
- completedAt?: string;
89
- };
90
- pages?: {
91
- completed: boolean;
92
- completedAt?: string;
93
- };
94
- localization?: {
95
- completed: boolean;
96
- completedAt?: string;
97
- };
98
- theme?: {
99
- completed: boolean;
100
- completedAt?: string;
101
- };
102
- seo?: {
103
- completed: boolean;
104
- completedAt?: string;
105
- };
106
- };
107
- driverParam: unknown;
108
- notNull: false;
83
+ dataType: "boolean";
84
+ columnType: "PgBoolean";
85
+ data: boolean;
86
+ driverParam: boolean;
87
+ notNull: true;
109
88
  hasDefault: true;
110
89
  isPrimaryKey: false;
111
90
  isAutoincrement: false;
@@ -114,103 +93,52 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
114
93
  baseColumn: never;
115
94
  identity: undefined;
116
95
  generated: undefined;
117
- }, {}, {
118
- $type: {
119
- branding?: {
120
- completed: boolean;
121
- completedAt?: string;
122
- };
123
- layout?: {
124
- completed: boolean;
125
- completedAt?: string;
126
- };
127
- pages?: {
128
- completed: boolean;
129
- completedAt?: string;
130
- };
131
- localization?: {
132
- completed: boolean;
133
- completedAt?: string;
134
- };
135
- theme?: {
136
- completed: boolean;
137
- completedAt?: string;
138
- };
139
- seo?: {
140
- completed: boolean;
141
- completedAt?: string;
142
- };
143
- };
144
- }>;
96
+ }, {}, {}>;
145
97
  branding: import("drizzle-orm/pg-core").PgColumn<{
146
98
  name: "branding";
147
99
  tableName: "storefront_configs";
148
100
  dataType: "json";
149
101
  columnType: "PgJsonb";
150
102
  data: {
151
- name: string;
152
- tagline?: string;
153
- description?: string;
154
- logo: {
155
- type: "image" | "text" | "both";
103
+ name?: string;
104
+ logo?: {
105
+ type?: "text" | "image" | "both";
156
106
  text?: string;
157
107
  image?: string;
158
108
  imageWidth?: number;
159
109
  imageHeight?: number;
160
110
  showText?: boolean;
161
- alt?: string;
162
111
  };
163
112
  favicon?: string;
164
- colors: {
165
- primary: string;
166
- secondary: string;
167
- accent: string;
113
+ colors?: {
114
+ primary?: string;
115
+ secondary?: string;
116
+ accent?: string;
168
117
  background?: string;
169
- foreground?: string;
118
+ text?: string;
170
119
  muted?: string;
171
- mutedForeground?: string;
172
- border?: string;
173
- input?: string;
174
- ring?: string;
175
- success?: string;
176
- warning?: string;
177
- error?: string;
178
- info?: string;
179
120
  };
180
- typography: {
181
- headings: {
182
- family: string;
183
- weight: string;
121
+ typography?: {
122
+ headings?: {
123
+ family?: string;
124
+ weight?: string;
184
125
  letterSpacing?: string;
185
- lineHeight?: string;
186
126
  };
187
- body: {
188
- family: string;
189
- weight: string;
127
+ body?: {
128
+ family?: string;
129
+ weight?: string;
190
130
  letterSpacing?: string;
191
- lineHeight?: string;
192
131
  };
193
132
  display?: {
194
- family: string;
195
- weight: string;
196
- letterSpacing?: string;
197
- lineHeight?: string;
198
- };
199
- mono?: {
200
- family: string;
133
+ family?: string;
201
134
  weight?: string;
135
+ letterSpacing?: string;
202
136
  };
203
137
  };
204
- customCss?: string;
205
- customFonts?: Array<{
206
- name: string;
207
- url: string;
208
- format?: string;
209
- }>;
210
138
  };
211
139
  driverParam: unknown;
212
- notNull: true;
213
- hasDefault: false;
140
+ notNull: false;
141
+ hasDefault: true;
214
142
  isPrimaryKey: false;
215
143
  isAutoincrement: false;
216
144
  hasRuntimeDefault: false;
@@ -220,65 +148,41 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
220
148
  generated: undefined;
221
149
  }, {}, {
222
150
  $type: {
223
- name: string;
224
- tagline?: string;
225
- description?: string;
226
- logo: {
227
- type: "image" | "text" | "both";
151
+ name?: string;
152
+ logo?: {
153
+ type?: "text" | "image" | "both";
228
154
  text?: string;
229
155
  image?: string;
230
156
  imageWidth?: number;
231
157
  imageHeight?: number;
232
158
  showText?: boolean;
233
- alt?: string;
234
159
  };
235
160
  favicon?: string;
236
- colors: {
237
- primary: string;
238
- secondary: string;
239
- accent: string;
161
+ colors?: {
162
+ primary?: string;
163
+ secondary?: string;
164
+ accent?: string;
240
165
  background?: string;
241
- foreground?: string;
166
+ text?: string;
242
167
  muted?: string;
243
- mutedForeground?: string;
244
- border?: string;
245
- input?: string;
246
- ring?: string;
247
- success?: string;
248
- warning?: string;
249
- error?: string;
250
- info?: string;
251
168
  };
252
- typography: {
253
- headings: {
254
- family: string;
255
- weight: string;
169
+ typography?: {
170
+ headings?: {
171
+ family?: string;
172
+ weight?: string;
256
173
  letterSpacing?: string;
257
- lineHeight?: string;
258
174
  };
259
- body: {
260
- family: string;
261
- weight: string;
175
+ body?: {
176
+ family?: string;
177
+ weight?: string;
262
178
  letterSpacing?: string;
263
- lineHeight?: string;
264
179
  };
265
180
  display?: {
266
- family: string;
267
- weight: string;
268
- letterSpacing?: string;
269
- lineHeight?: string;
270
- };
271
- mono?: {
272
- family: string;
181
+ family?: string;
273
182
  weight?: string;
183
+ letterSpacing?: string;
274
184
  };
275
185
  };
276
- customCss?: string;
277
- customFonts?: Array<{
278
- name: string;
279
- url: string;
280
- format?: string;
281
- }>;
282
186
  };
283
187
  }>;
284
188
  layout: import("drizzle-orm/pg-core").PgColumn<{
@@ -287,111 +191,73 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
287
191
  dataType: "json";
288
192
  columnType: "PgJsonb";
289
193
  data: {
290
- header: {
194
+ header?: {
291
195
  announcement?: {
292
- enabled: boolean;
293
- text: string;
196
+ enabled?: boolean;
197
+ text?: string;
294
198
  link?: {
295
- text: string;
296
- url: string;
199
+ text?: string;
200
+ url?: string;
297
201
  };
298
- backgroundColor?: string;
299
- textColor?: string;
300
- dismissible?: boolean;
301
202
  };
302
- navigation: {
303
- mainMenu: Array<{
203
+ navigation?: {
204
+ mainMenu?: Array<{
304
205
  id: string;
305
- label: string;
206
+ label?: string;
306
207
  url: string;
307
- icon?: string;
308
- badge?: string;
309
208
  children?: Array<{
310
209
  id: string;
311
- label: string;
210
+ label?: string;
312
211
  url: string;
313
- icon?: string;
314
212
  }>;
315
213
  }>;
316
214
  position?: "left" | "center" | "right";
317
- style?: "default" | "minimal" | "bold";
318
- sticky?: boolean;
319
- };
320
- features: {
321
- search: boolean;
322
- cart: boolean;
323
- wishlist: boolean;
324
- account: boolean;
325
- language: boolean;
326
- currency: boolean;
327
- compare?: boolean;
328
- notifications?: boolean;
329
- };
330
- style?: {
331
- transparent?: boolean;
332
- shadow?: boolean;
333
- border?: boolean;
334
215
  };
335
- };
336
- footer: {
337
- sections: Array<{
338
- id?: string;
339
- title: string;
340
- links: Array<{
341
- label: string;
216
+ features?: {
217
+ search?: boolean;
218
+ cart?: boolean;
219
+ wishlist?: boolean;
220
+ account?: boolean;
221
+ language?: boolean;
222
+ currency?: boolean;
223
+ };
224
+ sticky?: boolean;
225
+ transparent?: boolean;
226
+ };
227
+ footer?: {
228
+ columns?: Array<{
229
+ title?: string;
230
+ links?: Array<{
231
+ label?: string;
342
232
  url: string;
343
- icon?: string;
344
- external?: boolean;
345
233
  }>;
346
234
  }>;
347
- social: Array<{
235
+ social?: Array<{
348
236
  platform: string;
349
- url: string;
237
+ url?: string;
350
238
  icon?: string;
351
239
  }>;
352
- payment: Array<{
240
+ payment?: Array<{
353
241
  name: string;
354
- image: string;
355
- alt?: string;
242
+ icon?: string;
356
243
  }>;
357
244
  newsletter?: {
358
- enabled: boolean;
359
- title: string;
360
- description: string;
361
- buttonText: string;
245
+ enabled?: boolean;
246
+ title?: string;
362
247
  placeholder?: string;
248
+ buttonText?: string;
363
249
  };
364
- copyright?: {
365
- text: string;
366
- showYear: boolean;
367
- };
368
- trust?: {
369
- badges?: Array<{
370
- name: string;
371
- image: string;
372
- alt?: string;
373
- }>;
374
- certifications?: Array<{
375
- name: string;
376
- image: string;
377
- alt?: string;
378
- }>;
379
- };
250
+ copyright?: string;
251
+ showPoweredBy?: boolean;
380
252
  };
381
253
  sidebar?: {
382
- enabled: boolean;
383
- position: "left" | "right";
384
- widgets: Array<{
385
- id: string;
386
- type: string;
387
- title?: string;
388
- config?: Record<string, any>;
389
- }>;
254
+ enabled?: boolean;
255
+ position?: "left" | "right";
390
256
  };
391
257
  };
392
258
  driverParam: unknown;
393
- notNull: true;
394
- hasDefault: false;
259
+ notNull: false;
260
+ hasDefault: true;
395
261
  isPrimaryKey: false;
396
262
  isAutoincrement: false;
397
263
  hasRuntimeDefault: false;
@@ -401,106 +267,68 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
401
267
  generated: undefined;
402
268
  }, {}, {
403
269
  $type: {
404
- header: {
270
+ header?: {
405
271
  announcement?: {
406
- enabled: boolean;
407
- text: string;
272
+ enabled?: boolean;
273
+ text?: string;
408
274
  link?: {
409
- text: string;
410
- url: string;
275
+ text?: string;
276
+ url?: string;
411
277
  };
412
- backgroundColor?: string;
413
- textColor?: string;
414
- dismissible?: boolean;
415
278
  };
416
- navigation: {
417
- mainMenu: Array<{
279
+ navigation?: {
280
+ mainMenu?: Array<{
418
281
  id: string;
419
- label: string;
282
+ label?: string;
420
283
  url: string;
421
- icon?: string;
422
- badge?: string;
423
284
  children?: Array<{
424
285
  id: string;
425
- label: string;
286
+ label?: string;
426
287
  url: string;
427
- icon?: string;
428
288
  }>;
429
289
  }>;
430
290
  position?: "left" | "center" | "right";
431
- style?: "default" | "minimal" | "bold";
432
- sticky?: boolean;
433
291
  };
434
- features: {
435
- search: boolean;
436
- cart: boolean;
437
- wishlist: boolean;
438
- account: boolean;
439
- language: boolean;
440
- currency: boolean;
441
- compare?: boolean;
442
- notifications?: boolean;
443
- };
444
- style?: {
445
- transparent?: boolean;
446
- shadow?: boolean;
447
- border?: boolean;
448
- };
449
- };
450
- footer: {
451
- sections: Array<{
452
- id?: string;
453
- title: string;
454
- links: Array<{
455
- label: string;
292
+ features?: {
293
+ search?: boolean;
294
+ cart?: boolean;
295
+ wishlist?: boolean;
296
+ account?: boolean;
297
+ language?: boolean;
298
+ currency?: boolean;
299
+ };
300
+ sticky?: boolean;
301
+ transparent?: boolean;
302
+ };
303
+ footer?: {
304
+ columns?: Array<{
305
+ title?: string;
306
+ links?: Array<{
307
+ label?: string;
456
308
  url: string;
457
- icon?: string;
458
- external?: boolean;
459
309
  }>;
460
310
  }>;
461
- social: Array<{
311
+ social?: Array<{
462
312
  platform: string;
463
- url: string;
313
+ url?: string;
464
314
  icon?: string;
465
315
  }>;
466
- payment: Array<{
316
+ payment?: Array<{
467
317
  name: string;
468
- image: string;
469
- alt?: string;
318
+ icon?: string;
470
319
  }>;
471
320
  newsletter?: {
472
- enabled: boolean;
473
- title: string;
474
- description: string;
475
- buttonText: string;
321
+ enabled?: boolean;
322
+ title?: string;
476
323
  placeholder?: string;
324
+ buttonText?: string;
477
325
  };
478
- copyright?: {
479
- text: string;
480
- showYear: boolean;
481
- };
482
- trust?: {
483
- badges?: Array<{
484
- name: string;
485
- image: string;
486
- alt?: string;
487
- }>;
488
- certifications?: Array<{
489
- name: string;
490
- image: string;
491
- alt?: string;
492
- }>;
493
- };
326
+ copyright?: string;
327
+ showPoweredBy?: boolean;
494
328
  };
495
329
  sidebar?: {
496
- enabled: boolean;
497
- position: "left" | "right";
498
- widgets: Array<{
499
- id: string;
500
- type: string;
501
- title?: string;
502
- config?: Record<string, any>;
503
- }>;
330
+ enabled?: boolean;
331
+ position?: "left" | "right";
504
332
  };
505
333
  };
506
334
  }>;
@@ -510,190 +338,90 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
510
338
  dataType: "json";
511
339
  columnType: "PgJsonb";
512
340
  data: {
513
- home: {
514
- hero: {
515
- enabled: boolean;
516
- type?: "banner" | "slider" | "video" | "split" | "minimal" | "fullscreen";
517
- title: string;
518
- subtitle?: string;
341
+ [key: string]: unknown;
342
+ home?: {
343
+ hero?: {
519
344
  badge?: string;
520
- image?: {
521
- url: string;
522
- alt: string;
523
- position?: string;
524
- overlay?: boolean;
345
+ title?: string;
346
+ subtitle?: string;
347
+ cta?: {
348
+ text?: string;
349
+ link?: string;
350
+ variant?: "primary" | "secondary" | "outline";
525
351
  };
526
- video?: {
527
- url: string;
528
- thumbnail?: string;
529
- autoplay?: boolean;
352
+ secondaryCta?: {
353
+ text?: string;
354
+ link?: string;
355
+ };
356
+ backgroundImage?: string;
357
+ backgroundVideo?: string;
358
+ newsletter?: {
359
+ enabled?: boolean;
360
+ placeholder?: string;
361
+ buttonText?: string;
362
+ };
363
+ trustedBy?: {
364
+ enabled?: boolean;
365
+ text?: string;
366
+ logos?: Array<{
367
+ name: string;
368
+ url: string;
369
+ }>;
530
370
  };
531
- cta?: Array<{
532
- text: string;
533
- url: string;
534
- variant?: "primary" | "secondary" | "outline" | "ghost";
535
- icon?: string;
536
- }>;
537
- animation?: string;
538
371
  };
539
372
  features?: {
540
- enabled: boolean;
541
373
  title?: string;
542
374
  subtitle?: string;
543
- layout?: "grid" | "list" | "carousel";
544
- items: Array<{
375
+ items?: Array<{
376
+ icon?: string;
545
377
  title: string;
546
378
  description: string;
547
- icon: string;
548
- link?: string;
549
- }>;
550
- };
551
- collections?: {
552
- enabled: boolean;
553
- title: string;
554
- subtitle?: string;
555
- layout?: "grid" | "masonry" | "carousel";
556
- items: Array<{
557
- id?: string;
558
- title: string;
559
- description?: string;
560
- stats?: string;
561
- image: {
562
- url: string;
563
- alt: string;
564
- };
565
- link: string;
566
379
  }>;
567
380
  };
568
- testimonials?: {
569
- enabled: boolean;
570
- title?: string;
571
- subtitle?: string;
572
- layout?: "carousel" | "grid" | "masonry";
573
- items: Array<{
574
- name: string;
575
- role?: string;
576
- avatar?: string;
577
- rating?: number;
578
- content: string;
579
- date?: string;
580
- }>;
581
- };
582
- instagram?: {
583
- enabled: boolean;
584
- title: string;
585
- subtitle?: string;
586
- username?: string;
587
- images: Array<{
588
- url: string;
589
- alt: string;
590
- link?: string;
591
- }>;
592
- };
593
- newsletter?: {
594
- enabled: boolean;
595
- title: string;
596
- description?: string;
597
- placeholder?: string;
598
- buttonText: string;
599
- image?: string;
600
- };
601
- customSections?: Array<{
381
+ sections?: Array<{
602
382
  id: string;
603
383
  type: string;
604
- enabled: boolean;
605
- order: number;
606
- config: Record<string, any>;
384
+ enabled?: boolean;
385
+ data?: Record<string, unknown>;
607
386
  }>;
608
387
  };
609
388
  about?: {
610
- enabled: boolean;
611
389
  hero?: {
612
- title: string;
390
+ title?: string;
613
391
  subtitle?: string;
614
- image?: {
615
- url: string;
616
- alt: string;
617
- };
392
+ image?: string;
618
393
  };
619
394
  vision?: {
620
- title: string;
621
- content: string;
622
- };
623
- mission?: {
624
- title: string;
625
- content: string;
395
+ title?: string;
396
+ content?: string;
626
397
  };
627
398
  values?: Array<{
628
399
  title: string;
629
400
  description: string;
630
401
  icon?: string;
631
402
  }>;
632
- stats?: Array<{
633
- value: string;
634
- label: string;
635
- description?: string;
636
- }>;
637
- team?: {
638
- enabled: boolean;
639
- title?: string;
640
- members: Array<{
641
- name: string;
642
- role: string;
643
- bio?: string;
644
- avatar?: string;
645
- social?: Record<string, string>;
646
- }>;
647
- };
648
403
  };
649
- collections?: {
650
- enabled: boolean;
651
- header?: {
652
- title: string;
404
+ contact?: {
405
+ hero?: {
406
+ title?: string;
653
407
  subtitle?: string;
654
408
  };
655
- items: Array<{
656
- id: string;
657
- title: string;
658
- description: string;
659
- image: {
660
- url: string;
661
- alt: string;
662
- };
663
- products?: number;
664
- link?: string;
665
- }>;
666
- };
667
- contact?: {
668
- enabled: boolean;
669
- title?: string;
670
- subtitle?: string;
671
- showMap?: boolean;
672
- mapConfig?: {
673
- latitude: number;
674
- longitude: number;
675
- zoom?: number;
409
+ form?: {
410
+ title?: string;
411
+ submitButton?: string;
412
+ successMessage?: string;
676
413
  };
677
- showForm?: boolean;
678
- contactInfo?: {
414
+ info?: {
679
415
  address?: string;
680
416
  phone?: string;
681
417
  email?: string;
682
418
  hours?: string;
683
419
  };
684
420
  };
685
- customPages?: Array<{
686
- id: string;
687
- slug: string;
688
- title: string;
689
- enabled: boolean;
690
- layout: string;
691
- content: any;
692
- }>;
693
421
  };
694
422
  driverParam: unknown;
695
- notNull: true;
696
- hasDefault: false;
423
+ notNull: false;
424
+ hasDefault: true;
697
425
  isPrimaryKey: false;
698
426
  isAutoincrement: false;
699
427
  hasRuntimeDefault: false;
@@ -703,185 +431,196 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
703
431
  generated: undefined;
704
432
  }, {}, {
705
433
  $type: {
706
- home: {
707
- hero: {
708
- enabled: boolean;
709
- type?: "banner" | "slider" | "video" | "split" | "minimal" | "fullscreen";
710
- title: string;
711
- subtitle?: string;
434
+ [key: string]: unknown;
435
+ home?: {
436
+ hero?: {
712
437
  badge?: string;
713
- image?: {
714
- url: string;
715
- alt: string;
716
- position?: string;
717
- overlay?: boolean;
438
+ title?: string;
439
+ subtitle?: string;
440
+ cta?: {
441
+ text?: string;
442
+ link?: string;
443
+ variant?: "primary" | "secondary" | "outline";
718
444
  };
719
- video?: {
720
- url: string;
721
- thumbnail?: string;
722
- autoplay?: boolean;
445
+ secondaryCta?: {
446
+ text?: string;
447
+ link?: string;
448
+ };
449
+ backgroundImage?: string;
450
+ backgroundVideo?: string;
451
+ newsletter?: {
452
+ enabled?: boolean;
453
+ placeholder?: string;
454
+ buttonText?: string;
455
+ };
456
+ trustedBy?: {
457
+ enabled?: boolean;
458
+ text?: string;
459
+ logos?: Array<{
460
+ name: string;
461
+ url: string;
462
+ }>;
723
463
  };
724
- cta?: Array<{
725
- text: string;
726
- url: string;
727
- variant?: "primary" | "secondary" | "outline" | "ghost";
728
- icon?: string;
729
- }>;
730
- animation?: string;
731
464
  };
732
465
  features?: {
733
- enabled: boolean;
734
466
  title?: string;
735
467
  subtitle?: string;
736
- layout?: "grid" | "list" | "carousel";
737
- items: Array<{
468
+ items?: Array<{
469
+ icon?: string;
738
470
  title: string;
739
471
  description: string;
740
- icon: string;
741
- link?: string;
742
- }>;
743
- };
744
- collections?: {
745
- enabled: boolean;
746
- title: string;
747
- subtitle?: string;
748
- layout?: "grid" | "masonry" | "carousel";
749
- items: Array<{
750
- id?: string;
751
- title: string;
752
- description?: string;
753
- stats?: string;
754
- image: {
755
- url: string;
756
- alt: string;
757
- };
758
- link: string;
759
- }>;
760
- };
761
- testimonials?: {
762
- enabled: boolean;
763
- title?: string;
764
- subtitle?: string;
765
- layout?: "carousel" | "grid" | "masonry";
766
- items: Array<{
767
- name: string;
768
- role?: string;
769
- avatar?: string;
770
- rating?: number;
771
- content: string;
772
- date?: string;
773
472
  }>;
774
473
  };
775
- instagram?: {
776
- enabled: boolean;
777
- title: string;
778
- subtitle?: string;
779
- username?: string;
780
- images: Array<{
781
- url: string;
782
- alt: string;
783
- link?: string;
784
- }>;
785
- };
786
- newsletter?: {
787
- enabled: boolean;
788
- title: string;
789
- description?: string;
790
- placeholder?: string;
791
- buttonText: string;
792
- image?: string;
793
- };
794
- customSections?: Array<{
474
+ sections?: Array<{
795
475
  id: string;
796
476
  type: string;
797
- enabled: boolean;
798
- order: number;
799
- config: Record<string, any>;
477
+ enabled?: boolean;
478
+ data?: Record<string, unknown>;
800
479
  }>;
801
480
  };
802
481
  about?: {
803
- enabled: boolean;
804
482
  hero?: {
805
- title: string;
483
+ title?: string;
806
484
  subtitle?: string;
807
- image?: {
808
- url: string;
809
- alt: string;
810
- };
485
+ image?: string;
811
486
  };
812
487
  vision?: {
813
- title: string;
814
- content: string;
815
- };
816
- mission?: {
817
- title: string;
818
- content: string;
488
+ title?: string;
489
+ content?: string;
819
490
  };
820
491
  values?: Array<{
821
492
  title: string;
822
493
  description: string;
823
494
  icon?: string;
824
495
  }>;
825
- stats?: Array<{
826
- value: string;
827
- label: string;
828
- description?: string;
829
- }>;
830
- team?: {
831
- enabled: boolean;
832
- title?: string;
833
- members: Array<{
834
- name: string;
835
- role: string;
836
- bio?: string;
837
- avatar?: string;
838
- social?: Record<string, string>;
839
- }>;
840
- };
841
496
  };
842
- collections?: {
843
- enabled: boolean;
844
- header?: {
845
- title: string;
497
+ contact?: {
498
+ hero?: {
499
+ title?: string;
846
500
  subtitle?: string;
847
501
  };
848
- items: Array<{
849
- id: string;
850
- title: string;
851
- description: string;
852
- image: {
853
- url: string;
854
- alt: string;
855
- };
856
- products?: number;
857
- link?: string;
858
- }>;
859
- };
860
- contact?: {
861
- enabled: boolean;
862
- title?: string;
863
- subtitle?: string;
864
- showMap?: boolean;
865
- mapConfig?: {
866
- latitude: number;
867
- longitude: number;
868
- zoom?: number;
502
+ form?: {
503
+ title?: string;
504
+ submitButton?: string;
505
+ successMessage?: string;
869
506
  };
870
- showForm?: boolean;
871
- contactInfo?: {
507
+ info?: {
872
508
  address?: string;
873
509
  phone?: string;
874
510
  email?: string;
875
511
  hours?: string;
876
512
  };
877
513
  };
878
- customPages?: Array<{
514
+ };
515
+ }>;
516
+ promotions: import("drizzle-orm/pg-core").PgColumn<{
517
+ name: "promotions";
518
+ tableName: "storefront_configs";
519
+ dataType: "json";
520
+ columnType: "PgJsonb";
521
+ data: {
522
+ popup?: {
523
+ enabled?: boolean;
524
+ trigger?: "immediate" | "exit" | "scroll" | "time";
525
+ triggerValue?: number;
526
+ image?: {
527
+ url?: string;
528
+ alt?: string;
529
+ };
530
+ discount?: {
531
+ highlightText?: string;
532
+ };
533
+ copy?: {
534
+ title?: string;
535
+ descriptionPrefix?: string;
536
+ descriptionSuffix?: string;
537
+ offerEndsInLabel?: string;
538
+ emailPlaceholder?: string;
539
+ ctaButtonText?: string;
540
+ submittingText?: string;
541
+ successTitle?: string;
542
+ successDescription?: string;
543
+ finePrint?: string;
544
+ };
545
+ timer?: {
546
+ enabled?: boolean;
547
+ hours?: number;
548
+ minutes?: number;
549
+ seconds?: number;
550
+ };
551
+ };
552
+ banner?: {
553
+ enabled?: boolean;
554
+ text?: string;
555
+ link?: string;
556
+ backgroundColor?: string;
557
+ textColor?: string;
558
+ };
559
+ saleEvents?: Array<{
560
+ id: string;
561
+ name: string;
562
+ startDate?: string;
563
+ endDate?: string;
564
+ discountPercent?: number;
565
+ enabled?: boolean;
566
+ }>;
567
+ };
568
+ driverParam: unknown;
569
+ notNull: false;
570
+ hasDefault: true;
571
+ isPrimaryKey: false;
572
+ isAutoincrement: false;
573
+ hasRuntimeDefault: false;
574
+ enumValues: undefined;
575
+ baseColumn: never;
576
+ identity: undefined;
577
+ generated: undefined;
578
+ }, {}, {
579
+ $type: {
580
+ popup?: {
581
+ enabled?: boolean;
582
+ trigger?: "immediate" | "exit" | "scroll" | "time";
583
+ triggerValue?: number;
584
+ image?: {
585
+ url?: string;
586
+ alt?: string;
587
+ };
588
+ discount?: {
589
+ highlightText?: string;
590
+ };
591
+ copy?: {
592
+ title?: string;
593
+ descriptionPrefix?: string;
594
+ descriptionSuffix?: string;
595
+ offerEndsInLabel?: string;
596
+ emailPlaceholder?: string;
597
+ ctaButtonText?: string;
598
+ submittingText?: string;
599
+ successTitle?: string;
600
+ successDescription?: string;
601
+ finePrint?: string;
602
+ };
603
+ timer?: {
604
+ enabled?: boolean;
605
+ hours?: number;
606
+ minutes?: number;
607
+ seconds?: number;
608
+ };
609
+ };
610
+ banner?: {
611
+ enabled?: boolean;
612
+ text?: string;
613
+ link?: string;
614
+ backgroundColor?: string;
615
+ textColor?: string;
616
+ };
617
+ saleEvents?: Array<{
879
618
  id: string;
880
- slug: string;
881
- title: string;
882
- enabled: boolean;
883
- layout: string;
884
- content: any;
619
+ name: string;
620
+ startDate?: string;
621
+ endDate?: string;
622
+ discountPercent?: number;
623
+ enabled?: boolean;
885
624
  }>;
886
625
  };
887
626
  }>;
@@ -891,30 +630,24 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
891
630
  dataType: "json";
892
631
  columnType: "PgJsonb";
893
632
  data: {
894
- languages: Array<{
633
+ languages?: Array<{
895
634
  code: string;
896
- name: string;
897
- flag: string;
898
- rtl?: boolean;
899
- enabled: boolean;
635
+ name?: string;
636
+ flag?: string;
637
+ enabled?: boolean;
900
638
  }>;
901
- currencies: Array<{
639
+ currencies?: Array<{
902
640
  code: string;
903
- symbol: string;
904
- name: string;
641
+ symbol?: string;
905
642
  flag?: string;
906
- position?: "before" | "after";
907
- decimals?: number;
908
- enabled: boolean;
643
+ enabled?: boolean;
909
644
  }>;
910
- defaultLanguage: string;
911
- defaultCurrency: string;
912
- autoDetect?: boolean;
913
- translations?: Record<string, Record<string, string>>;
645
+ defaultLanguage?: string;
646
+ defaultCurrency?: string;
914
647
  };
915
648
  driverParam: unknown;
916
- notNull: true;
917
- hasDefault: false;
649
+ notNull: false;
650
+ hasDefault: true;
918
651
  isPrimaryKey: false;
919
652
  isAutoincrement: false;
920
653
  hasRuntimeDefault: false;
@@ -924,48 +657,37 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
924
657
  generated: undefined;
925
658
  }, {}, {
926
659
  $type: {
927
- languages: Array<{
660
+ languages?: Array<{
928
661
  code: string;
929
- name: string;
930
- flag: string;
931
- rtl?: boolean;
932
- enabled: boolean;
662
+ name?: string;
663
+ flag?: string;
664
+ enabled?: boolean;
933
665
  }>;
934
- currencies: Array<{
666
+ currencies?: Array<{
935
667
  code: string;
936
- symbol: string;
937
- name: string;
668
+ symbol?: string;
938
669
  flag?: string;
939
- position?: "before" | "after";
940
- decimals?: number;
941
- enabled: boolean;
670
+ enabled?: boolean;
942
671
  }>;
943
- defaultLanguage: string;
944
- defaultCurrency: string;
945
- autoDetect?: boolean;
946
- translations?: Record<string, Record<string, string>>;
672
+ defaultLanguage?: string;
673
+ defaultCurrency?: string;
947
674
  };
948
675
  }>;
949
- theme: import("drizzle-orm/pg-core").PgColumn<{
950
- name: "theme";
676
+ validationRules: import("drizzle-orm/pg-core").PgColumn<{
677
+ name: "validation_rules";
951
678
  tableName: "storefront_configs";
952
679
  dataType: "json";
953
680
  columnType: "PgJsonb";
954
681
  data: {
955
- mode: "light" | "dark" | "auto";
956
- radius?: number;
957
- animations?: boolean;
958
- transitions?: boolean;
959
- effects?: {
960
- blur?: boolean;
961
- shadows?: boolean;
962
- gradients?: boolean;
963
- };
964
- spacing?: {
965
- scale?: number;
966
- container?: string;
682
+ [key: string]: unknown;
683
+ homeHero?: {
684
+ badgeTextMax?: number;
685
+ titleMax?: number;
686
+ subtitleMax?: number;
687
+ newsletterPlaceholderMax?: number;
688
+ newsletterButtonTextMax?: number;
689
+ trustedByTextMax?: number;
967
690
  };
968
- customVariables?: Record<string, string>;
969
691
  };
970
692
  driverParam: unknown;
971
693
  notNull: false;
@@ -979,20 +701,15 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
979
701
  generated: undefined;
980
702
  }, {}, {
981
703
  $type: {
982
- mode: "light" | "dark" | "auto";
983
- radius?: number;
984
- animations?: boolean;
985
- transitions?: boolean;
986
- effects?: {
987
- blur?: boolean;
988
- shadows?: boolean;
989
- gradients?: boolean;
990
- };
991
- spacing?: {
992
- scale?: number;
993
- container?: string;
704
+ [key: string]: unknown;
705
+ homeHero?: {
706
+ badgeTextMax?: number;
707
+ titleMax?: number;
708
+ subtitleMax?: number;
709
+ newsletterPlaceholderMax?: number;
710
+ newsletterButtonTextMax?: number;
711
+ trustedByTextMax?: number;
994
712
  };
995
- customVariables?: Record<string, string>;
996
713
  };
997
714
  }>;
998
715
  seo: import("drizzle-orm/pg-core").PgColumn<{
@@ -1001,26 +718,12 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
1001
718
  dataType: "json";
1002
719
  columnType: "PgJsonb";
1003
720
  data: {
1004
- title?: string;
1005
- description?: string;
721
+ defaultTitle?: string;
722
+ defaultDescription?: string;
723
+ defaultImage?: string;
1006
724
  keywords?: string[];
1007
- ogImage?: string;
1008
- twitterCard?: "summary" | "summary_large_image" | "app" | "player";
1009
- favicon?: string;
1010
- appleTouchIcon?: string;
1011
- robots?: {
1012
- index: boolean;
1013
- follow: boolean;
1014
- noarchive?: boolean;
1015
- noimageindex?: boolean;
1016
- };
1017
- verification?: {
1018
- google?: string;
1019
- bing?: string;
1020
- yandex?: string;
1021
- pinterest?: string;
1022
- };
1023
- structuredData?: Array<Record<string, any>>;
725
+ ogTags?: Record<string, string>;
726
+ twitterCard?: Record<string, string>;
1024
727
  };
1025
728
  driverParam: unknown;
1026
729
  notNull: false;
@@ -1034,56 +737,36 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
1034
737
  generated: undefined;
1035
738
  }, {}, {
1036
739
  $type: {
1037
- title?: string;
1038
- description?: string;
740
+ defaultTitle?: string;
741
+ defaultDescription?: string;
742
+ defaultImage?: string;
1039
743
  keywords?: string[];
1040
- ogImage?: string;
1041
- twitterCard?: "summary" | "summary_large_image" | "app" | "player";
1042
- favicon?: string;
1043
- appleTouchIcon?: string;
1044
- robots?: {
1045
- index: boolean;
1046
- follow: boolean;
1047
- noarchive?: boolean;
1048
- noimageindex?: boolean;
1049
- };
1050
- verification?: {
1051
- google?: string;
1052
- bing?: string;
1053
- yandex?: string;
1054
- pinterest?: string;
1055
- };
1056
- structuredData?: Array<Record<string, any>>;
744
+ ogTags?: Record<string, string>;
745
+ twitterCard?: Record<string, string>;
1057
746
  };
1058
747
  }>;
1059
- textLimits: import("drizzle-orm/pg-core").PgColumn<{
1060
- name: "text_limits";
748
+ integrations: import("drizzle-orm/pg-core").PgColumn<{
749
+ name: "integrations";
1061
750
  tableName: "storefront_configs";
1062
751
  dataType: "json";
1063
752
  columnType: "PgJsonb";
1064
753
  data: {
1065
- homeHero?: {
1066
- badgeTextMax?: number;
1067
- titleMax?: number;
1068
- subtitleMax?: number;
1069
- newsletterPlaceholderMax?: number;
1070
- newsletterButtonTextMax?: number;
1071
- trustedByTextMax?: number;
754
+ googleAnalytics?: {
755
+ enabled?: boolean;
756
+ trackingId?: string;
1072
757
  };
1073
- features?: {
1074
- titleMax?: number;
1075
- descriptionMax?: number;
758
+ facebookPixel?: {
759
+ enabled?: boolean;
760
+ pixelId?: string;
1076
761
  };
1077
- collections?: {
1078
- titleMax?: number;
1079
- descriptionMax?: number;
1080
- statsMax?: number;
762
+ customScripts?: {
763
+ header?: string;
764
+ footer?: string;
1081
765
  };
1082
- general?: {
1083
- menuLabelMax?: number;
1084
- buttonTextMax?: number;
1085
- headingMax?: number;
1086
- paragraphMax?: number;
766
+ chatWidget?: {
767
+ enabled?: boolean;
768
+ provider?: string;
769
+ config?: Record<string, unknown>;
1087
770
  };
1088
771
  };
1089
772
  driverParam: unknown;
@@ -1098,54 +781,31 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
1098
781
  generated: undefined;
1099
782
  }, {}, {
1100
783
  $type: {
1101
- homeHero?: {
1102
- badgeTextMax?: number;
1103
- titleMax?: number;
1104
- subtitleMax?: number;
1105
- newsletterPlaceholderMax?: number;
1106
- newsletterButtonTextMax?: number;
1107
- trustedByTextMax?: number;
784
+ googleAnalytics?: {
785
+ enabled?: boolean;
786
+ trackingId?: string;
1108
787
  };
1109
- features?: {
1110
- titleMax?: number;
1111
- descriptionMax?: number;
788
+ facebookPixel?: {
789
+ enabled?: boolean;
790
+ pixelId?: string;
1112
791
  };
1113
- collections?: {
1114
- titleMax?: number;
1115
- descriptionMax?: number;
1116
- statsMax?: number;
792
+ customScripts?: {
793
+ header?: string;
794
+ footer?: string;
1117
795
  };
1118
- general?: {
1119
- menuLabelMax?: number;
1120
- buttonTextMax?: number;
1121
- headingMax?: number;
1122
- paragraphMax?: number;
796
+ chatWidget?: {
797
+ enabled?: boolean;
798
+ provider?: string;
799
+ config?: Record<string, unknown>;
1123
800
  };
1124
801
  };
1125
802
  }>;
1126
- features: import("drizzle-orm/pg-core").PgColumn<{
1127
- name: "features";
803
+ metadata: import("drizzle-orm/pg-core").PgColumn<{
804
+ name: "metadata";
1128
805
  tableName: "storefront_configs";
1129
806
  dataType: "json";
1130
807
  columnType: "PgJsonb";
1131
- data: {
1132
- enableCookieConsent?: boolean;
1133
- enableLiveChat?: boolean;
1134
- enablePWA?: boolean;
1135
- enableAMP?: boolean;
1136
- enableAcceleration?: boolean;
1137
- enableAnalytics?: boolean;
1138
- enableABTesting?: boolean;
1139
- enablePersonalization?: boolean;
1140
- customScripts?: Array<{
1141
- name: string;
1142
- location: "head" | "body" | "footer";
1143
- script: string;
1144
- async?: boolean;
1145
- defer?: boolean;
1146
- }>;
1147
- integrations?: Record<string, any>;
1148
- };
808
+ data: Record<string, unknown>;
1149
809
  driverParam: unknown;
1150
810
  notNull: false;
1151
811
  hasDefault: true;
@@ -1157,78 +817,27 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
1157
817
  identity: undefined;
1158
818
  generated: undefined;
1159
819
  }, {}, {
1160
- $type: {
1161
- enableCookieConsent?: boolean;
1162
- enableLiveChat?: boolean;
1163
- enablePWA?: boolean;
1164
- enableAMP?: boolean;
1165
- enableAcceleration?: boolean;
1166
- enableAnalytics?: boolean;
1167
- enableABTesting?: boolean;
1168
- enablePersonalization?: boolean;
1169
- customScripts?: Array<{
1170
- name: string;
1171
- location: "head" | "body" | "footer";
1172
- script: string;
1173
- async?: boolean;
1174
- defer?: boolean;
1175
- }>;
1176
- integrations?: Record<string, any>;
1177
- };
820
+ $type: Record<string, unknown>;
1178
821
  }>;
1179
- version: import("drizzle-orm/pg-core").PgColumn<{
1180
- name: "version";
1181
- tableName: "storefront_configs";
1182
- dataType: "number";
1183
- columnType: "PgInteger";
1184
- data: number;
1185
- driverParam: string | number;
1186
- notNull: true;
1187
- hasDefault: true;
1188
- isPrimaryKey: false;
1189
- isAutoincrement: false;
1190
- hasRuntimeDefault: false;
1191
- enumValues: undefined;
1192
- baseColumn: never;
1193
- identity: undefined;
1194
- generated: undefined;
1195
- }, {}, {}>;
1196
- publishedVersion: import("drizzle-orm/pg-core").PgColumn<{
1197
- name: "published_version";
822
+ createdBy: import("drizzle-orm/pg-core").PgColumn<{
823
+ name: "created_by";
1198
824
  tableName: "storefront_configs";
1199
- dataType: "number";
1200
- columnType: "PgInteger";
1201
- data: number;
1202
- driverParam: string | number;
825
+ dataType: "string";
826
+ columnType: "PgText";
827
+ data: string;
828
+ driverParam: string;
1203
829
  notNull: false;
1204
830
  hasDefault: false;
1205
831
  isPrimaryKey: false;
1206
832
  isAutoincrement: false;
1207
833
  hasRuntimeDefault: false;
1208
- enumValues: undefined;
1209
- baseColumn: never;
1210
- identity: undefined;
1211
- generated: undefined;
1212
- }, {}, {}>;
1213
- isDraft: import("drizzle-orm/pg-core").PgColumn<{
1214
- name: "is_draft";
1215
- tableName: "storefront_configs";
1216
- dataType: "boolean";
1217
- columnType: "PgBoolean";
1218
- data: boolean;
1219
- driverParam: boolean;
1220
- notNull: true;
1221
- hasDefault: true;
1222
- isPrimaryKey: false;
1223
- isAutoincrement: false;
1224
- hasRuntimeDefault: false;
1225
- enumValues: undefined;
834
+ enumValues: [string, ...string[]];
1226
835
  baseColumn: never;
1227
836
  identity: undefined;
1228
837
  generated: undefined;
1229
838
  }, {}, {}>;
1230
- lastEditedBy: import("drizzle-orm/pg-core").PgColumn<{
1231
- name: "last_edited_by";
839
+ updatedBy: import("drizzle-orm/pg-core").PgColumn<{
840
+ name: "updated_by";
1232
841
  tableName: "storefront_configs";
1233
842
  dataType: "string";
1234
843
  columnType: "PgText";
@@ -1261,25 +870,25 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
1261
870
  identity: undefined;
1262
871
  generated: undefined;
1263
872
  }, {}, {}>;
1264
- publishedBy: import("drizzle-orm/pg-core").PgColumn<{
1265
- name: "published_by";
873
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
874
+ name: "created_at";
1266
875
  tableName: "storefront_configs";
1267
- dataType: "string";
1268
- columnType: "PgText";
1269
- data: string;
876
+ dataType: "date";
877
+ columnType: "PgTimestamp";
878
+ data: Date;
1270
879
  driverParam: string;
1271
- notNull: false;
1272
- hasDefault: false;
880
+ notNull: true;
881
+ hasDefault: true;
1273
882
  isPrimaryKey: false;
1274
883
  isAutoincrement: false;
1275
884
  hasRuntimeDefault: false;
1276
- enumValues: [string, ...string[]];
885
+ enumValues: undefined;
1277
886
  baseColumn: never;
1278
887
  identity: undefined;
1279
888
  generated: undefined;
1280
889
  }, {}, {}>;
1281
- createdAt: import("drizzle-orm/pg-core").PgColumn<{
1282
- name: "created_at";
890
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
891
+ name: "updated_at";
1283
892
  tableName: "storefront_configs";
1284
893
  dataType: "date";
1285
894
  columnType: "PgTimestamp";
@@ -1295,15 +904,15 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
1295
904
  identity: undefined;
1296
905
  generated: undefined;
1297
906
  }, {}, {}>;
1298
- updatedAt: import("drizzle-orm/pg-core").PgColumn<{
1299
- name: "updated_at";
907
+ deletedAt: import("drizzle-orm/pg-core").PgColumn<{
908
+ name: "deleted_at";
1300
909
  tableName: "storefront_configs";
1301
910
  dataType: "date";
1302
911
  columnType: "PgTimestamp";
1303
912
  data: Date;
1304
913
  driverParam: string;
1305
- notNull: true;
1306
- hasDefault: true;
914
+ notNull: false;
915
+ hasDefault: false;
1307
916
  isPrimaryKey: false;
1308
917
  isAutoincrement: false;
1309
918
  hasRuntimeDefault: false;
@@ -1315,6 +924,8 @@ export declare const storefrontConfigs: import("drizzle-orm/pg-core").PgTableWit
1315
924
  };
1316
925
  dialect: "pg";
1317
926
  }>;
1318
- export declare const storefrontConfigRelations: import("drizzle-orm").Relations<"storefront_configs", {
927
+ export declare const storefrontConfigsRelations: import("drizzle-orm").Relations<"storefront_configs", {
1319
928
  store: import("drizzle-orm").One<"stores", true>;
1320
929
  }>;
930
+ export type StorefrontConfig = typeof storefrontConfigs.$inferSelect;
931
+ export type NewStorefrontConfig = typeof storefrontConfigs.$inferInsert;