create-arktos 1.4.0 → 1.5.1
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.
- package/bin/cli.js +19 -75
- package/eslint.config.js +40 -25
- package/package.json +1 -4
- package/eslint.config.js.template +0 -31
- package/src-js/app.js +0 -97
- package/src-js/config/env.validation.js +0 -15
- package/src-js/config/logger.js +0 -76
- package/src-js/constants/errorCodes.js +0 -57
- package/src-js/constants/messages.js +0 -240
- package/src-js/controllers/auth.controller.js +0 -533
- package/src-js/middleware/index.js +0 -284
- package/src-js/routes/auth.routes.js +0 -28
- package/src-js/routes/index.js +0 -18
- package/src-js/schemas/index.js +0 -60
- package/src-js/services/database.service.js +0 -89
- package/src-js/services/email.service.js +0 -161
- package/src-js/services/jwt.service.js +0 -177
- package/src-js/utils/response.js +0 -53
- package/src-js/views/emails/notification.html +0 -87
- package/src-js/views/emails/resetPassword.html +0 -118
- package/src-js/views/emails/verification.html +0 -107
- package/src-js/views/emails/welcome.html +0 -113
- package/template.js.package.json +0 -77
|
@@ -1,240 +0,0 @@
|
|
|
1
|
-
import { ERROR_CODES } from './errorCodes.js';
|
|
2
|
-
|
|
3
|
-
export const SERVICE_MESSAGES = {
|
|
4
|
-
// Application messages
|
|
5
|
-
APP: {
|
|
6
|
-
API_RUNNING: {
|
|
7
|
-
code: 'APP_001',
|
|
8
|
-
message: 'API is running successfully',
|
|
9
|
-
statusCode: 200,
|
|
10
|
-
},
|
|
11
|
-
HEALTH_CHECK_FAILED: {
|
|
12
|
-
code: 'APP_002',
|
|
13
|
-
message: 'Health check failed',
|
|
14
|
-
statusCode: 503,
|
|
15
|
-
},
|
|
16
|
-
ENDPOINT_NOT_FOUND: {
|
|
17
|
-
code: 'APP_003',
|
|
18
|
-
message: 'Endpoint not found',
|
|
19
|
-
statusCode: 404,
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
// Authentication messages
|
|
24
|
-
AUTH: {
|
|
25
|
-
LOGIN_SUCCESS: {
|
|
26
|
-
code: 'AUTH_S001',
|
|
27
|
-
message: 'Login successful',
|
|
28
|
-
statusCode: 200,
|
|
29
|
-
},
|
|
30
|
-
REGISTER_SUCCESS: {
|
|
31
|
-
code: 'AUTH_S002',
|
|
32
|
-
message: 'Registration successful',
|
|
33
|
-
statusCode: 201,
|
|
34
|
-
},
|
|
35
|
-
LOGOUT_SUCCESS: {
|
|
36
|
-
code: 'AUTH_S003',
|
|
37
|
-
message: 'Logout successful',
|
|
38
|
-
statusCode: 200,
|
|
39
|
-
},
|
|
40
|
-
EMAIL_VERIFICATION_SUCCESS: {
|
|
41
|
-
code: 'AUTH_S004',
|
|
42
|
-
message: 'Email verified successfully',
|
|
43
|
-
statusCode: 200,
|
|
44
|
-
},
|
|
45
|
-
PASSWORD_RESET_SUCCESS: {
|
|
46
|
-
code: 'AUTH_S005',
|
|
47
|
-
message: 'Password reset successful',
|
|
48
|
-
statusCode: 200,
|
|
49
|
-
},
|
|
50
|
-
INVALID_CREDENTIALS: {
|
|
51
|
-
code: ERROR_CODES.AUTH_INVALID_CREDENTIALS,
|
|
52
|
-
message: 'Invalid email or password',
|
|
53
|
-
statusCode: 401,
|
|
54
|
-
},
|
|
55
|
-
TOKEN_EXPIRED: {
|
|
56
|
-
code: ERROR_CODES.AUTH_TOKEN_EXPIRED,
|
|
57
|
-
message: 'Token has expired',
|
|
58
|
-
statusCode: 401,
|
|
59
|
-
},
|
|
60
|
-
TOKEN_INVALID: {
|
|
61
|
-
code: ERROR_CODES.AUTH_TOKEN_INVALID,
|
|
62
|
-
message: 'Invalid token provided',
|
|
63
|
-
statusCode: 401,
|
|
64
|
-
},
|
|
65
|
-
USER_NOT_FOUND: {
|
|
66
|
-
code: ERROR_CODES.AUTH_USER_NOT_FOUND,
|
|
67
|
-
message: 'User not found',
|
|
68
|
-
statusCode: 404,
|
|
69
|
-
},
|
|
70
|
-
EMAIL_NOT_VERIFIED: {
|
|
71
|
-
code: ERROR_CODES.AUTH_EMAIL_NOT_VERIFIED,
|
|
72
|
-
message: 'Email address is not verified',
|
|
73
|
-
statusCode: 403,
|
|
74
|
-
},
|
|
75
|
-
ACCOUNT_DISABLED: {
|
|
76
|
-
code: ERROR_CODES.AUTH_ACCOUNT_DISABLED,
|
|
77
|
-
message: 'Account has been disabled',
|
|
78
|
-
statusCode: 403,
|
|
79
|
-
},
|
|
80
|
-
INSUFFICIENT_PERMISSIONS: {
|
|
81
|
-
code: ERROR_CODES.AUTH_INSUFFICIENT_PERMISSIONS,
|
|
82
|
-
message: 'Insufficient permissions to access this resource',
|
|
83
|
-
statusCode: 403,
|
|
84
|
-
},
|
|
85
|
-
USER_EXISTS: {
|
|
86
|
-
code: ERROR_CODES.AUTH_USER_EXISTS,
|
|
87
|
-
message: 'User already exists with this email',
|
|
88
|
-
statusCode: 409,
|
|
89
|
-
},
|
|
90
|
-
USERNAME_TAKEN: {
|
|
91
|
-
code: ERROR_CODES.AUTH_USERNAME_TAKEN,
|
|
92
|
-
message: 'Username is already taken',
|
|
93
|
-
statusCode: 409,
|
|
94
|
-
},
|
|
95
|
-
TOKEN_REQUIRED: {
|
|
96
|
-
code: ERROR_CODES.AUTH_TOKEN_REQUIRED,
|
|
97
|
-
message: 'Authentication token is required',
|
|
98
|
-
statusCode: 401,
|
|
99
|
-
},
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
// Validation messages
|
|
103
|
-
VALIDATION: {
|
|
104
|
-
REQUIRED_FIELD: {
|
|
105
|
-
code: ERROR_CODES.VALIDATION_REQUIRED_FIELD,
|
|
106
|
-
message: 'Required field is missing',
|
|
107
|
-
statusCode: 400,
|
|
108
|
-
},
|
|
109
|
-
INVALID_FORMAT: {
|
|
110
|
-
code: ERROR_CODES.VALIDATION_INVALID_FORMAT,
|
|
111
|
-
message: 'Invalid format provided',
|
|
112
|
-
statusCode: 400,
|
|
113
|
-
},
|
|
114
|
-
INVALID_LENGTH: {
|
|
115
|
-
code: ERROR_CODES.VALIDATION_INVALID_LENGTH,
|
|
116
|
-
message: 'Invalid length for field',
|
|
117
|
-
statusCode: 400,
|
|
118
|
-
},
|
|
119
|
-
INVALID_TYPE: {
|
|
120
|
-
code: ERROR_CODES.VALIDATION_INVALID_TYPE,
|
|
121
|
-
message: 'Invalid type provided',
|
|
122
|
-
statusCode: 400,
|
|
123
|
-
},
|
|
124
|
-
VALIDATION_ERROR: {
|
|
125
|
-
code: ERROR_CODES.VALIDATION_ERROR,
|
|
126
|
-
message: 'Validation failed',
|
|
127
|
-
statusCode: 400,
|
|
128
|
-
},
|
|
129
|
-
},
|
|
130
|
-
|
|
131
|
-
// Database messages
|
|
132
|
-
DATABASE: {
|
|
133
|
-
CONNECTION_ERROR: {
|
|
134
|
-
code: ERROR_CODES.DB_CONNECTION_ERROR,
|
|
135
|
-
message: 'Database connection failed',
|
|
136
|
-
statusCode: 503,
|
|
137
|
-
},
|
|
138
|
-
QUERY_ERROR: {
|
|
139
|
-
code: ERROR_CODES.DB_QUERY_ERROR,
|
|
140
|
-
message: 'Database query failed',
|
|
141
|
-
statusCode: 500,
|
|
142
|
-
},
|
|
143
|
-
CONSTRAINT_VIOLATION: {
|
|
144
|
-
code: ERROR_CODES.DB_CONSTRAINT_VIOLATION,
|
|
145
|
-
message: 'Database constraint violation',
|
|
146
|
-
statusCode: 409,
|
|
147
|
-
},
|
|
148
|
-
RECORD_NOT_FOUND: {
|
|
149
|
-
code: ERROR_CODES.DB_RECORD_NOT_FOUND,
|
|
150
|
-
message: 'Record not found',
|
|
151
|
-
statusCode: 404,
|
|
152
|
-
},
|
|
153
|
-
DUPLICATE_ENTRY: {
|
|
154
|
-
code: ERROR_CODES.DB_DUPLICATE_ENTRY,
|
|
155
|
-
message: 'Duplicate entry detected',
|
|
156
|
-
statusCode: 409,
|
|
157
|
-
},
|
|
158
|
-
},
|
|
159
|
-
|
|
160
|
-
// File upload messages
|
|
161
|
-
FILE: {
|
|
162
|
-
TOO_LARGE: {
|
|
163
|
-
code: ERROR_CODES.FILE_TOO_LARGE,
|
|
164
|
-
message: 'File size exceeds maximum limit',
|
|
165
|
-
statusCode: 413,
|
|
166
|
-
},
|
|
167
|
-
INVALID_TYPE: {
|
|
168
|
-
code: ERROR_CODES.FILE_INVALID_TYPE,
|
|
169
|
-
message: 'Invalid file type',
|
|
170
|
-
statusCode: 400,
|
|
171
|
-
},
|
|
172
|
-
UPLOAD_FAILED: {
|
|
173
|
-
code: ERROR_CODES.FILE_UPLOAD_FAILED,
|
|
174
|
-
message: 'File upload failed',
|
|
175
|
-
statusCode: 500,
|
|
176
|
-
},
|
|
177
|
-
NOT_FOUND: {
|
|
178
|
-
code: ERROR_CODES.FILE_NOT_FOUND,
|
|
179
|
-
message: 'File not found',
|
|
180
|
-
statusCode: 404,
|
|
181
|
-
},
|
|
182
|
-
},
|
|
183
|
-
|
|
184
|
-
// Rate limiting messages
|
|
185
|
-
RATE_LIMIT: {
|
|
186
|
-
EXCEEDED: {
|
|
187
|
-
code: ERROR_CODES.RATE_LIMIT_EXCEEDED,
|
|
188
|
-
message: 'Rate limit exceeded. Please try again later',
|
|
189
|
-
statusCode: 429,
|
|
190
|
-
},
|
|
191
|
-
},
|
|
192
|
-
|
|
193
|
-
// Server messages
|
|
194
|
-
SERVER: {
|
|
195
|
-
INTERNAL_ERROR: {
|
|
196
|
-
code: ERROR_CODES.INTERNAL_SERVER_ERROR,
|
|
197
|
-
message: 'Internal server error occurred',
|
|
198
|
-
statusCode: 500,
|
|
199
|
-
},
|
|
200
|
-
SERVICE_UNAVAILABLE: {
|
|
201
|
-
code: ERROR_CODES.SERVICE_UNAVAILABLE,
|
|
202
|
-
message: 'Service temporarily unavailable',
|
|
203
|
-
statusCode: 503,
|
|
204
|
-
},
|
|
205
|
-
EXTERNAL_SERVICE_ERROR: {
|
|
206
|
-
code: ERROR_CODES.EXTERNAL_SERVICE_ERROR,
|
|
207
|
-
message: 'External service error',
|
|
208
|
-
statusCode: 502,
|
|
209
|
-
},
|
|
210
|
-
GENERIC_ERROR: {
|
|
211
|
-
code: ERROR_CODES.GENERIC_ERROR,
|
|
212
|
-
message: 'An unexpected error occurred',
|
|
213
|
-
statusCode: 500,
|
|
214
|
-
},
|
|
215
|
-
ROUTE_NOT_FOUND: {
|
|
216
|
-
code: ERROR_CODES.ROUTE_NOT_FOUND,
|
|
217
|
-
message: 'Route not found',
|
|
218
|
-
statusCode: 404,
|
|
219
|
-
},
|
|
220
|
-
},
|
|
221
|
-
|
|
222
|
-
// Email service messages
|
|
223
|
-
EMAIL: {
|
|
224
|
-
SEND_FAILED: {
|
|
225
|
-
code: ERROR_CODES.EMAIL_SEND_FAILED,
|
|
226
|
-
message: 'Failed to send email',
|
|
227
|
-
statusCode: 500,
|
|
228
|
-
},
|
|
229
|
-
TEMPLATE_NOT_FOUND: {
|
|
230
|
-
code: ERROR_CODES.EMAIL_TEMPLATE_NOT_FOUND,
|
|
231
|
-
message: 'Email template not found',
|
|
232
|
-
statusCode: 404,
|
|
233
|
-
},
|
|
234
|
-
INVALID_RECIPIENT: {
|
|
235
|
-
code: ERROR_CODES.EMAIL_INVALID_RECIPIENT,
|
|
236
|
-
message: 'Invalid email recipient',
|
|
237
|
-
statusCode: 400,
|
|
238
|
-
},
|
|
239
|
-
},
|
|
240
|
-
};
|