ojamoto_models 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 (65) hide show
  1. package/.vscode/settings.json +3 -0
  2. package/LICENSE +21 -0
  3. package/certificates/global-bundle.pem +2736 -0
  4. package/config/config.js +52 -0
  5. package/index.js +3 -0
  6. package/migrations/2026000001-create-users.js +97 -0
  7. package/migrations/2026000002-create-and-seed-roles.js +43 -0
  8. package/migrations/2026000003-create-admin-users.js +83 -0
  9. package/migrations/2026000004-create-devices.js +67 -0
  10. package/migrations/2026000005-create-products.js +87 -0
  11. package/migrations/2026000006-create-addresses.js +74 -0
  12. package/migrations/2026000007-create-wallets.js +44 -0
  13. package/migrations/2026000008-create-kyc-verification.js +51 -0
  14. package/migrations/2026000009-create-seller-profiles.js +80 -0
  15. package/migrations/2026000010-create-user-roles.js +48 -0
  16. package/migrations/2026000011-create-sessions.js +61 -0
  17. package/migrations/2026000012-create-escrows.js +80 -0
  18. package/migrations/2026000013-create-wallet-transactions.js +70 -0
  19. package/migrations/2026000014-create-product-images.js +43 -0
  20. package/migrations/2026000015-create-escrow-events.js +50 -0
  21. package/migrations/2026000016-create-logistics.js +55 -0
  22. package/migrations/2026000017-create-ratings.js +56 -0
  23. package/migrations/2026000018-create-disputes.js +84 -0
  24. package/migrations/2026000019-create-dispute-evidence.js +50 -0
  25. package/migrations/2026000020-create-dispute-messages.js +44 -0
  26. package/migrations/2026000021-create-notifications.js +50 -0
  27. package/migrations/2026000022-create-audit-logs.js +57 -0
  28. package/migrations/2026000023-create-webhook-logs.js +46 -0
  29. package/migrations/2026000024-create-user-otps.js +75 -0
  30. package/migrations/2026000025-create-password-reset-otps.js +43 -0
  31. package/migrations/2026000026-create-seller-badges.js +43 -0
  32. package/migrations/2026000027-add-fulltext-index-for-search.js +15 -0
  33. package/migrations/2026000028-create-admin-notifications.js +53 -0
  34. package/migrations/2026000029-create-pin-reset-otp.js +30 -0
  35. package/models/Address.js +76 -0
  36. package/models/AdminNotification.js +59 -0
  37. package/models/AdminUser.js +115 -0
  38. package/models/AuditLog.js +70 -0
  39. package/models/Device.js +82 -0
  40. package/models/Dispute.js +109 -0
  41. package/models/DisputeEvidence.js +62 -0
  42. package/models/DisputeMessage.js +57 -0
  43. package/models/Escrow.js +110 -0
  44. package/models/EscrowEvent.js +63 -0
  45. package/models/KycVerification.js +62 -0
  46. package/models/Logistics.js +62 -0
  47. package/models/Notification.js +58 -0
  48. package/models/PasswordResetOTP.js +52 -0
  49. package/models/PinResetOTP.js +48 -0
  50. package/models/Product.js +100 -0
  51. package/models/ProductImage.js +54 -0
  52. package/models/Rating.js +74 -0
  53. package/models/Role.js +43 -0
  54. package/models/SellerBadges.js +45 -0
  55. package/models/SellerProfile.js +92 -0
  56. package/models/Session.js +67 -0
  57. package/models/User.js +198 -0
  58. package/models/UserOTP.js +84 -0
  59. package/models/UserRole.js +42 -0
  60. package/models/Wallet.js +63 -0
  61. package/models/WalletTransaction.js +81 -0
  62. package/models/WebhookLog.js +52 -0
  63. package/models/index.js +23 -0
  64. package/package.json +30 -0
  65. package/services/constants.js +162 -0
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ module.exports = {
4
+ // - Generic status IDs (legacy support) ──────────────────────────────────
5
+ STATUS_ID: {
6
+ ACTIVE: 1,
7
+ INACTIVE: 2,
8
+ DELETED: 3,
9
+ BLOCKED: 4,
10
+ },
11
+
12
+ // - users.status ─────────────────────────────────────────────────────────
13
+ USER_STATUS: {
14
+ ACTIVE: "ACTIVE",
15
+ SUSPENDED: "SUSPENDED",
16
+ BANNED: "BANNED",
17
+ },
18
+
19
+ // - roles.name ───────────────────────────────────────────────────────────
20
+ ROLE_NAME: {
21
+ BUYER: "BUYER",
22
+ SELLER: "SELLER",
23
+ },
24
+
25
+ // - seller_profiles.user_type ───────────────────────────────────────────────────────────
26
+ SELLER_TYPE: {
27
+ INDIVIDUAL: "INDIVIDUAL",
28
+ BUSINESS: "BUSINESS",
29
+ },
30
+
31
+ // - seller_badges.badge ───────────────────────────────────────────────────
32
+ SELLER_BADGE: {
33
+ TOP_RATED: "TOP_RATED",
34
+ TRUSTED_SELLER: "TRUSTED_SELLER",
35
+ },
36
+
37
+ // - addresses.label ───────────────────────────────────────────────────────────
38
+ ADDRESS_LABEL: {
39
+ HOME: "HOME",
40
+ BUSINESS: "BUSINESS",
41
+ PICKUP: "PICKUP",
42
+ OTHER: "OTHER",
43
+ },
44
+
45
+ // - admin_users.role ─────────────────────────────────────────────────────
46
+ ADMIN_ROLE: {
47
+ SUPPORT_AGENT: "SUPPORT_AGENT",
48
+ SENIOR_REVIEWER: "SENIOR_REVIEWER",
49
+ SUPER_ADMIN: "SUPER_ADMIN",
50
+ },
51
+
52
+ // - admin_users.status ───────────────────────────────────────────────────
53
+ ADMIN_STATUS: {
54
+ ACTIVE: "ACTIVE",
55
+ SUSPENDED: "SUSPENDED",
56
+ },
57
+
58
+ // - kyc_verifications.verification_status ────────────────────────────────
59
+ KYC_STATUS: {
60
+ PENDING: "PENDING",
61
+ PASSED: "PASSED",
62
+ FAILED: "FAILED",
63
+ MANUAL_REVIEW: "MANUAL_REVIEW",
64
+ },
65
+
66
+ // - kyc_verifications.provider ───────────────────────────────────────────
67
+ KYC_PROVIDER: {
68
+ VERIFYME: "VERIFYME",
69
+ QOREID: "QOREID",
70
+ },
71
+
72
+ // - seller_profiles.verification_status ──────────────────────────────────
73
+ SELLER_VERIFICATION_STATUS: {
74
+ UNVERIFIED: "UNVERIFIED",
75
+ VERIFIED: "VERIFIED",
76
+ SUSPENDED: "SUSPENDED",
77
+ },
78
+
79
+ // - products.condition ───────────────────────────────────────────────────
80
+ PRODUCT_CONDITION: {
81
+ NEW: "NEW",
82
+ USED: "USED",
83
+ REFURBISHED: "REFURBISHED",
84
+ },
85
+
86
+ // - products.status ──────────────────────────────────────────────────────
87
+ PRODUCT_STATUS: {
88
+ DRAFT: "DRAFT",
89
+ ACTIVE: "ACTIVE",
90
+ SOLD: "SOLD",
91
+ REMOVED: "REMOVED",
92
+ },
93
+
94
+ // - wallet_transactions.type ─────────────────────────────────────────────
95
+ WALLET_TRANSACTION_TYPE: {
96
+ DEPOSIT: "DEPOSIT",
97
+ ESCROW_LOCK: "ESCROW_LOCK",
98
+ RELEASE: "RELEASE",
99
+ REFUND: "REFUND",
100
+ WITHDRAWAL: "WITHDRAWAL",
101
+ },
102
+
103
+ // - wallet_transactions.status ───────────────────────────────────────────
104
+ WALLET_TRANSACTION_STATUS: {
105
+ PENDING: "PENDING",
106
+ SUCCESS: "SUCCESS",
107
+ FAILED: "FAILED",
108
+ },
109
+
110
+ // - escrows.status ───────────────────────────────────────────────────────
111
+ ESCROW_STATUS: {
112
+ PENDING: "PENDING",
113
+ FUNDED: "FUNDED",
114
+ ACCEPTED: "ACCEPTED",
115
+ IN_PROGRESS: "IN_PROGRESS",
116
+ DELIVERED: "DELIVERED",
117
+ COMPLETED: "COMPLETED",
118
+ DISPUTED: "DISPUTED",
119
+ CANCELLED: "CANCELLED",
120
+ },
121
+
122
+ // - disputes.reason ──────────────────────────────────────────────────────
123
+ DISPUTE_REASON: {
124
+ NOT_DELIVERED: "NOT_DELIVERED",
125
+ DAMAGED: "DAMAGED",
126
+ WRONG_ITEM: "WRONG_ITEM",
127
+ OTHER: "OTHER",
128
+ },
129
+
130
+ // - disputes.status ──────────────────────────────────────────────────────
131
+ DISPUTE_STATUS: {
132
+ OPEN: "OPEN",
133
+ UNDER_REVIEW: "UNDER_REVIEW",
134
+ RESOLVED: "RESOLVED",
135
+ },
136
+
137
+ // - disputes.resolution ──────────────────────────────────────────────────
138
+ DISPUTE_RESOLUTION: {
139
+ RELEASE_TO_SELLER: "RELEASE_TO_SELLER",
140
+ REFUND_BUYER: "REFUND_BUYER",
141
+ PARTIAL_SETTLEMENT: "PARTIAL_SETTLEMENT",
142
+ },
143
+
144
+ // - dispute_evidence.file_type ───────────────────────────────────────────
145
+ EVIDENCE_FILE_TYPE: {
146
+ IMAGE: "IMAGE",
147
+ VIDEO: "VIDEO",
148
+ },
149
+
150
+ // - logistics.status ─────────────────────────────────────────────────────
151
+ LOGISTICS_STATUS: {
152
+ SHIPPED: "SHIPPED",
153
+ IN_TRANSIT: "IN_TRANSIT",
154
+ DELIVERED: "DELIVERED",
155
+ },
156
+
157
+ // - webhook_logs.status ──────────────────────────────────────────────────
158
+ WEBHOOK_STATUS: {
159
+ ACCEPTED: "ACCEPTED",
160
+ REJECTED: "REJECTED",
161
+ },
162
+ };