@axova/shared 1.0.1 → 1.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/lib/db.d.ts +34226 -1
  2. package/dist/lib/db.js +21 -1
  3. package/dist/schemas/admin/admin-schema.d.ts +2 -2
  4. package/dist/schemas/ai-moderation/ai-moderation-schema.d.ts +8 -8
  5. package/dist/schemas/common/common-schemas.d.ts +71 -71
  6. package/dist/schemas/compliance/compliance-schema.d.ts +20 -20
  7. package/dist/schemas/compliance/kyc-schema.d.ts +6 -6
  8. package/dist/schemas/customer/customer-schema.d.ts +18 -18
  9. package/dist/schemas/index.d.ts +1 -1
  10. package/dist/schemas/index.js +13 -4
  11. package/dist/schemas/inventory/inventory-tables.d.ts +188 -188
  12. package/dist/schemas/inventory/lot-tables.d.ts +104 -104
  13. package/dist/schemas/order/cart-schema.d.ts +2865 -0
  14. package/dist/schemas/order/cart-schema.js +396 -0
  15. package/dist/schemas/order/order-schema.d.ts +19 -19
  16. package/dist/schemas/order/order-schema.js +8 -2
  17. package/dist/schemas/product/discount-schema.d.ts +3 -3
  18. package/dist/schemas/product/product-schema.d.ts +3 -3
  19. package/dist/schemas/store/store-audit-schema.d.ts +22 -22
  20. package/dist/schemas/store/storefront-config-schema.d.ts +434 -823
  21. package/dist/schemas/store/storefront-config-schema.js +35 -62
  22. package/package.json +1 -1
  23. package/src/configs/index.ts +654 -654
  24. package/src/index.ts +26 -26
  25. package/src/interfaces/customer-events.ts +106 -106
  26. package/src/interfaces/inventory-events.ts +545 -545
  27. package/src/interfaces/inventory-types.ts +1004 -1004
  28. package/src/interfaces/order-events.ts +381 -381
  29. package/src/lib/auditLogger.ts +1117 -1117
  30. package/src/lib/authOrganization.ts +153 -153
  31. package/src/lib/db.ts +84 -64
  32. package/src/middleware/serviceAuth.ts +328 -328
  33. package/src/middleware/storeOwnership.ts +199 -199
  34. package/src/middleware/userAuth.ts +248 -248
  35. package/src/schemas/admin/admin-schema.ts +208 -208
  36. package/src/schemas/ai-moderation/ai-moderation-schema.ts +180 -180
  37. package/src/schemas/common/common-schemas.ts +108 -108
  38. package/src/schemas/compliance/compliance-schema.ts +927 -927
  39. package/src/schemas/customer/customer-schema.ts +576 -576
  40. package/src/schemas/index.ts +204 -194
  41. package/src/schemas/inventory/inventory-tables.ts +1927 -1927
  42. package/src/schemas/order/cart-schema.ts +652 -0
  43. package/src/schemas/order/order-schema.ts +1406 -1400
  44. package/src/schemas/product/product-relations.ts +187 -187
  45. package/src/schemas/product/product-schema.ts +955 -955
  46. package/src/schemas/store/ethiopian_business_api.md.resolved +212 -212
  47. package/src/schemas/store/store-audit-schema.ts +1257 -1257
  48. package/src/schemas/store/store-schema.ts +661 -661
  49. package/src/schemas/store/storefront-config-schema.ts +212 -434
  50. package/src/schemas/types.ts +67 -67
  51. package/src/types/events.ts +646 -646
  52. package/src/utils/errorHandler.ts +44 -44
  53. package/src/utils/subdomain.ts +19 -19
  54. package/tsconfig.json +21 -21
package/src/index.ts CHANGED
@@ -1,26 +1,26 @@
1
- // Database
2
-
3
- // Service Configuration Profiles
4
- export * from "./configs";
5
- // Kafka Events and Utilities
6
- export * from "./events/kafka";
7
- // Audit Logging
8
- export * from "./lib/auditLogger";
9
- // Auth Organization
10
- export * from "./lib/authOrganization";
11
- export { db, pool } from "./lib/db";
12
- // Service Authentication
13
- export * from "./middleware/serviceAuth";
14
- export * from "./middleware/storeOwnership";
15
- export * from "./middleware/storeValidationMiddleware";
16
- export * from "./middleware/userAuth";
17
-
18
- // Schemas - Organized by Service
19
- export * from "./schemas";
20
-
21
- // Types and Interfaces
22
- export * from "./types/events";
23
-
24
- // Utilities
25
- export * from "./utils/errorHandler";
26
- export * from "./utils/subdomain";
1
+ // Database
2
+
3
+ // Service Configuration Profiles
4
+ export * from "./configs";
5
+ // Kafka Events and Utilities
6
+ export * from "./events/kafka";
7
+ // Audit Logging
8
+ export * from "./lib/auditLogger";
9
+ // Auth Organization
10
+ export * from "./lib/authOrganization";
11
+ export { db, pool } from "./lib/db";
12
+ // Service Authentication
13
+ export * from "./middleware/serviceAuth";
14
+ export * from "./middleware/storeOwnership";
15
+ export * from "./middleware/storeValidationMiddleware";
16
+ export * from "./middleware/userAuth";
17
+
18
+ // Schemas - Organized by Service
19
+ export * from "./schemas";
20
+
21
+ // Types and Interfaces
22
+ export * from "./types/events";
23
+
24
+ // Utilities
25
+ export * from "./utils/errorHandler";
26
+ export * from "./utils/subdomain";
@@ -1,106 +1,106 @@
1
- // Customer Service Events Configuration
2
- export interface CustomerServiceConfig {
3
- serviceName: string;
4
- version: string;
5
- events: CustomerServiceEvents;
6
- }
7
-
8
- export interface CustomerServiceEvents {
9
- CUSTOMER_CREATED: "customer.created";
10
- CUSTOMER_UPDATED: "customer.updated";
11
- CUSTOMER_DELETED: "customer.deleted";
12
- CUSTOMER_VISIT_CREATED: "customer.visit.created";
13
- CUSTOMER_INTERACTION_CREATED: "customer.interaction.created";
14
- CUSTOMER_NOTE_CREATED: "customer.note.created";
15
- CUSTOMER_SUPPORT_TICKET_CREATED: "customer.support.ticket.created";
16
- CUSTOMER_REVIEW_SUBMITTED: "customer.review.submitted";
17
- }
18
-
19
- // Customer Service Event Types
20
- export type CustomerEventType =
21
- | "customer.created"
22
- | "customer.updated"
23
- | "customer.deleted"
24
- | "customer.visit.created"
25
- | "customer.interaction.created"
26
- | "customer.note.created"
27
- | "customer.support.ticket.created"
28
- | "customer.review.submitted";
29
-
30
- // Customer Event Payloads
31
- export interface CustomerCreatedEvent {
32
- customerId: string;
33
- userId: string;
34
- email: string;
35
- firstName: string;
36
- lastName: string;
37
- customerType: string;
38
- registrationSource: string;
39
- storeLocationId?: string;
40
- }
41
-
42
- export interface CustomerUpdatedEvent {
43
- customerId: string;
44
- userId: string;
45
- changes: Record<string, unknown>;
46
- previousValues: Record<string, unknown>;
47
- registrationSourceChanged: boolean;
48
- }
49
-
50
- export interface CustomerDeletedEvent {
51
- customerId: string;
52
- userId: string;
53
- email: string;
54
- customerType: string;
55
- registrationSource: string;
56
- totalSpent: string;
57
- totalOrders: number;
58
- totalVisits: number;
59
- totalInteractions: number;
60
- }
61
-
62
- export interface CustomerVisitCreatedEvent {
63
- visitId: string;
64
- customerId: string;
65
- visitType: string;
66
- storeLocationId?: string;
67
- outcome?: string;
68
- duration?: number;
69
- }
70
-
71
- export interface CustomerInteractionCreatedEvent {
72
- interactionId: string;
73
- customerId: string;
74
- interactionType: string;
75
- targetType?: string;
76
- targetId?: string;
77
- outcome?: string;
78
- staffId?: string;
79
- }
80
-
81
- export interface CustomerNoteCreatedEvent {
82
- noteId: string;
83
- customerId: string;
84
- noteType: string;
85
- priority: string;
86
- isAlert: boolean;
87
- createdBy: string;
88
- }
89
-
90
- export interface CustomerSupportTicketCreatedEvent {
91
- ticketId: string;
92
- ticketNumber: string;
93
- customerId: string;
94
- subject: string;
95
- category: string;
96
- priority: string;
97
- }
98
-
99
- export interface CustomerReviewSubmittedEvent {
100
- reviewId: string;
101
- customerId: string;
102
- targetType: string;
103
- targetId: string;
104
- rating: number;
105
- isVerifiedPurchase: boolean;
106
- }
1
+ // Customer Service Events Configuration
2
+ export interface CustomerServiceConfig {
3
+ serviceName: string;
4
+ version: string;
5
+ events: CustomerServiceEvents;
6
+ }
7
+
8
+ export interface CustomerServiceEvents {
9
+ CUSTOMER_CREATED: "customer.created";
10
+ CUSTOMER_UPDATED: "customer.updated";
11
+ CUSTOMER_DELETED: "customer.deleted";
12
+ CUSTOMER_VISIT_CREATED: "customer.visit.created";
13
+ CUSTOMER_INTERACTION_CREATED: "customer.interaction.created";
14
+ CUSTOMER_NOTE_CREATED: "customer.note.created";
15
+ CUSTOMER_SUPPORT_TICKET_CREATED: "customer.support.ticket.created";
16
+ CUSTOMER_REVIEW_SUBMITTED: "customer.review.submitted";
17
+ }
18
+
19
+ // Customer Service Event Types
20
+ export type CustomerEventType =
21
+ | "customer.created"
22
+ | "customer.updated"
23
+ | "customer.deleted"
24
+ | "customer.visit.created"
25
+ | "customer.interaction.created"
26
+ | "customer.note.created"
27
+ | "customer.support.ticket.created"
28
+ | "customer.review.submitted";
29
+
30
+ // Customer Event Payloads
31
+ export interface CustomerCreatedEvent {
32
+ customerId: string;
33
+ userId: string;
34
+ email: string;
35
+ firstName: string;
36
+ lastName: string;
37
+ customerType: string;
38
+ registrationSource: string;
39
+ storeLocationId?: string;
40
+ }
41
+
42
+ export interface CustomerUpdatedEvent {
43
+ customerId: string;
44
+ userId: string;
45
+ changes: Record<string, unknown>;
46
+ previousValues: Record<string, unknown>;
47
+ registrationSourceChanged: boolean;
48
+ }
49
+
50
+ export interface CustomerDeletedEvent {
51
+ customerId: string;
52
+ userId: string;
53
+ email: string;
54
+ customerType: string;
55
+ registrationSource: string;
56
+ totalSpent: string;
57
+ totalOrders: number;
58
+ totalVisits: number;
59
+ totalInteractions: number;
60
+ }
61
+
62
+ export interface CustomerVisitCreatedEvent {
63
+ visitId: string;
64
+ customerId: string;
65
+ visitType: string;
66
+ storeLocationId?: string;
67
+ outcome?: string;
68
+ duration?: number;
69
+ }
70
+
71
+ export interface CustomerInteractionCreatedEvent {
72
+ interactionId: string;
73
+ customerId: string;
74
+ interactionType: string;
75
+ targetType?: string;
76
+ targetId?: string;
77
+ outcome?: string;
78
+ staffId?: string;
79
+ }
80
+
81
+ export interface CustomerNoteCreatedEvent {
82
+ noteId: string;
83
+ customerId: string;
84
+ noteType: string;
85
+ priority: string;
86
+ isAlert: boolean;
87
+ createdBy: string;
88
+ }
89
+
90
+ export interface CustomerSupportTicketCreatedEvent {
91
+ ticketId: string;
92
+ ticketNumber: string;
93
+ customerId: string;
94
+ subject: string;
95
+ category: string;
96
+ priority: string;
97
+ }
98
+
99
+ export interface CustomerReviewSubmittedEvent {
100
+ reviewId: string;
101
+ customerId: string;
102
+ targetType: string;
103
+ targetId: string;
104
+ rating: number;
105
+ isVerifiedPurchase: boolean;
106
+ }