lapeh 2.6.17 → 3.0.2
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/.env.example +1 -6
- package/README.md +19 -85
- package/bin/index.js +84 -180
- package/dist/lib/bootstrap.d.ts.map +1 -1
- package/dist/lib/bootstrap.js +17 -16
- package/dist/lib/core/store.d.ts +55 -0
- package/dist/lib/core/store.d.ts.map +1 -0
- package/dist/lib/core/store.js +66 -0
- package/dist/lib/middleware/error.d.ts.map +1 -1
- package/dist/lib/middleware/error.js +1 -20
- package/dist/lib/utils/validator.d.ts.map +1 -1
- package/dist/lib/utils/validator.js +3 -32
- package/dist/src/modules/Auth/auth.controller.d.ts.map +1 -1
- package/dist/src/modules/Auth/auth.controller.js +118 -105
- package/dist/src/modules/Rbac/rbac.controller.d.ts.map +1 -1
- package/dist/src/modules/Rbac/rbac.controller.js +141 -140
- package/dist/src/routes/index.d.ts.map +1 -1
- package/dist/src/routes/index.js +0 -5
- package/doc/en/CHEATSHEET.md +3 -7
- package/doc/en/CLI.md +16 -41
- package/doc/en/DEPLOYMENT.md +171 -245
- package/doc/en/GETTING_STARTED.md +1 -25
- package/doc/en/PACKAGES.md +2 -3
- package/doc/en/STRUCTURE.md +1 -11
- package/doc/en/TUTORIAL.md +61 -119
- package/doc/id/CHANGELOG.md +16 -0
- package/doc/id/CHEATSHEET.md +0 -4
- package/doc/id/CLI.md +19 -54
- package/doc/id/DEPLOYMENT.md +171 -245
- package/doc/id/GETTING_STARTED.md +91 -115
- package/doc/id/PACKAGES.md +0 -1
- package/doc/id/STRUCTURE.md +1 -11
- package/doc/id/TUTORIAL.md +51 -109
- package/gitignore.template +0 -10
- package/lib/bootstrap.ts +39 -38
- package/lib/core/store.ts +116 -0
- package/lib/middleware/error.ts +1 -21
- package/lib/utils/validator.ts +3 -39
- package/package.json +4 -18
- package/scripts/init-project.js +2 -108
- package/scripts/make-module.js +1 -12
- package/scripts/seed-json.js +158 -0
- package/src/modules/Auth/auth.controller.ts +156 -106
- package/src/modules/Rbac/rbac.controller.ts +193 -138
- package/src/routes/index.ts +0 -3
- package/src/routes/rbac.ts +42 -42
- package/storage/logs/.0337f5062fe676994d1dc340156e089444e3d6e0-audit.json +5 -10
- package/storage/logs/lapeh-2025-12-30.log +1093 -0
- package/tsconfig.build.json +1 -3
- package/tsconfig.json +0 -1
- package/lib/core/database.ts +0 -5
- package/prisma/base.prisma.template +0 -8
- package/prisma/migrations/20251225163737_init/migration.sql +0 -236
- package/prisma/migrations/20251226000329_create_pets_table/migration.sql +0 -11
- package/prisma/migrations/20251226001249_create_pets_table/migration.sql +0 -82
- package/prisma/migrations/20251226001717_restore_core_models/migration.sql +0 -236
- package/prisma/migrations/migration_lock.toml +0 -3
- package/prisma/schema.prisma +0 -197
- package/prisma/seed.ts +0 -411
- package/scripts/compile-schema.js +0 -64
- package/src/modules/Auth/auth.prisma +0 -106
- package/src/modules/Pets/pets.controller.ts +0 -238
- package/src/modules/Pets/pets.prisma +0 -9
- package/src/modules/Rbac/rbac.prisma +0 -68
- package/src/routes/pets.ts +0 -13
- package/storage/logs/lapeh-2025-12-26.log +0 -88
- package/storage/logs/lapeh-2025-12-27.log +0 -217
|
@@ -1,217 +0,0 @@
|
|
|
1
|
-
[2025-12-27 00:09:03] WARN: Validation error
|
|
2
|
-
Errors: {
|
|
3
|
-
"email": [
|
|
4
|
-
"Invalid email"
|
|
5
|
-
],
|
|
6
|
-
"password": [
|
|
7
|
-
"String must contain at least 4 character(s)"
|
|
8
|
-
]
|
|
9
|
-
}
|
|
10
|
-
Meta: {"statusCode":422}
|
|
11
|
-
[2025-12-27 00:57:03] WARN: Validation error
|
|
12
|
-
Errors: {
|
|
13
|
-
"email": [
|
|
14
|
-
"Invalid email"
|
|
15
|
-
],
|
|
16
|
-
"password": [
|
|
17
|
-
"String must contain at least 4 character(s)"
|
|
18
|
-
]
|
|
19
|
-
}
|
|
20
|
-
Meta: {"statusCode":422}
|
|
21
|
-
[2025-12-27 00:57:03] WARN: POST /api/auth/login 422 - 648ms - ::1
|
|
22
|
-
[2025-12-27 00:57:05] WARN: Validation error
|
|
23
|
-
Errors: {
|
|
24
|
-
"email": [
|
|
25
|
-
"Invalid email"
|
|
26
|
-
],
|
|
27
|
-
"password": [
|
|
28
|
-
"String must contain at least 4 character(s)"
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
Meta: {"statusCode":422}
|
|
32
|
-
[2025-12-27 00:57:05] WARN: POST /api/auth/login 422 - 9ms - ::1
|
|
33
|
-
[2025-12-27 00:57:21] INFO: POST /api/auth/login 200 - 744ms - ::1
|
|
34
|
-
[2025-12-27 00:57:23] INFO: POST /api/auth/login 200 - 146ms - ::1
|
|
35
|
-
[2025-12-27 00:57:33] WARN: Validation error
|
|
36
|
-
Errors: {
|
|
37
|
-
"email": [
|
|
38
|
-
"Invalid email"
|
|
39
|
-
]
|
|
40
|
-
}
|
|
41
|
-
Meta: {"statusCode":422}
|
|
42
|
-
[2025-12-27 00:57:33] WARN: POST /api/auth/login 422 - 7ms - ::1
|
|
43
|
-
[2025-12-27 00:57:38] INFO: POST /api/auth/login 200 - 227ms - ::1
|
|
44
|
-
[2025-12-27 00:57:44] INFO: POST /api/pets 201 - 38ms - ::1
|
|
45
|
-
[2025-12-27 05:29:45] INFO: GET /api/pets 200 - 639ms - ::1
|
|
46
|
-
[2025-12-27 05:29:47] INFO: GET /api/pets 200 - 14ms - ::1
|
|
47
|
-
[2025-12-27 05:29:49] INFO: GET /api/pets 200 - 17ms - ::1
|
|
48
|
-
[2025-12-27 05:39:12] WARN: Email not registered
|
|
49
|
-
Errors: {
|
|
50
|
-
"field": "email",
|
|
51
|
-
"message": "Email is not registered, please register first"
|
|
52
|
-
}
|
|
53
|
-
Meta: {"statusCode":401}
|
|
54
|
-
[2025-12-27 05:39:12] WARN: POST /api/auth/login 401 - 282ms - ::1
|
|
55
|
-
[2025-12-27 07:18:49] INFO: GET /api/pets 200 - 943ms - ::1
|
|
56
|
-
[2025-12-27 07:18:51] INFO: GET /api/pets 200 - 14ms - ::1
|
|
57
|
-
[2025-12-27 07:18:52] INFO: GET /api/pets 200 - 12ms - ::1
|
|
58
|
-
[2025-12-27 07:18:53] INFO: GET /api/pets 200 - 16ms - ::1
|
|
59
|
-
[2025-12-27 07:18:54] INFO: GET /api/pets 200 - 14ms - ::1
|
|
60
|
-
[2025-12-27 07:18:55] INFO: GET /api/pets 200 - 17ms - ::1
|
|
61
|
-
[2025-12-27 07:18:56] INFO: GET /api/pets 200 - 17ms - ::1
|
|
62
|
-
[2025-12-27 07:18:59] INFO: POST /api/auth/login 200 - 192ms - ::1
|
|
63
|
-
[2025-12-27 07:19:01] INFO: POST /api/auth/login 200 - 174ms - ::1
|
|
64
|
-
[2025-12-27 07:19:02] INFO: POST /api/auth/login 200 - 170ms - ::1
|
|
65
|
-
[2025-12-27 07:21:10] INFO: GET /api/pets 200 - 310ms - ::1
|
|
66
|
-
[2025-12-27 07:21:12] INFO: GET /api/pets 200 - 15ms - ::1
|
|
67
|
-
[2025-12-27 07:21:21] INFO: GET /api/pets 200 - 13ms - ::1
|
|
68
|
-
[2025-12-27 07:21:21] INFO: GET /api/pets 200 - 15ms - ::1
|
|
69
|
-
[2025-12-27 07:21:22] INFO: GET /api/pets 200 - 19ms - ::1
|
|
70
|
-
[2025-12-27 07:21:23] INFO: GET /api/pets 200 - 18ms - ::1
|
|
71
|
-
[2025-12-27 07:21:24] INFO: GET /api/pets 200 - 16ms - ::1
|
|
72
|
-
[2025-12-27 07:21:25] INFO: GET /api/pets 200 - 11ms - ::1
|
|
73
|
-
[2025-12-27 07:24:00] INFO: GET /api/pets 200 - 274ms - ::1
|
|
74
|
-
[2025-12-27 07:24:08] INFO: GET /api/pets 200 - 23ms - ::1
|
|
75
|
-
[2025-12-27 07:24:09] INFO: GET /api/pets 200 - 13ms - ::1
|
|
76
|
-
[2025-12-27 07:24:10] INFO: GET /api/pets 200 - 19ms - ::1
|
|
77
|
-
[2025-12-27 07:24:10] INFO: GET /api/pets 200 - 22ms - ::1
|
|
78
|
-
[2025-12-27 07:24:11] INFO: GET /api/pets 200 - 18ms - ::1
|
|
79
|
-
[2025-12-27 07:24:12] INFO: GET /api/pets 200 - 16ms - ::1
|
|
80
|
-
[2025-12-27 07:26:19] INFO: GET /api/pets 200 - 229ms - ::1
|
|
81
|
-
[2025-12-27 07:48:20] INFO: GET /api/pets 200 - 253ms - ::1
|
|
82
|
-
[2025-12-27 07:48:22] INFO: GET /api/pets 200 - 16ms - ::1
|
|
83
|
-
[2025-12-27 07:48:23] INFO: GET /api/pets 200 - 24ms - ::1
|
|
84
|
-
[2025-12-27 07:48:24] INFO: GET /api/pets 200 - 15ms - ::1
|
|
85
|
-
[2025-12-27 07:48:25] INFO: GET /api/pets 200 - 18ms - ::1
|
|
86
|
-
[2025-12-27 07:48:26] INFO: GET /api/pets 200 - 14ms - ::1
|
|
87
|
-
[2025-12-27 07:48:30] INFO: POST /api/auth/login 200 - 178ms - ::1
|
|
88
|
-
[2025-12-27 07:48:31] INFO: POST /api/auth/login 200 - 161ms - ::1
|
|
89
|
-
[2025-12-27 07:48:32] INFO: POST /api/auth/login 200 - 169ms - ::1
|
|
90
|
-
[2025-12-27 07:48:33] INFO: POST /api/auth/login 200 - 152ms - ::1
|
|
91
|
-
[2025-12-27 07:48:35] INFO: POST /api/auth/login 200 - 165ms - ::1
|
|
92
|
-
[2025-12-27 07:48:36] INFO: POST /api/auth/login 200 - 137ms - ::1
|
|
93
|
-
[2025-12-27 07:48:37] INFO: POST /api/auth/login 200 - 174ms - ::1
|
|
94
|
-
[2025-12-27 07:48:38] INFO: POST /api/auth/login 200 - 157ms - ::1
|
|
95
|
-
[2025-12-27 07:48:40] INFO: POST /api/auth/login 200 - 218ms - ::1
|
|
96
|
-
[2025-12-27 07:48:41] INFO: POST /api/auth/login 200 - 162ms - ::1
|
|
97
|
-
[2025-12-27 07:48:42] INFO: POST /api/auth/login 200 - 149ms - ::1
|
|
98
|
-
[2025-12-27 07:48:49] INFO: GET /api/auth/me 200 - 20ms - ::1
|
|
99
|
-
[2025-12-27 07:48:52] INFO: GET /api/auth/me 200 - 16ms - ::1
|
|
100
|
-
[2025-12-27 07:48:52] INFO: GET /api/auth/me 200 - 22ms - ::1
|
|
101
|
-
[2025-12-27 07:48:53] INFO: GET /api/auth/me 200 - 23ms - ::1
|
|
102
|
-
[2025-12-27 07:48:58] INFO: GET /api/pets 200 - 58ms - ::1
|
|
103
|
-
[2025-12-27 07:48:59] INFO: GET /api/pets 200 - 19ms - ::1
|
|
104
|
-
[2025-12-27 09:12:25] INFO: POST /api/auth/register 200 - 386ms - ::1
|
|
105
|
-
[2025-12-27 09:12:25] INFO: POST /api/auth/login 200 - 77ms - ::1
|
|
106
|
-
[2025-12-27 09:12:25] WARN: Unauthorized
|
|
107
|
-
Meta: {"statusCode":401}
|
|
108
|
-
[2025-12-27 09:12:25] WARN: POST /api/rbac/roles 401 - 2ms - ::1
|
|
109
|
-
[2025-12-27 09:13:27] INFO: POST /api/auth/login 200 - 111ms - ::1
|
|
110
|
-
[2025-12-27 09:13:27] WARN: Validation error
|
|
111
|
-
Errors: {
|
|
112
|
-
"email": [
|
|
113
|
-
"The email has already been taken."
|
|
114
|
-
]
|
|
115
|
-
}
|
|
116
|
-
Meta: {"statusCode":422}
|
|
117
|
-
[2025-12-27 09:13:27] WARN: POST /api/auth/register 422 - 4ms - ::1
|
|
118
|
-
[2025-12-27 09:13:27] INFO: POST /api/auth/login 200 - 67ms - ::1
|
|
119
|
-
[2025-12-27 09:13:27] INFO: GET /api/auth/me 200 - 7ms - ::1
|
|
120
|
-
[2025-12-27 09:13:28] INFO: POST /api/auth/login 200 - 64ms - ::1
|
|
121
|
-
[2025-12-27 09:13:28] WARN: Unauthorized
|
|
122
|
-
Meta: {"statusCode":401}
|
|
123
|
-
[2025-12-27 09:13:28] WARN: POST /api/rbac/roles 401 - 2ms - ::1
|
|
124
|
-
[2025-12-27 09:15:38] INFO: POST /api/auth/login 200 - 220ms - ::1
|
|
125
|
-
[2025-12-27 09:15:38] WARN: Validation error
|
|
126
|
-
Errors: {
|
|
127
|
-
"email": [
|
|
128
|
-
"The email has already been taken."
|
|
129
|
-
]
|
|
130
|
-
}
|
|
131
|
-
Meta: {"statusCode":422}
|
|
132
|
-
[2025-12-27 09:15:38] WARN: POST /api/auth/register 422 - 8ms - ::1
|
|
133
|
-
[2025-12-27 09:15:38] INFO: POST /api/auth/login 200 - 70ms - ::1
|
|
134
|
-
[2025-12-27 09:15:38] INFO: GET /api/auth/me 200 - 7ms - ::1
|
|
135
|
-
[2025-12-27 09:15:38] INFO: POST /api/auth/login 200 - 64ms - ::1
|
|
136
|
-
[2025-12-27 09:15:38] WARN: Unauthorized
|
|
137
|
-
Meta: {"statusCode":401}
|
|
138
|
-
[2025-12-27 09:15:38] WARN: POST /api/rbac/roles 401 - 4ms - ::1
|
|
139
|
-
[2025-12-27 09:16:41] INFO: POST /api/auth/login 200 - 342ms - ::1
|
|
140
|
-
[2025-12-27 09:16:41] WARN: Validation error
|
|
141
|
-
Errors: {
|
|
142
|
-
"email": [
|
|
143
|
-
"The email has already been taken."
|
|
144
|
-
]
|
|
145
|
-
}
|
|
146
|
-
Meta: {"statusCode":422}
|
|
147
|
-
[2025-12-27 09:16:41] WARN: POST /api/auth/register 422 - 7ms - ::1
|
|
148
|
-
[2025-12-27 09:16:41] INFO: POST /api/auth/login 200 - 70ms - ::1
|
|
149
|
-
[2025-12-27 09:16:41] INFO: GET /api/auth/me 200 - 7ms - ::1
|
|
150
|
-
[2025-12-27 09:16:41] INFO: POST /api/auth/login 200 - 64ms - ::1
|
|
151
|
-
[2025-12-27 09:16:41] INFO: POST /api/rbac/roles 201 - 10ms - ::1
|
|
152
|
-
[2025-12-27 09:16:41] INFO: POST /api/rbac/permissions 201 - 7ms - ::1
|
|
153
|
-
[2025-12-27 09:16:41] WARN: POST /api/rbac/assign-permission-role 404 - 4ms - ::1
|
|
154
|
-
[2025-12-27 09:16:41] WARN: POST /api/rbac/assign-role-user 404 - 3ms - ::1
|
|
155
|
-
[2025-12-27 09:16:41] INFO: GET /api/auth/me 200 - 5ms - ::1
|
|
156
|
-
[2025-12-27 09:16:41] INFO: DELETE /api/rbac/roles/4 200 - 16ms - ::1
|
|
157
|
-
[2025-12-27 09:16:41] INFO: DELETE /api/rbac/permissions/15 200 - 9ms - ::1
|
|
158
|
-
[2025-12-27 09:17:22] INFO: POST /api/auth/login 200 - 130ms - ::1
|
|
159
|
-
[2025-12-27 09:17:22] WARN: Validation error
|
|
160
|
-
Errors: {
|
|
161
|
-
"email": [
|
|
162
|
-
"The email has already been taken."
|
|
163
|
-
]
|
|
164
|
-
}
|
|
165
|
-
Meta: {"statusCode":422}
|
|
166
|
-
[2025-12-27 09:17:22] WARN: POST /api/auth/register 422 - 4ms - ::1
|
|
167
|
-
[2025-12-27 09:17:22] INFO: POST /api/auth/login 200 - 68ms - ::1
|
|
168
|
-
[2025-12-27 09:17:22] INFO: GET /api/auth/me 200 - 5ms - ::1
|
|
169
|
-
[2025-12-27 09:17:22] INFO: POST /api/auth/login 200 - 70ms - ::1
|
|
170
|
-
[2025-12-27 09:17:22] INFO: POST /api/rbac/roles 201 - 7ms - ::1
|
|
171
|
-
[2025-12-27 09:17:22] INFO: POST /api/rbac/permissions 201 - 6ms - ::1
|
|
172
|
-
[2025-12-27 09:17:22] INFO: POST /api/rbac/roles/assign-permission 200 - 14ms - ::1
|
|
173
|
-
[2025-12-27 09:17:22] INFO: POST /api/rbac/users/assign-role 200 - 9ms - ::1
|
|
174
|
-
[2025-12-27 09:17:22] INFO: GET /api/auth/me 200 - 5ms - ::1
|
|
175
|
-
[2025-12-27 09:17:22] INFO: DELETE /api/rbac/roles/5 200 - 6ms - ::1
|
|
176
|
-
[2025-12-27 09:17:22] INFO: DELETE /api/rbac/permissions/16 200 - 6ms - ::1
|
|
177
|
-
[2025-12-27 09:20:59] INFO: POST /api/auth/login 200 - 234ms - ::1
|
|
178
|
-
[2025-12-27 09:20:59] WARN: Validation error
|
|
179
|
-
Errors: {
|
|
180
|
-
"email": [
|
|
181
|
-
"The email has already been taken."
|
|
182
|
-
]
|
|
183
|
-
}
|
|
184
|
-
Meta: {"statusCode":422}
|
|
185
|
-
[2025-12-27 09:20:59] WARN: POST /api/auth/register 422 - 8ms - ::1
|
|
186
|
-
[2025-12-27 09:21:00] INFO: POST /api/auth/login 200 - 68ms - ::1
|
|
187
|
-
[2025-12-27 09:21:00] INFO: GET /api/auth/me 200 - 8ms - ::1
|
|
188
|
-
[2025-12-27 09:21:00] INFO: POST /api/auth/login 200 - 73ms - ::1
|
|
189
|
-
[2025-12-27 09:21:00] INFO: POST /api/rbac/roles 201 - 12ms - ::1
|
|
190
|
-
[2025-12-27 09:21:00] INFO: POST /api/rbac/permissions 201 - 10ms - ::1
|
|
191
|
-
[2025-12-27 09:21:00] INFO: POST /api/rbac/roles/assign-permission 200 - 21ms - ::1
|
|
192
|
-
[2025-12-27 09:21:00] INFO: POST /api/rbac/users/assign-role 200 - 9ms - ::1
|
|
193
|
-
[2025-12-27 09:21:00] INFO: GET /api/auth/me 200 - 7ms - ::1
|
|
194
|
-
[2025-12-27 09:21:00] INFO: DELETE /api/rbac/roles/6 200 - 7ms - ::1
|
|
195
|
-
[2025-12-27 09:21:00] INFO: DELETE /api/rbac/permissions/17 200 - 10ms - ::1
|
|
196
|
-
[2025-12-27 09:25:15] INFO: POST /api/auth/login 200 - 253ms - ::1
|
|
197
|
-
[2025-12-27 09:25:15] WARN: Validation error
|
|
198
|
-
Errors: {
|
|
199
|
-
"email": [
|
|
200
|
-
"The email has already been taken."
|
|
201
|
-
]
|
|
202
|
-
}
|
|
203
|
-
Meta: {"statusCode":422}
|
|
204
|
-
[2025-12-27 09:25:15] WARN: POST /api/auth/register 422 - 9ms - ::1
|
|
205
|
-
[2025-12-27 09:25:15] INFO: POST /api/auth/login 200 - 66ms - ::1
|
|
206
|
-
[2025-12-27 09:25:15] INFO: GET /api/auth/me 200 - 8ms - ::1
|
|
207
|
-
[2025-12-27 09:25:15] INFO: POST /api/auth/login 200 - 67ms - ::1
|
|
208
|
-
[2025-12-27 09:25:15] INFO: POST /api/rbac/roles 201 - 12ms - ::1
|
|
209
|
-
[2025-12-27 09:25:15] INFO: POST /api/rbac/permissions 201 - 12ms - ::1
|
|
210
|
-
[2025-12-27 09:25:15] INFO: POST /api/rbac/roles/assign-permission 200 - 24ms - ::1
|
|
211
|
-
[2025-12-27 09:25:15] INFO: POST /api/rbac/users/assign-role 200 - 10ms - ::1
|
|
212
|
-
[2025-12-27 09:25:15] INFO: GET /api/auth/me 200 - 7ms - ::1
|
|
213
|
-
[2025-12-27 09:25:15] INFO: DELETE /api/rbac/roles/7 200 - 14ms - ::1
|
|
214
|
-
[2025-12-27 09:25:15] INFO: DELETE /api/rbac/permissions/18 200 - 10ms - ::1
|
|
215
|
-
[2025-12-27 09:29:29] INFO: GET /api/pets 200 - 129ms - ::1
|
|
216
|
-
[2025-12-27 09:29:32] INFO: GET /api/pets 200 - 16ms - ::1
|
|
217
|
-
[2025-12-27 09:29:33] INFO: GET /api/pets 200 - 19ms - ::1
|