@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,648 @@
1
+ export declare const contentScans: import("drizzle-orm/pg-core").PgTableWithColumns<{
2
+ name: "content_scans";
3
+ schema: undefined;
4
+ columns: {
5
+ id: import("drizzle-orm/pg-core").PgColumn<{
6
+ name: "id";
7
+ tableName: "content_scans";
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
+ contentId: import("drizzle-orm/pg-core").PgColumn<{
23
+ name: "content_id";
24
+ tableName: "content_scans";
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
+ contentType: import("drizzle-orm/pg-core").PgColumn<{
40
+ name: "content_type";
41
+ tableName: "content_scans";
42
+ dataType: "string";
43
+ columnType: "PgVarchar";
44
+ data: "STORE_DESCRIPTION" | "PRODUCT_TITLE" | "PRODUCT_DESCRIPTION" | "BLOG_POST" | "USER_REVIEW" | "STORE_NAME" | "IMAGE" | "VIDEO";
45
+ driverParam: string;
46
+ notNull: true;
47
+ hasDefault: false;
48
+ isPrimaryKey: false;
49
+ isAutoincrement: false;
50
+ hasRuntimeDefault: false;
51
+ enumValues: [string, ...string[]];
52
+ baseColumn: never;
53
+ identity: undefined;
54
+ generated: undefined;
55
+ }, {}, {
56
+ length: 50;
57
+ $type: "STORE_DESCRIPTION" | "PRODUCT_TITLE" | "PRODUCT_DESCRIPTION" | "BLOG_POST" | "USER_REVIEW" | "STORE_NAME" | "IMAGE" | "VIDEO";
58
+ }>;
59
+ storeId: import("drizzle-orm/pg-core").PgColumn<{
60
+ name: "store_id";
61
+ tableName: "content_scans";
62
+ dataType: "string";
63
+ columnType: "PgText";
64
+ data: string;
65
+ driverParam: string;
66
+ notNull: false;
67
+ hasDefault: false;
68
+ isPrimaryKey: false;
69
+ isAutoincrement: false;
70
+ hasRuntimeDefault: false;
71
+ enumValues: [string, ...string[]];
72
+ baseColumn: never;
73
+ identity: undefined;
74
+ generated: undefined;
75
+ }, {}, {}>;
76
+ userId: import("drizzle-orm/pg-core").PgColumn<{
77
+ name: "user_id";
78
+ tableName: "content_scans";
79
+ dataType: "string";
80
+ columnType: "PgText";
81
+ data: string;
82
+ driverParam: string;
83
+ notNull: false;
84
+ hasDefault: false;
85
+ isPrimaryKey: false;
86
+ isAutoincrement: false;
87
+ hasRuntimeDefault: false;
88
+ enumValues: [string, ...string[]];
89
+ baseColumn: never;
90
+ identity: undefined;
91
+ generated: undefined;
92
+ }, {}, {}>;
93
+ scanType: import("drizzle-orm/pg-core").PgColumn<{
94
+ name: "scan_type";
95
+ tableName: "content_scans";
96
+ dataType: "string";
97
+ columnType: "PgVarchar";
98
+ data: "AUTOMATED" | "MANUAL" | "SCHEDULED" | "TRIGGERED";
99
+ driverParam: string;
100
+ notNull: false;
101
+ hasDefault: true;
102
+ isPrimaryKey: false;
103
+ isAutoincrement: false;
104
+ hasRuntimeDefault: false;
105
+ enumValues: [string, ...string[]];
106
+ baseColumn: never;
107
+ identity: undefined;
108
+ generated: undefined;
109
+ }, {}, {
110
+ length: 30;
111
+ $type: "AUTOMATED" | "MANUAL" | "SCHEDULED" | "TRIGGERED";
112
+ }>;
113
+ provider: import("drizzle-orm/pg-core").PgColumn<{
114
+ name: "provider";
115
+ tableName: "content_scans";
116
+ dataType: "string";
117
+ columnType: "PgVarchar";
118
+ data: "OPENAI" | "GOOGLE_PERSPECTIVE" | "AZURE_CONTENT_SAFETY" | "INTERNAL";
119
+ driverParam: string;
120
+ notNull: false;
121
+ hasDefault: true;
122
+ isPrimaryKey: false;
123
+ isAutoincrement: false;
124
+ hasRuntimeDefault: false;
125
+ enumValues: [string, ...string[]];
126
+ baseColumn: never;
127
+ identity: undefined;
128
+ generated: undefined;
129
+ }, {}, {
130
+ length: 30;
131
+ $type: "OPENAI" | "GOOGLE_PERSPECTIVE" | "AZURE_CONTENT_SAFETY" | "INTERNAL";
132
+ }>;
133
+ originalContent: import("drizzle-orm/pg-core").PgColumn<{
134
+ name: "original_content";
135
+ tableName: "content_scans";
136
+ dataType: "string";
137
+ columnType: "PgText";
138
+ data: string;
139
+ driverParam: string;
140
+ notNull: true;
141
+ hasDefault: false;
142
+ isPrimaryKey: false;
143
+ isAutoincrement: false;
144
+ hasRuntimeDefault: false;
145
+ enumValues: [string, ...string[]];
146
+ baseColumn: never;
147
+ identity: undefined;
148
+ generated: undefined;
149
+ }, {}, {}>;
150
+ processedContent: import("drizzle-orm/pg-core").PgColumn<{
151
+ name: "processed_content";
152
+ tableName: "content_scans";
153
+ dataType: "string";
154
+ columnType: "PgText";
155
+ data: string;
156
+ driverParam: string;
157
+ notNull: false;
158
+ hasDefault: false;
159
+ isPrimaryKey: false;
160
+ isAutoincrement: false;
161
+ hasRuntimeDefault: false;
162
+ enumValues: [string, ...string[]];
163
+ baseColumn: never;
164
+ identity: undefined;
165
+ generated: undefined;
166
+ }, {}, {}>;
167
+ contentHash: import("drizzle-orm/pg-core").PgColumn<{
168
+ name: "content_hash";
169
+ tableName: "content_scans";
170
+ dataType: "string";
171
+ columnType: "PgVarchar";
172
+ data: string;
173
+ driverParam: string;
174
+ notNull: false;
175
+ hasDefault: false;
176
+ isPrimaryKey: false;
177
+ isAutoincrement: false;
178
+ hasRuntimeDefault: false;
179
+ enumValues: [string, ...string[]];
180
+ baseColumn: never;
181
+ identity: undefined;
182
+ generated: undefined;
183
+ }, {}, {
184
+ length: 64;
185
+ }>;
186
+ flagged: import("drizzle-orm/pg-core").PgColumn<{
187
+ name: "flagged";
188
+ tableName: "content_scans";
189
+ dataType: "boolean";
190
+ columnType: "PgBoolean";
191
+ data: boolean;
192
+ driverParam: boolean;
193
+ notNull: true;
194
+ hasDefault: true;
195
+ isPrimaryKey: false;
196
+ isAutoincrement: false;
197
+ hasRuntimeDefault: false;
198
+ enumValues: undefined;
199
+ baseColumn: never;
200
+ identity: undefined;
201
+ generated: undefined;
202
+ }, {}, {}>;
203
+ confidence: import("drizzle-orm/pg-core").PgColumn<{
204
+ name: "confidence";
205
+ tableName: "content_scans";
206
+ dataType: "string";
207
+ columnType: "PgNumeric";
208
+ data: string;
209
+ driverParam: string;
210
+ notNull: false;
211
+ hasDefault: false;
212
+ isPrimaryKey: false;
213
+ isAutoincrement: false;
214
+ hasRuntimeDefault: false;
215
+ enumValues: undefined;
216
+ baseColumn: never;
217
+ identity: undefined;
218
+ generated: undefined;
219
+ }, {}, {}>;
220
+ categories: import("drizzle-orm/pg-core").PgColumn<{
221
+ name: "categories";
222
+ tableName: "content_scans";
223
+ dataType: "json";
224
+ columnType: "PgJsonb";
225
+ data: {
226
+ sexual?: boolean;
227
+ hate?: boolean;
228
+ harassment?: boolean;
229
+ selfHarm?: boolean;
230
+ sexualMinors?: boolean;
231
+ hateThreatening?: boolean;
232
+ violenceGraphic?: boolean;
233
+ selfHarmIntent?: boolean;
234
+ selfHarmInstructions?: boolean;
235
+ harassmentThreatening?: boolean;
236
+ violence?: boolean;
237
+ };
238
+ driverParam: unknown;
239
+ notNull: false;
240
+ hasDefault: false;
241
+ isPrimaryKey: false;
242
+ isAutoincrement: false;
243
+ hasRuntimeDefault: false;
244
+ enumValues: undefined;
245
+ baseColumn: never;
246
+ identity: undefined;
247
+ generated: undefined;
248
+ }, {}, {
249
+ $type: {
250
+ sexual?: boolean;
251
+ hate?: boolean;
252
+ harassment?: boolean;
253
+ selfHarm?: boolean;
254
+ sexualMinors?: boolean;
255
+ hateThreatening?: boolean;
256
+ violenceGraphic?: boolean;
257
+ selfHarmIntent?: boolean;
258
+ selfHarmInstructions?: boolean;
259
+ harassmentThreatening?: boolean;
260
+ violence?: boolean;
261
+ };
262
+ }>;
263
+ categoryScores: import("drizzle-orm/pg-core").PgColumn<{
264
+ name: "category_scores";
265
+ tableName: "content_scans";
266
+ dataType: "json";
267
+ columnType: "PgJsonb";
268
+ data: {
269
+ sexual?: number;
270
+ hate?: number;
271
+ harassment?: number;
272
+ selfHarm?: number;
273
+ sexualMinors?: number;
274
+ hateThreatening?: number;
275
+ violenceGraphic?: number;
276
+ selfHarmIntent?: number;
277
+ selfHarmInstructions?: number;
278
+ harassmentThreatening?: number;
279
+ violence?: number;
280
+ };
281
+ driverParam: unknown;
282
+ notNull: false;
283
+ hasDefault: false;
284
+ isPrimaryKey: false;
285
+ isAutoincrement: false;
286
+ hasRuntimeDefault: false;
287
+ enumValues: undefined;
288
+ baseColumn: never;
289
+ identity: undefined;
290
+ generated: undefined;
291
+ }, {}, {
292
+ $type: {
293
+ sexual?: number;
294
+ hate?: number;
295
+ harassment?: number;
296
+ selfHarm?: number;
297
+ sexualMinors?: number;
298
+ hateThreatening?: number;
299
+ violenceGraphic?: number;
300
+ selfHarmIntent?: number;
301
+ selfHarmInstructions?: number;
302
+ harassmentThreatening?: number;
303
+ violence?: number;
304
+ };
305
+ }>;
306
+ customViolations: import("drizzle-orm/pg-core").PgColumn<{
307
+ name: "custom_violations";
308
+ tableName: "content_scans";
309
+ dataType: "json";
310
+ columnType: "PgJsonb";
311
+ data: {
312
+ ruleId: string;
313
+ ruleName: string;
314
+ matched: boolean;
315
+ confidence: number;
316
+ matchedText?: string;
317
+ }[];
318
+ driverParam: unknown;
319
+ notNull: false;
320
+ hasDefault: true;
321
+ isPrimaryKey: false;
322
+ isAutoincrement: false;
323
+ hasRuntimeDefault: false;
324
+ enumValues: undefined;
325
+ baseColumn: never;
326
+ identity: undefined;
327
+ generated: undefined;
328
+ }, {}, {
329
+ $type: {
330
+ ruleId: string;
331
+ ruleName: string;
332
+ matched: boolean;
333
+ confidence: number;
334
+ matchedText?: string;
335
+ }[];
336
+ }>;
337
+ status: import("drizzle-orm/pg-core").PgColumn<{
338
+ name: "status";
339
+ tableName: "content_scans";
340
+ dataType: "string";
341
+ columnType: "PgVarchar";
342
+ data: "PENDING" | "COMPLETED" | "CANCELLED" | "PROCESSING" | "FAILED";
343
+ driverParam: string;
344
+ notNull: true;
345
+ hasDefault: true;
346
+ isPrimaryKey: false;
347
+ isAutoincrement: false;
348
+ hasRuntimeDefault: false;
349
+ enumValues: [string, ...string[]];
350
+ baseColumn: never;
351
+ identity: undefined;
352
+ generated: undefined;
353
+ }, {}, {
354
+ length: 20;
355
+ $type: "PENDING" | "COMPLETED" | "CANCELLED" | "PROCESSING" | "FAILED";
356
+ }>;
357
+ actionTaken: import("drizzle-orm/pg-core").PgColumn<{
358
+ name: "action_taken";
359
+ tableName: "content_scans";
360
+ dataType: "string";
361
+ columnType: "PgVarchar";
362
+ data: "NONE" | "FLAGGED" | "BLOCKED" | "QUARANTINED" | "REPORTED";
363
+ driverParam: string;
364
+ notNull: false;
365
+ hasDefault: false;
366
+ isPrimaryKey: false;
367
+ isAutoincrement: false;
368
+ hasRuntimeDefault: false;
369
+ enumValues: [string, ...string[]];
370
+ baseColumn: never;
371
+ identity: undefined;
372
+ generated: undefined;
373
+ }, {}, {
374
+ length: 30;
375
+ $type: "NONE" | "FLAGGED" | "BLOCKED" | "QUARANTINED" | "REPORTED";
376
+ }>;
377
+ processingTime: import("drizzle-orm/pg-core").PgColumn<{
378
+ name: "processing_time";
379
+ tableName: "content_scans";
380
+ dataType: "number";
381
+ columnType: "PgInteger";
382
+ data: number;
383
+ driverParam: string | number;
384
+ notNull: false;
385
+ hasDefault: false;
386
+ isPrimaryKey: false;
387
+ isAutoincrement: false;
388
+ hasRuntimeDefault: false;
389
+ enumValues: undefined;
390
+ baseColumn: never;
391
+ identity: undefined;
392
+ generated: undefined;
393
+ }, {}, {}>;
394
+ cost: import("drizzle-orm/pg-core").PgColumn<{
395
+ name: "cost";
396
+ tableName: "content_scans";
397
+ dataType: "string";
398
+ columnType: "PgNumeric";
399
+ data: string;
400
+ driverParam: string;
401
+ notNull: false;
402
+ hasDefault: false;
403
+ isPrimaryKey: false;
404
+ isAutoincrement: false;
405
+ hasRuntimeDefault: false;
406
+ enumValues: undefined;
407
+ baseColumn: never;
408
+ identity: undefined;
409
+ generated: undefined;
410
+ }, {}, {}>;
411
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
412
+ name: "created_at";
413
+ tableName: "content_scans";
414
+ dataType: "date";
415
+ columnType: "PgTimestamp";
416
+ data: Date;
417
+ driverParam: string;
418
+ notNull: true;
419
+ hasDefault: true;
420
+ isPrimaryKey: false;
421
+ isAutoincrement: false;
422
+ hasRuntimeDefault: false;
423
+ enumValues: undefined;
424
+ baseColumn: never;
425
+ identity: undefined;
426
+ generated: undefined;
427
+ }, {}, {}>;
428
+ };
429
+ dialect: "pg";
430
+ }>;
431
+ export declare const moderationRules: import("drizzle-orm/pg-core").PgTableWithColumns<{
432
+ name: "moderation_rules";
433
+ schema: undefined;
434
+ columns: {
435
+ id: import("drizzle-orm/pg-core").PgColumn<{
436
+ name: "id";
437
+ tableName: "moderation_rules";
438
+ dataType: "string";
439
+ columnType: "PgText";
440
+ data: string;
441
+ driverParam: string;
442
+ notNull: true;
443
+ hasDefault: true;
444
+ isPrimaryKey: true;
445
+ isAutoincrement: false;
446
+ hasRuntimeDefault: true;
447
+ enumValues: [string, ...string[]];
448
+ baseColumn: never;
449
+ identity: undefined;
450
+ generated: undefined;
451
+ }, {}, {}>;
452
+ name: import("drizzle-orm/pg-core").PgColumn<{
453
+ name: "name";
454
+ tableName: "moderation_rules";
455
+ dataType: "string";
456
+ columnType: "PgVarchar";
457
+ data: string;
458
+ driverParam: string;
459
+ notNull: true;
460
+ hasDefault: false;
461
+ isPrimaryKey: false;
462
+ isAutoincrement: false;
463
+ hasRuntimeDefault: false;
464
+ enumValues: [string, ...string[]];
465
+ baseColumn: never;
466
+ identity: undefined;
467
+ generated: undefined;
468
+ }, {}, {
469
+ length: 100;
470
+ }>;
471
+ description: import("drizzle-orm/pg-core").PgColumn<{
472
+ name: "description";
473
+ tableName: "moderation_rules";
474
+ dataType: "string";
475
+ columnType: "PgText";
476
+ data: string;
477
+ driverParam: string;
478
+ notNull: false;
479
+ hasDefault: false;
480
+ isPrimaryKey: false;
481
+ isAutoincrement: false;
482
+ hasRuntimeDefault: false;
483
+ enumValues: [string, ...string[]];
484
+ baseColumn: never;
485
+ identity: undefined;
486
+ generated: undefined;
487
+ }, {}, {}>;
488
+ ruleType: import("drizzle-orm/pg-core").PgColumn<{
489
+ name: "rule_type";
490
+ tableName: "moderation_rules";
491
+ dataType: "string";
492
+ columnType: "PgVarchar";
493
+ data: "KEYWORD_FILTER" | "PATTERN_MATCH" | "ML_CLASSIFIER" | "CUSTOM_LOGIC";
494
+ driverParam: string;
495
+ notNull: true;
496
+ hasDefault: false;
497
+ isPrimaryKey: false;
498
+ isAutoincrement: false;
499
+ hasRuntimeDefault: false;
500
+ enumValues: [string, ...string[]];
501
+ baseColumn: never;
502
+ identity: undefined;
503
+ generated: undefined;
504
+ }, {}, {
505
+ length: 30;
506
+ $type: "KEYWORD_FILTER" | "PATTERN_MATCH" | "ML_CLASSIFIER" | "CUSTOM_LOGIC";
507
+ }>;
508
+ severity: import("drizzle-orm/pg-core").PgColumn<{
509
+ name: "severity";
510
+ tableName: "moderation_rules";
511
+ dataType: "string";
512
+ columnType: "PgVarchar";
513
+ data: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
514
+ driverParam: string;
515
+ notNull: true;
516
+ hasDefault: false;
517
+ isPrimaryKey: false;
518
+ isAutoincrement: false;
519
+ hasRuntimeDefault: false;
520
+ enumValues: [string, ...string[]];
521
+ baseColumn: never;
522
+ identity: undefined;
523
+ generated: undefined;
524
+ }, {}, {
525
+ length: 20;
526
+ $type: "LOW" | "MEDIUM" | "HIGH" | "CRITICAL";
527
+ }>;
528
+ configuration: import("drizzle-orm/pg-core").PgColumn<{
529
+ name: "configuration";
530
+ tableName: "moderation_rules";
531
+ dataType: "json";
532
+ columnType: "PgJsonb";
533
+ data: {
534
+ keywords?: string[];
535
+ patterns?: string[];
536
+ threshold?: number;
537
+ customLogic?: string;
538
+ };
539
+ driverParam: unknown;
540
+ notNull: false;
541
+ hasDefault: false;
542
+ isPrimaryKey: false;
543
+ isAutoincrement: false;
544
+ hasRuntimeDefault: false;
545
+ enumValues: undefined;
546
+ baseColumn: never;
547
+ identity: undefined;
548
+ generated: undefined;
549
+ }, {}, {
550
+ $type: {
551
+ keywords?: string[];
552
+ patterns?: string[];
553
+ threshold?: number;
554
+ customLogic?: string;
555
+ };
556
+ }>;
557
+ contentTypes: import("drizzle-orm/pg-core").PgColumn<{
558
+ name: "content_types";
559
+ tableName: "moderation_rules";
560
+ dataType: "json";
561
+ columnType: "PgJsonb";
562
+ data: string[];
563
+ driverParam: unknown;
564
+ notNull: false;
565
+ hasDefault: true;
566
+ isPrimaryKey: false;
567
+ isAutoincrement: false;
568
+ hasRuntimeDefault: false;
569
+ enumValues: undefined;
570
+ baseColumn: never;
571
+ identity: undefined;
572
+ generated: undefined;
573
+ }, {}, {
574
+ $type: string[];
575
+ }>;
576
+ storeTypes: import("drizzle-orm/pg-core").PgColumn<{
577
+ name: "store_types";
578
+ tableName: "moderation_rules";
579
+ dataType: "json";
580
+ columnType: "PgJsonb";
581
+ data: string[];
582
+ driverParam: unknown;
583
+ notNull: false;
584
+ hasDefault: true;
585
+ isPrimaryKey: false;
586
+ isAutoincrement: false;
587
+ hasRuntimeDefault: false;
588
+ enumValues: undefined;
589
+ baseColumn: never;
590
+ identity: undefined;
591
+ generated: undefined;
592
+ }, {}, {
593
+ $type: string[];
594
+ }>;
595
+ isActive: import("drizzle-orm/pg-core").PgColumn<{
596
+ name: "is_active";
597
+ tableName: "moderation_rules";
598
+ dataType: "boolean";
599
+ columnType: "PgBoolean";
600
+ data: boolean;
601
+ driverParam: boolean;
602
+ notNull: true;
603
+ hasDefault: true;
604
+ isPrimaryKey: false;
605
+ isAutoincrement: false;
606
+ hasRuntimeDefault: false;
607
+ enumValues: undefined;
608
+ baseColumn: never;
609
+ identity: undefined;
610
+ generated: undefined;
611
+ }, {}, {}>;
612
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
613
+ name: "created_at";
614
+ tableName: "moderation_rules";
615
+ dataType: "date";
616
+ columnType: "PgTimestamp";
617
+ data: Date;
618
+ driverParam: string;
619
+ notNull: true;
620
+ hasDefault: true;
621
+ isPrimaryKey: false;
622
+ isAutoincrement: false;
623
+ hasRuntimeDefault: false;
624
+ enumValues: undefined;
625
+ baseColumn: never;
626
+ identity: undefined;
627
+ generated: undefined;
628
+ }, {}, {}>;
629
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
630
+ name: "updated_at";
631
+ tableName: "moderation_rules";
632
+ dataType: "date";
633
+ columnType: "PgTimestamp";
634
+ data: Date;
635
+ driverParam: string;
636
+ notNull: true;
637
+ hasDefault: true;
638
+ isPrimaryKey: false;
639
+ isAutoincrement: false;
640
+ hasRuntimeDefault: false;
641
+ enumValues: undefined;
642
+ baseColumn: never;
643
+ identity: undefined;
644
+ generated: undefined;
645
+ }, {}, {}>;
646
+ };
647
+ dialect: "pg";
648
+ }>;