@hed-hog/core 0.0.127 → 0.0.131

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 (46) hide show
  1. package/dist/auth/dto/login.dto.js.map +1 -1
  2. package/dist/file/file.controller.d.ts +4 -2
  3. package/dist/file/file.controller.d.ts.map +1 -1
  4. package/dist/file/file.controller.js +47 -6
  5. package/dist/file/file.controller.js.map +1 -1
  6. package/dist/file/file.module.d.ts.map +1 -1
  7. package/dist/file/file.module.js +2 -9
  8. package/dist/file/file.module.js.map +1 -1
  9. package/dist/file/file.service.d.ts +9 -3
  10. package/dist/file/file.service.d.ts.map +1 -1
  11. package/dist/file/file.service.js +35 -5
  12. package/dist/file/file.service.js.map +1 -1
  13. package/dist/file/provider/local.provider.d.ts +3 -1
  14. package/dist/file/provider/local.provider.d.ts.map +1 -1
  15. package/dist/file/provider/local.provider.js +7 -7
  16. package/dist/file/provider/local.provider.js.map +1 -1
  17. package/dist/file/provider/provider.factory.d.ts +2 -1
  18. package/dist/file/provider/provider.factory.d.ts.map +1 -1
  19. package/dist/file/provider/provider.factory.js +2 -2
  20. package/dist/file/provider/provider.factory.js.map +1 -1
  21. package/dist/file/templates/download-error.html +100 -0
  22. package/dist/user/dto/update.dto.d.ts.map +1 -1
  23. package/dist/user/dto/update.dto.js +0 -1
  24. package/dist/user/dto/update.dto.js.map +1 -1
  25. package/dist/user/user.controller.d.ts +6 -7
  26. package/dist/user/user.controller.d.ts.map +1 -1
  27. package/dist/user/user.controller.js +8 -18
  28. package/dist/user/user.controller.js.map +1 -1
  29. package/dist/user/user.service.d.ts +53 -41
  30. package/dist/user/user.service.d.ts.map +1 -1
  31. package/dist/user/user.service.js +257 -187
  32. package/dist/user/user.service.js.map +1 -1
  33. package/hedhog/data/route.yaml +6 -0
  34. package/package.json +4 -3
  35. package/src/auth/dto/login.dto.ts +1 -1
  36. package/src/file/file.controller.ts +53 -5
  37. package/src/file/file.module.ts +2 -9
  38. package/src/file/file.service.ts +43 -7
  39. package/src/file/provider/local.provider.ts +11 -4
  40. package/src/file/provider/provider.factory.ts +3 -1
  41. package/src/file/templates/download-error.html +100 -0
  42. package/src/language/en.json +14 -0
  43. package/src/language/pt.json +14 -0
  44. package/src/user/dto/update.dto.ts +1 -3
  45. package/src/user/user.controller.ts +4 -10
  46. package/src/user/user.service.ts +357 -232
@@ -20,6 +20,28 @@ const common_1 = require("@nestjs/common");
20
20
  const challenge_service_1 = require("../challenge/challenge.service");
21
21
  const file_service_1 = require("../file/file.service");
22
22
  const security_service_1 = require("../security/security.service");
23
+ // Constants
24
+ const IDENTIFIER_TYPE = {
25
+ EMAIL: 'email',
26
+ };
27
+ const CREDENTIAL_TYPE = {
28
+ PASSWORD: 'password',
29
+ };
30
+ const DEFAULT_ROLE_SLUG = 'user';
31
+ const DEFAULT_LOCALE = 'en';
32
+ const DAYS_IN_MS = 24 * 60 * 60 * 1000;
33
+ const NEW_USERS_PERIOD_DAYS = 7;
34
+ const USER_SORT_FIELDS = [
35
+ 'id',
36
+ 'name',
37
+ 'photo_id',
38
+ 'suspended_until',
39
+ 'suspended_reason',
40
+ 'deactivated_at',
41
+ 'created_at',
42
+ 'updated_at',
43
+ ];
44
+ const USER_SEARCH_FIELDS = ['name'];
23
45
  let UserService = class UserService {
24
46
  constructor(prismaService, paginationService, security, challenge, file) {
25
47
  this.prismaService = prismaService;
@@ -28,6 +50,36 @@ let UserService = class UserService {
28
50
  this.challenge = challenge;
29
51
  this.file = file;
30
52
  }
53
+ // ==========================================
54
+ // Validation Helpers
55
+ // ==========================================
56
+ async validateUserExists(locale, userId) {
57
+ const user = await this.prismaService.user.findUnique({
58
+ where: { id: userId },
59
+ });
60
+ if (!user) {
61
+ throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('userNotFound', locale, 'User not found'));
62
+ }
63
+ return user;
64
+ }
65
+ async validateRoleExists(locale, roleId) {
66
+ const role = await this.prismaService.role.findUnique({
67
+ where: { id: roleId },
68
+ });
69
+ if (!role) {
70
+ throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('roleNotFound', locale, 'Role not found'));
71
+ }
72
+ return role;
73
+ }
74
+ async validateEmailAvailable(locale, email) {
75
+ const existingUser = await this.findUserByEmail(locale, email);
76
+ if (existingUser) {
77
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('signup.emailExists', locale, 'Email already in use.'));
78
+ }
79
+ }
80
+ // ==========================================
81
+ // User Identifier Methods
82
+ // ==========================================
31
83
  async verifyIdentifier(locale, userId, identifierId) {
32
84
  const identifier = await this.prismaService.user_identifier.findFirst({
33
85
  where: {
@@ -40,159 +92,90 @@ let UserService = class UserService {
40
92
  }
41
93
  return identifier;
42
94
  }
43
- async delete(locale, { ids }) {
44
- if (!ids || ids.length === 0) {
45
- throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('userIdsRequired', locale, 'At least one User ID is required to delete users.'));
46
- }
47
- const deleteResult = await this.prismaService.user.deleteMany({
48
- where: {
49
- id: { in: ids },
50
- },
51
- });
52
- return deleteResult;
53
- }
54
- async update(locale, userId, { name }) {
55
- const user = await this.findUserById(locale, userId);
56
- const updatedUser = await this.prismaService.user.update({
57
- where: { id: user.id },
58
- data: {
59
- name: name !== null && name !== void 0 ? name : user.name,
60
- },
61
- });
62
- return updatedUser;
95
+ // ==========================================
96
+ // CRUD Operations
97
+ // ==========================================
98
+ async list(paginationParams) {
99
+ const paginate = await this.paginationService.paginatePrismaModel(this.prismaService.user, Object.assign(Object.assign({}, paginationParams), { validSortFields: USER_SORT_FIELDS, searchFields: USER_SEARCH_FIELDS, include: this.getUserIncludeClause() }));
100
+ const stats = await this.getUserStatistics();
101
+ return { paginate, stats };
63
102
  }
64
103
  async get(locale, userId) {
65
104
  return this.findUserById(locale, userId);
66
105
  }
67
- async changeAvatar(locale, userId, avatar) {
68
- const userFound = await this.prismaService.user.findUnique({
69
- where: {
70
- id: userId,
71
- },
72
- });
73
- if (!userFound) {
74
- throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('userNotFound', locale, 'User not found'));
75
- }
76
- let photo_id = userFound.photo_id;
77
- const file = await this.file.upload('user/avatar', avatar);
78
- if (userFound.photo_id > 0 && file.id > 0) {
79
- try {
80
- await this.file.delete({ ids: [userFound.photo_id] });
81
- }
82
- catch (error) {
83
- this.prismaService.file.delete({
84
- where: { id: userFound.photo_id },
85
- });
86
- console.warn('Erro ao deletar avatar antigo:', error);
87
- }
88
- }
89
- photo_id = file.id;
90
- await this.prismaService.user.update({
91
- where: { id: userId },
92
- data: {
93
- photo_id,
94
- },
95
- });
96
- return {
97
- id: file.id,
98
- path: file.path,
99
- };
100
- }
101
- async list(paginationParams) {
102
- // Campos válidos para ordenação e busca
103
- const validSortFields = [
104
- 'id',
105
- 'name',
106
- 'photo_id',
107
- 'suspended_until',
108
- 'suspended_reason',
109
- 'deactivated_at',
110
- 'created_at',
111
- 'updated_at',
112
- ];
113
- const searchFields = ['name'];
114
- const paginate = await this.paginationService.paginatePrismaModel(this.prismaService.user, Object.assign(Object.assign({}, paginationParams), { validSortFields,
115
- searchFields, include: {
116
- user_account: true,
117
- user_credential: true,
118
- user_identifier: {
119
- where: {
120
- enabled: true,
121
- }
122
- },
123
- user_mfa: {
124
- where: {
125
- verified_at: { not: null },
126
- }
127
- },
128
- user_activity: {
129
- orderBy: {
130
- created_at: 'desc',
131
- },
132
- },
133
- user_session: {
134
- where: {
135
- revoked_at: null,
136
- expires_at: {
137
- gt: new Date(),
138
- }
139
- },
140
- orderBy: {
141
- created_at: 'desc',
142
- },
143
- },
144
- } }));
145
- // Estatísticas solicitadas:
146
- // - total de usuários
147
- // - total de usuários novos nos últimos 7 dias (baseado em created_at)
148
- // - total de usuários bloqueados (baseado em suspended_until > agora)
149
- const sevenDaysAgo = new Date(Date.now() - 7 * 24 * 60 * 60 * 1000);
150
- const now = new Date();
151
- const [totalUsers, newUsersLast7Days, blockedUsers] = await this.prismaService.$transaction([
152
- this.prismaService.user.count(),
153
- this.prismaService.user.count({ where: { created_at: { gte: sevenDaysAgo } } }),
154
- this.prismaService.user.count({ where: { suspended_until: { gt: now } } }),
155
- ]);
156
- return {
157
- paginate,
158
- stats: {
159
- total: totalUsers,
160
- newLast7Days: newUsersLast7Days,
161
- blocked: blockedUsers,
162
- },
163
- };
164
- }
165
106
  async createWithEmailAndPassword(locale, { email, name, password }) {
166
- if (await this.findUserByEmail(locale, email)) {
167
- throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('signup.emailExists', locale, 'Email already in use.'));
168
- }
107
+ await this.validateEmailAvailable(locale, email);
169
108
  const passwordHash = await this.security.hashArgon2(password);
170
109
  const user = await this.prismaService.$transaction(async (tx) => {
171
- const role = await tx.role.findFirst({
172
- where: { slug: 'user' },
173
- select: { id: true },
174
- });
175
- if (!role) {
176
- throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('defaultRoleNotFound', locale, 'Default user role not found.'));
177
- }
110
+ const role = await this.getDefaultUserRole(locale, tx);
178
111
  const user = await tx.user.create({
179
112
  data: {
180
113
  name,
181
- user_identifier: { create: { type: 'email', value: email, enabled: true } },
182
- user_credential: { create: { type: 'password', hash: passwordHash } },
114
+ user_identifier: {
115
+ create: {
116
+ type: IDENTIFIER_TYPE.EMAIL,
117
+ value: email,
118
+ enabled: true,
119
+ },
120
+ },
121
+ user_credential: {
122
+ create: {
123
+ type: CREDENTIAL_TYPE.PASSWORD,
124
+ hash: passwordHash,
125
+ },
126
+ },
183
127
  role_user: {
184
128
  create: {
185
- role_id: role.id
186
- }
187
- }
129
+ role_id: role.id,
130
+ },
131
+ },
188
132
  },
189
133
  });
190
134
  return user;
191
135
  });
192
136
  const challenge = await this.challenge.verifyEmail(locale, user.id, email);
193
- await this.registerUserActivity(user.id, "register");
137
+ await this.registerUserActivity(user.id, 'register');
194
138
  return { user, challenge };
195
139
  }
140
+ async update(locale, userId, { name }) {
141
+ const user = await this.findUserById(locale, userId);
142
+ return this.prismaService.user.update({
143
+ where: { id: user.id },
144
+ data: { name: name !== null && name !== void 0 ? name : user.name },
145
+ });
146
+ }
147
+ async delete(locale, { ids }) {
148
+ this.validateDeleteIds(locale, ids);
149
+ const usersExists = await this.prismaService.user.findMany({
150
+ where: { id: { in: ids } },
151
+ select: { id: true },
152
+ });
153
+ if (usersExists.length !== ids.length) {
154
+ throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('userNotFound', locale, 'One or more users not found'));
155
+ }
156
+ return this.prismaService.user.deleteMany({
157
+ where: { id: { in: ids } },
158
+ });
159
+ }
160
+ // ==========================================
161
+ // Avatar Management
162
+ // ==========================================
163
+ async changeAvatar(locale, userId, avatar) {
164
+ const user = await this.validateUserExists(locale, userId);
165
+ const newFile = await this.file.upload('user/avatar', avatar);
166
+ await this.deleteOldAvatar(locale, user.photo_id);
167
+ await this.prismaService.user.update({
168
+ where: { id: userId },
169
+ data: { photo_id: newFile.id },
170
+ });
171
+ return {
172
+ id: newFile.id,
173
+ path: newFile.path,
174
+ };
175
+ }
176
+ // ==========================================
177
+ // User Lookup Methods
178
+ // ==========================================
196
179
  async findUserById(locale, id) {
197
180
  const user = await this.prismaService.user.findUnique({
198
181
  where: { id },
@@ -201,8 +184,8 @@ let UserService = class UserService {
201
184
  user_credential: true,
202
185
  user_activity: true,
203
186
  user_session: true,
204
- user_account: true
205
- }
187
+ user_account: true,
188
+ },
206
189
  });
207
190
  if (!user) {
208
191
  throw new common_1.NotFoundException((0, api_locale_1.getLocaleText)('userNotFound', locale, 'User not found'));
@@ -210,103 +193,190 @@ let UserService = class UserService {
210
193
  return user;
211
194
  }
212
195
  async findUserByEmail(_locale, email) {
213
- const user = await this.prismaService.user.findFirst({
196
+ return this.prismaService.user.findFirst({
214
197
  where: {
215
198
  user_identifier: {
216
199
  some: {
217
- type: 'email',
200
+ type: IDENTIFIER_TYPE.EMAIL,
218
201
  value: email.toLowerCase().trim(),
219
- enabled: true
220
- }
221
- }
202
+ enabled: true,
203
+ },
204
+ },
222
205
  },
223
206
  include: {
224
207
  user_identifier: true,
225
208
  user_credential: true,
226
- user_session: true
227
- }
209
+ user_session: true,
210
+ },
228
211
  });
229
- if (!user) {
230
- return null;
212
+ }
213
+ // ==========================================
214
+ // Role Management
215
+ // ==========================================
216
+ async getUserRoles(userId) {
217
+ const [allRoles, userRoles] = await Promise.all([
218
+ this.getAllRolesWithLocale(),
219
+ this.getUserAssignedRoles(userId),
220
+ ]);
221
+ return this.mapRolesWithAssignment(allRoles, userRoles);
222
+ }
223
+ async assignRoleToUser(locale, userId, roleId) {
224
+ await Promise.all([
225
+ this.validateUserExists(locale, userId),
226
+ this.validateRoleExists(locale, roleId),
227
+ ]);
228
+ const existingRoleUser = await this.findRoleUser(userId, roleId);
229
+ if (existingRoleUser) {
230
+ return existingRoleUser;
231
231
  }
232
- return user;
232
+ return this.prismaService.role_user.create({
233
+ data: {
234
+ user_id: userId,
235
+ role_id: roleId,
236
+ },
237
+ });
233
238
  }
239
+ async removeRoleFromUser(locale, userId, roleId) {
240
+ await Promise.all([
241
+ this.validateUserExists(locale, userId),
242
+ this.validateRoleExists(locale, roleId),
243
+ ]);
244
+ const roleUser = await this.findRoleUser(userId, roleId);
245
+ if (!roleUser) {
246
+ return { count: 0 };
247
+ }
248
+ await this.prismaService.role_user.delete({
249
+ where: { id: roleUser.id },
250
+ });
251
+ return { count: 1 };
252
+ }
253
+ // ==========================================
254
+ // Activity Tracking
255
+ // ==========================================
234
256
  async registerUserActivity(userId, action) {
235
257
  return this.prismaService.user_activity.create({
236
258
  data: {
237
259
  user_id: userId,
238
- action
260
+ action,
261
+ },
262
+ });
263
+ }
264
+ // ==========================================
265
+ // Private Helper Methods
266
+ // ==========================================
267
+ validateDeleteIds(locale, ids) {
268
+ if (!ids || ids.length === 0) {
269
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('userIdsRequired', locale, 'At least one User ID is required to delete users.'));
270
+ }
271
+ }
272
+ async deleteOldAvatar(locale, photoId) {
273
+ if (photoId > 0) {
274
+ try {
275
+ await this.file.delete(locale, { ids: [photoId] });
276
+ }
277
+ catch (error) {
278
+ // Fallback: delete directly from database if file service fails
279
+ await this.prismaService.file.delete({
280
+ where: { id: photoId },
281
+ }).catch(() => {
282
+ console.warn('Failed to delete old avatar:', error);
283
+ });
239
284
  }
285
+ }
286
+ }
287
+ async getDefaultUserRole(locale, tx) {
288
+ const role = await tx.role.findFirst({
289
+ where: { slug: DEFAULT_ROLE_SLUG },
290
+ select: { id: true },
240
291
  });
292
+ if (!role) {
293
+ throw new common_1.BadRequestException((0, api_locale_1.getLocaleText)('defaultRoleNotFound', locale, 'Default user role not found.'));
294
+ }
295
+ return role;
241
296
  }
242
- async getUserRoles(userId) {
243
- const roles = await this.prismaService.role.findMany({
297
+ getUserIncludeClause() {
298
+ return {
299
+ user_account: true,
300
+ user_credential: true,
301
+ user_identifier: {
302
+ where: { enabled: true },
303
+ },
304
+ user_mfa: {
305
+ where: { verified_at: { not: null } },
306
+ },
307
+ user_activity: {
308
+ orderBy: { created_at: 'desc' },
309
+ },
310
+ user_session: {
311
+ where: {
312
+ revoked_at: null,
313
+ expires_at: { gt: new Date() },
314
+ },
315
+ orderBy: { created_at: 'desc' },
316
+ },
317
+ };
318
+ }
319
+ async getUserStatistics() {
320
+ const sevenDaysAgo = new Date(Date.now() - NEW_USERS_PERIOD_DAYS * DAYS_IN_MS);
321
+ const now = new Date();
322
+ const [totalUsers, newUsersLast7Days, blockedUsers] = await this.prismaService.$transaction([
323
+ this.prismaService.user.count(),
324
+ this.prismaService.user.count({
325
+ where: { created_at: { gte: sevenDaysAgo } },
326
+ }),
327
+ this.prismaService.user.count({
328
+ where: { suspended_until: { gt: now } },
329
+ }),
330
+ ]);
331
+ return {
332
+ total: totalUsers,
333
+ newLast7Days: newUsersLast7Days,
334
+ blocked: blockedUsers,
335
+ };
336
+ }
337
+ async getAllRolesWithLocale() {
338
+ return this.prismaService.role.findMany({
244
339
  include: {
245
340
  role_locale: {
246
- include: {
247
- locale: true,
248
- },
341
+ include: { locale: true },
249
342
  },
250
343
  },
251
344
  });
252
- const userRoles = await this.prismaService.role_user.findMany({
345
+ }
346
+ async getUserAssignedRoles(userId) {
347
+ return this.prismaService.role_user.findMany({
253
348
  where: { user_id: userId },
254
349
  include: {
255
350
  role: {
256
351
  include: {
257
352
  role_locale: {
258
- include: {
259
- locale: true,
260
- },
353
+ include: { locale: true },
261
354
  },
262
355
  },
263
356
  },
264
357
  },
265
358
  });
266
- return roles.map((role) => {
267
- var _a, _b;
359
+ }
360
+ mapRolesWithAssignment(allRoles, userRoles) {
361
+ return allRoles.map((role) => {
268
362
  const isAssigned = userRoles.some((userRole) => userRole.role_id === role.id);
363
+ const localeData = role.role_locale.find((rl) => rl.locale.code === DEFAULT_LOCALE);
269
364
  return {
270
365
  id: role.id,
271
366
  slug: role.slug,
272
- name: ((_a = role.role_locale.find((rl) => rl.locale.code === 'en')) === null || _a === void 0 ? void 0 : _a.name) || '',
273
- description: ((_b = role.role_locale.find((rl) => rl.locale.code === 'en')) === null || _b === void 0 ? void 0 : _b.description) ||
274
- '',
367
+ name: (localeData === null || localeData === void 0 ? void 0 : localeData.name) || '',
368
+ description: (localeData === null || localeData === void 0 ? void 0 : localeData.description) || '',
275
369
  isAssigned,
276
370
  };
277
371
  });
278
372
  }
279
- async assignRoleToUser(userId, roleId) {
280
- const existingRoleUser = await this.prismaService.role_user.findFirst({
373
+ async findRoleUser(userId, roleId) {
374
+ return this.prismaService.role_user.findFirst({
281
375
  where: {
282
376
  user_id: userId,
283
377
  role_id: roleId,
284
378
  },
285
379
  });
286
- if (existingRoleUser) {
287
- return existingRoleUser;
288
- }
289
- return this.prismaService.role_user.create({
290
- data: {
291
- user_id: userId,
292
- role_id: roleId,
293
- },
294
- });
295
- }
296
- async removeRoleFromUser(userId, roleId) {
297
- const roleUser = await this.prismaService.role_user.findFirst({
298
- where: {
299
- user_id: userId,
300
- role_id: roleId,
301
- },
302
- });
303
- if (!roleUser) {
304
- return { count: 0 };
305
- }
306
- await this.prismaService.role_user.delete({
307
- where: { id: roleUser.id },
308
- });
309
- return { count: 1 };
310
380
  }
311
381
  };
312
382
  exports.UserService = UserService;
@@ -1 +1 @@
1
- {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAoD;AACpD,4DAA4D;AAC5D,oDAAoD;AACpD,2CAMwB;AACxB,sEAAkE;AAElE,uDAAmD;AACnD,mEAA+D;AAKxD,IAAM,WAAW,GAAjB,MAAM,WAAW;IACtB,YAEmB,aAA4B,EAE5B,iBAAoC,EAEpC,QAAyB,EAEzB,SAA2B,EAE3B,IAAiB;QARjB,kBAAa,GAAb,aAAa,CAAe;QAE5B,sBAAiB,GAAjB,iBAAiB,CAAmB;QAEpC,aAAQ,GAAR,QAAQ,CAAiB;QAEzB,cAAS,GAAT,SAAS,CAAkB;QAE3B,SAAI,GAAJ,IAAI,CAAa;IAChC,CAAC;IAEL,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,MAAc,EACd,YAAoB;QAGpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC;YACpE,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,MAAM,IAAI,0BAAiB,CAAC,IAAA,0BAAa,EAAC,wBAAwB,EAAE,MAAM,EAAE,oCAAoC,CAAC,CAAC,CAAC;QACrH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,EAAC,GAAG,EAAY;QAC3C,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,4BAAmB,CAAC,IAAA,0BAAa,EAAC,iBAAiB,EAAE,MAAM,EAAE,mDAAmD,CAAC,CAAC,CAAC;QAC/H,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YAC5D,KAAK,EAAE;gBACL,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE;aAChB;SACF,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM,CACV,MAAc,EACd,MAAc,EACd,EAAC,IAAI,EAAY;QAEjB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAErD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACvD,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE;YACtB,IAAI,EAAE;gBACJ,IAAI,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,IAAI,CAAC,IAAI;aACxB;SACF,CAAC,CAAC;QAEH,OAAO,WAAW,CAAC;IAErB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAc,EAAE,MAAc;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,MAAc,EAAE,MAAkB;QACnE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACzD,KAAK,EAAE;gBACL,EAAE,EAAE,MAAM;aACX;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,4BAAmB,CAAC,IAAA,0BAAa,EAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACzF,CAAC;QAED,IAAI,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,IAAI,SAAS,CAAC,QAAQ,GAAG,CAAC,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;oBAC7B,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE;iBAClC,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YACxD,CAAC;QACH,CAAC;QAED,QAAQ,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC;YACnC,KAAK,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;YACrB,IAAI,EAAE;gBACJ,QAAQ;aACT;SACF,CAAC,CAAC;QAEH,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,gBAAgB;QACzB,wCAAwC;QACxC,MAAM,eAAe,GAAG;YACtB,IAAI;YACJ,MAAM;YACN,UAAU;YACV,iBAAiB;YACjB,kBAAkB;YAClB,gBAAgB;YAChB,YAAY;YACZ,YAAY;SACb,CAAC;QACF,MAAM,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,kCACpF,gBAAgB,KACnB,eAAe;YACf,YAAY,EACZ,OAAO,EAAE;gBACP,YAAY,EAAE,IAAI;gBAClB,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE;oBACf,KAAK,EAAE;wBACL,OAAO,EAAE,IAAI;qBACd;iBACF;gBACD,QAAQ,EAAE;oBACR,KAAK,EAAE;wBACL,WAAW,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE;qBAC3B;iBACF;gBACD,aAAa,EAAE;oBACb,OAAO,EAAE;wBACP,UAAU,EAAE,MAAM;qBACnB;iBACF;gBACD,YAAY,EAAE;oBACZ,KAAK,EAAE;wBACL,UAAU,EAAE,IAAI;wBAChB,UAAU,EAAE;4BACV,EAAE,EAAE,IAAI,IAAI,EAAE;yBACf;qBACF;oBACD,OAAO,EAAE;wBACP,UAAU,EAAE,MAAM;qBACnB;iBACF;aACF,IACD,CAAC;QAEH,4BAA4B;QAC5B,sBAAsB;QACtB,uEAAuE;QACvE,sEAAsE;QACtE,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QAEvB,MAAM,CAAC,UAAU,EAAE,iBAAiB,EAAE,YAAY,CAAC,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC;YAC1F,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;YAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;YAC/E,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC;SAC3E,CAAC,CAAC;QAEH,OAAO;YACL,QAAQ;YACR,KAAK,EAAE;gBACL,KAAK,EAAE,UAAU;gBACjB,YAAY,EAAE,iBAAiB;gBAC/B,OAAO,EAAE,YAAY;aACtB;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC5B,MAAc,EACd,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAiC;QAExD,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,4BAAmB,CAAC,IAAA,0BAAa,EAAC,oBAAoB,EAAE,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;QACtG,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YAC9D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;gBACnC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE;gBACvB,MAAM,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE;aACrB,CAAC,CAAC;YAEH,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,4BAAmB,CAAC,IAAA,0BAAa,EAAC,qBAAqB,EAAE,MAAM,EAAE,8BAA8B,CAAC,CAAC,CAAC;YAC9G,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;gBAChC,IAAI,EAAE;oBACJ,IAAI;oBACJ,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;oBAC3E,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE;oBACrE,SAAS,EAAE;wBACT,MAAM,EAAE;4BACN,OAAO,EAAE,IAAI,CAAC,EAAE;yBACjB;qBACF;iBACF;aACF,CAAC,CAAC;YAEH,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3E,MAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAA;QACpD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;IAC7B,CAAC;IAEH,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,EAAU;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC;YACpD,KAAK,EAAE,EAAE,EAAE,EAAE;YACb,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;gBACrB,aAAa,EAAE,IAAI;gBACnB,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,IAAA,0BAAa,EAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;QACvF,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAAe,EAAE,KAAa;QAClD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC;YACnD,KAAK,EAAE;gBACL,eAAe,EAAE;oBACf,IAAI,EAAE;wBACJ,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;wBACjC,OAAO,EAAE,IAAI;qBACd;iBACF;aACF;YACD,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI;gBACrB,eAAe,EAAE,IAAI;gBACrB,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,MAAc,EAAE,MAAc;QACvD,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7C,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM;gBACf,MAAM;aACP;SACF,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAE/B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YACnD,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,OAAO,EAAE;wBACP,MAAM,EAAE,IAAI;qBACb;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC;YAC5D,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE;oBACJ,OAAO,EAAE;wBACP,WAAW,EAAE;4BACX,OAAO,EAAE;gCACP,MAAM,EAAE,IAAI;6BACb;yBACF;qBACF;iBACF;aACF;SACF,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;;YACxB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAC/B,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,EAAE,CAC3C,CAAC;YACF,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,0CAAE,IAAI,KAAI,EAAE;gBACxE,WAAW,EACT,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,CAAC,0CAAE,WAAW;oBACnE,EAAE;gBACJ,UAAU;aACX,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAAc,EAAE,MAAc;QACnD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC;YACpE,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;YACzC,IAAI,EAAE;gBACJ,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc,EAAE,MAAc;QACrD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,SAAS,CAAC;YAC5D,KAAK,EAAE;gBACL,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;aAChB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;QACtB,CAAC;QAED,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC;YACxC,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE;SAC3B,CAAC,CAAC;QAEH,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;IACtB,CAAC;CACF,CAAA;AAlWY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAa,CAAC,CAAC,CAAA;IAEvC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAiB,CAAC,CAAC,CAAA;IAE3C,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,kCAAe,CAAC,CAAC,CAAA;IAEzC,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,oCAAgB,CAAC,CAAC,CAAA;IAE1C,WAAA,IAAA,eAAM,EAAC,IAAA,mBAAU,EAAC,GAAG,EAAE,CAAC,0BAAW,CAAC,CAAC,CAAA;qCAPN,0BAAa;QAET,kCAAiB;QAE1B,kCAAe;QAEd,oCAAgB;QAErB,0BAAW;GAXzB,WAAW,CAkWvB"}
1
+ {"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/user/user.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,9 @@
1
+ - url: /mail/reload
2
+ method: POST
3
+ relations:
4
+ role:
5
+ - where:
6
+ slug: admin
1
7
  - url: /profile/change-email
2
8
  method: PUT
3
9
  relations:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hed-hog/core",
3
- "version": "0.0.127",
3
+ "version": "0.0.131",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "dependencies": {
@@ -31,8 +31,8 @@
31
31
  "uuid": "^11.1.0",
32
32
  "@hed-hog/api-mail": "0.0.7",
33
33
  "@hed-hog/api-pagination": "0.0.4",
34
- "@hed-hog/types": "0.0.1",
35
34
  "@hed-hog/api-locale": "0.0.10",
35
+ "@hed-hog/types": "0.0.1",
36
36
  "@hed-hog/api-prisma": "0.0.4",
37
37
  "@hed-hog/api": "0.0.3"
38
38
  },
@@ -69,7 +69,8 @@
69
69
  "lint": "eslint \"{src,apps,libs,test}/**/*.ts\"",
70
70
  "clean": "rimraf dist tsconfig.production.tsbuildinfo",
71
71
  "prebuild": "pnpm run clean && npx ts-node ../../scripts/build-dependencies.ts libraries/core",
72
- "build": "tsc --project tsconfig.production.json",
72
+ "build": "tsc --project tsconfig.production.json && pnpm run copy:templates",
73
+ "copy:templates": "node -e \"require('fs').cpSync('src/file/templates', 'dist/file/templates', {recursive: true})\"",
73
74
  "patch": "npx ts-node ../../scripts/patch.ts libraries/core",
74
75
  "prod": "pnpm run patch && pnpm run build && pnpm publish --access public --no-git-checks"
75
76
  }
@@ -5,7 +5,7 @@ import { IsEmailWithSettings } from '../../validators/is-email-with-settings.val
5
5
 
6
6
  export class LoginDTO {
7
7
  @IsNotEmpty({ message: (args) => getLocaleText('validation.currentEmailRequired', args.value) })
8
- @IsEmailWithSettings({ message: (args) => getLocaleText('validation.currentEmailInvalid', args.value) })
8
+ @IsEmailWithSettings({ message: (args) => getLocaleText('validation.currentEmailInvalid', args.value) })
9
9
  set email(value: string) {
10
10
  this._email = value?.trim().toLowerCase();
11
11
  }