@ciscode/authentication-kit 1.1.6 → 1.2.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.
Files changed (92) hide show
  1. package/README.md +465 -120
  2. package/dist/auth-kit.module.d.ts +6 -4
  3. package/dist/auth-kit.module.js +64 -13
  4. package/dist/config/passport.config.d.ts +2 -1
  5. package/dist/config/passport.config.js +64 -241
  6. package/dist/controllers/auth.controller.d.ts +35 -19
  7. package/dist/controllers/auth.controller.js +155 -488
  8. package/dist/controllers/permissions.controller.d.ts +10 -5
  9. package/dist/controllers/permissions.controller.js +40 -76
  10. package/dist/controllers/roles.controller.d.ts +11 -5
  11. package/dist/controllers/roles.controller.js +49 -66
  12. package/dist/controllers/users.controller.d.ts +15 -7
  13. package/dist/controllers/users.controller.js +52 -227
  14. package/dist/dtos/auth/forgot-password.dto.d.ts +3 -0
  15. package/dist/dtos/auth/forgot-password.dto.js +20 -0
  16. package/dist/dtos/auth/login.dto.d.ts +4 -0
  17. package/dist/dtos/auth/login.dto.js +24 -0
  18. package/dist/dtos/auth/refresh-token.dto.d.ts +3 -0
  19. package/dist/dtos/auth/refresh-token.dto.js +21 -0
  20. package/dist/dtos/auth/register.dto.d.ts +15 -0
  21. package/dist/dtos/auth/register.dto.js +67 -0
  22. package/dist/dtos/auth/resend-verification.dto.d.ts +3 -0
  23. package/dist/dtos/auth/resend-verification.dto.js +20 -0
  24. package/dist/dtos/auth/reset-password.dto.d.ts +4 -0
  25. package/dist/dtos/auth/reset-password.dto.js +25 -0
  26. package/dist/dtos/auth/update-user-role.dto.d.ts +3 -0
  27. package/dist/dtos/auth/update-user-role.dto.js +21 -0
  28. package/dist/dtos/auth/verify-email.dto.d.ts +3 -0
  29. package/dist/dtos/auth/verify-email.dto.js +20 -0
  30. package/dist/dtos/permission/create-permission.dto.d.ts +4 -0
  31. package/dist/dtos/permission/create-permission.dto.js +25 -0
  32. package/dist/dtos/permission/update-permission.dto.d.ts +4 -0
  33. package/dist/dtos/permission/update-permission.dto.js +26 -0
  34. package/dist/dtos/role/create-role.dto.d.ts +4 -0
  35. package/dist/dtos/role/create-role.dto.js +26 -0
  36. package/dist/dtos/role/update-role.dto.d.ts +7 -0
  37. package/dist/dtos/role/update-role.dto.js +35 -0
  38. package/dist/index.d.ts +5 -2
  39. package/dist/index.js +11 -5
  40. package/dist/middleware/admin.decorator.d.ts +1 -0
  41. package/dist/middleware/admin.decorator.js +8 -0
  42. package/dist/middleware/admin.guard.d.ts +7 -0
  43. package/dist/middleware/admin.guard.js +35 -0
  44. package/dist/middleware/authenticate.guard.d.ts +5 -1
  45. package/dist/middleware/authenticate.guard.js +35 -8
  46. package/dist/middleware/role.guard.d.ts +4 -0
  47. package/dist/middleware/role.guard.js +29 -0
  48. package/dist/models/permission.model.d.ts +8 -16
  49. package/dist/models/permission.model.js +25 -14
  50. package/dist/models/role.model.d.ts +9 -28
  51. package/dist/models/role.model.js +26 -14
  52. package/dist/models/user.model.d.ts +22 -62
  53. package/dist/models/user.model.js +90 -41
  54. package/dist/repositories/permission.repository.d.ts +34 -0
  55. package/dist/repositories/permission.repository.js +47 -0
  56. package/dist/repositories/role.repository.d.ts +39 -0
  57. package/dist/repositories/role.repository.js +50 -0
  58. package/dist/repositories/user.repository.d.ts +57 -0
  59. package/dist/repositories/user.repository.js +71 -0
  60. package/dist/services/admin-role.service.d.ts +7 -0
  61. package/dist/services/admin-role.service.js +33 -0
  62. package/dist/services/auth.service.d.ts +49 -0
  63. package/dist/services/auth.service.js +226 -0
  64. package/dist/services/mail.service.d.ts +5 -0
  65. package/dist/services/mail.service.js +39 -0
  66. package/dist/services/oauth.service.d.ts +32 -0
  67. package/dist/services/oauth.service.js +138 -0
  68. package/dist/services/permissions.service.d.ts +19 -0
  69. package/dist/services/permissions.service.js +44 -0
  70. package/dist/services/roles.service.d.ts +23 -0
  71. package/dist/services/roles.service.js +57 -0
  72. package/dist/services/seed.service.d.ts +11 -0
  73. package/dist/services/seed.service.js +50 -0
  74. package/dist/services/users.service.d.ts +30 -0
  75. package/dist/services/users.service.js +88 -0
  76. package/dist/utils/helper.d.ts +1 -0
  77. package/dist/utils/helper.js +4 -0
  78. package/package.json +31 -21
  79. package/dist/config/db.config.d.ts +0 -1
  80. package/dist/config/db.config.js +0 -22
  81. package/dist/controllers/admin.controller.d.ts +0 -4
  82. package/dist/controllers/admin.controller.js +0 -59
  83. package/dist/controllers/password-reset.controller.d.ts +0 -8
  84. package/dist/controllers/password-reset.controller.js +0 -146
  85. package/dist/middleware/auth.guard.d.ts +0 -4
  86. package/dist/middleware/auth.guard.js +0 -39
  87. package/dist/middleware/permission.guard.d.ts +0 -4
  88. package/dist/middleware/permission.guard.js +0 -52
  89. package/dist/models/client.model.d.ts +0 -54
  90. package/dist/models/client.model.js +0 -37
  91. package/dist/models/tenant.model.d.ts +0 -19
  92. package/dist/models/tenant.model.js +0 -15
@@ -11,269 +11,94 @@ var __metadata = (this && this.__metadata) || function (k, v) {
11
11
  var __param = (this && this.__param) || function (paramIndex, decorator) {
12
12
  return function (target, key) { decorator(target, key, paramIndex); }
13
13
  };
14
- var __importDefault = (this && this.__importDefault) || function (mod) {
15
- return (mod && mod.__esModule) ? mod : { "default": mod };
16
- };
17
14
  Object.defineProperty(exports, "__esModule", { value: true });
18
15
  exports.UsersController = void 0;
19
16
  const common_1 = require("@nestjs/common");
20
- const user_model_1 = __importDefault(require("../models/user.model"));
21
- const nodemailer_1 = __importDefault(require("nodemailer"));
22
- const bcryptjs_1 = __importDefault(require("bcryptjs"));
23
- const node_crypto_1 = require("node:crypto");
24
- const authenticate_guard_1 = require("../middleware/authenticate.guard");
17
+ const users_service_1 = require("../services/users.service");
18
+ const register_dto_1 = require("../dtos/auth/register.dto");
19
+ const admin_decorator_1 = require("../middleware/admin.decorator");
20
+ const update_user_role_dto_1 = require("../dtos/auth/update-user-role.dto");
25
21
  let UsersController = class UsersController {
26
- async createUser(req, res) {
27
- try {
28
- const { email, password, name, microsoftId, roles, jobTitle, company } = req.body;
29
- if (!email) {
30
- return res.status(400).json({ message: 'Email is required.' });
31
- }
32
- if (!microsoftId && !password) {
33
- return res.status(400).json({ message: 'Password is required for local login.' });
34
- }
35
- const existingUser = await user_model_1.default.findOne({ email });
36
- if (existingUser) {
37
- return res.status(400).json({ message: 'User with this email already exists.' });
38
- }
39
- const salt = await bcryptjs_1.default.genSalt(10);
40
- const hashedPassword = password ? await bcryptjs_1.default.hash(password, salt) : undefined;
41
- const status = 'pending';
42
- const tokenExpiryHours = parseFloat(process.env.EMAIL_TOKEN_EXPIRATION_HOURS || '0') || 24;
43
- const tokenExpiration = Date.now() + tokenExpiryHours * 60 * 60 * 1000;
44
- const confirmationToken = (0, node_crypto_1.randomBytes)(20).toString('hex');
45
- const newUser = new user_model_1.default({
46
- email,
47
- password: hashedPassword,
48
- name,
49
- microsoftId,
50
- roles,
51
- jobTitle,
52
- company,
53
- status,
54
- resetPasswordToken: confirmationToken,
55
- resetPasswordExpires: tokenExpiration
56
- });
57
- await newUser.save();
58
- const transporter = nodemailer_1.default.createTransport({
59
- host: process.env.SMTP_HOST,
60
- port: parseInt(process.env.SMTP_PORT, 10),
61
- secure: process.env.SMTP_SECURE === 'true',
62
- auth: {
63
- user: process.env.SMTP_USER,
64
- pass: process.env.SMTP_PASS
65
- }
66
- });
67
- const confirmationUrl = `${process.env.FRONTEND_URL}/confirm-email?token=${confirmationToken}&email=${encodeURIComponent(email)}`;
68
- const mailOptions = {
69
- from: process.env.FROM_EMAIL,
70
- to: email,
71
- subject: 'Confirm Your Email Address',
72
- text: `Hello,
73
-
74
- Thank you for registering. Please confirm your account by clicking the link below:
75
-
76
- ${confirmationUrl}
77
-
78
- This link will expire in ${tokenExpiryHours} hour(s).
79
-
80
- If you did not initiate this registration, please ignore this email.
81
-
82
- Thank you.`
83
- };
84
- await transporter.sendMail(mailOptions);
85
- return res.status(201).json({ message: 'User created and confirmation email sent successfully.', user: newUser });
86
- }
87
- catch (error) {
88
- console.error('Error creating user:', error);
89
- return res.status(500).json({ message: 'Server error', error: error.message });
90
- }
22
+ constructor(users) {
23
+ this.users = users;
24
+ }
25
+ async create(dto, res) {
26
+ const result = await this.users.create(dto);
27
+ return res.status(201).json(result);
91
28
  }
92
- async updateUser(req, res) {
93
- try {
94
- const userId = req.params.id;
95
- if (req.body.password) {
96
- const salt = await bcryptjs_1.default.genSalt(10);
97
- req.body.password = await bcryptjs_1.default.hash(req.body.password, salt);
98
- }
99
- const updatedUser = await user_model_1.default.findByIdAndUpdate(userId, req.body, { new: true });
100
- if (!updatedUser) {
101
- return res.status(404).json({ message: 'User not found.' });
102
- }
103
- return res.status(200).json(updatedUser);
104
- }
105
- catch (error) {
106
- console.error('Error updating user:', error);
107
- return res.status(500).json({ message: 'Server error', error: error.message });
108
- }
29
+ async list(query, res) {
30
+ const result = await this.users.list(query);
31
+ return res.status(200).json(result);
109
32
  }
110
- async deleteUser(req, res) {
111
- try {
112
- const userId = req.params.id;
113
- const deletedUser = await user_model_1.default.findByIdAndDelete(userId);
114
- if (!deletedUser) {
115
- return res.status(404).json({ message: 'User not found.' });
116
- }
117
- return res.status(200).json({ message: 'User deleted successfully.' });
118
- }
119
- catch (error) {
120
- console.error('Error deleting user:', error);
121
- return res.status(500).json({ message: 'Server error', error: error.message });
122
- }
33
+ async ban(id, res) {
34
+ const result = await this.users.setBan(id, true);
35
+ return res.status(200).json(result);
123
36
  }
124
- async createUserInvitation(req, res) {
125
- try {
126
- const { email, name } = req.body;
127
- if (!email) {
128
- return res.status(400).json({ message: 'Email is required.' });
129
- }
130
- const existingUser = await user_model_1.default.findOne({ email });
131
- if (existingUser) {
132
- return res.status(400).json({ message: 'User with this email already exists.' });
133
- }
134
- const token = (0, node_crypto_1.randomBytes)(20).toString('hex');
135
- const tokenExpiration = Date.now() + 24 * 60 * 60 * 1000;
136
- const newUser = new user_model_1.default({
137
- email,
138
- name,
139
- resetPasswordToken: token,
140
- resetPasswordExpires: tokenExpiration
141
- });
142
- await newUser.save();
143
- const transporter = nodemailer_1.default.createTransport({
144
- host: process.env.SMTP_HOST,
145
- port: parseInt(process.env.SMTP_PORT, 10),
146
- secure: process.env.SMTP_SECURE === 'true',
147
- auth: {
148
- user: process.env.SMTP_USER,
149
- pass: process.env.SMTP_PASS
150
- }
151
- });
152
- const invitationUrl = `${process.env.FRONTEND_URL}/set-password?token=${token}&email=${encodeURIComponent(email)}`;
153
- const mailOptions = {
154
- from: process.env.FROM_EMAIL,
155
- to: email,
156
- subject: "You're invited: Set up your password",
157
- text: `Hello,
158
-
159
- You have been invited to join our platform. Please click on the link below to set your password and complete your registration:
160
-
161
- ${invitationUrl}
162
-
163
- This link will expire in 24 hours. If you did not request this or believe it to be in error, please ignore this email.
164
-
165
- Thank you!`
166
- };
167
- await transporter.sendMail(mailOptions);
168
- return res.status(201).json({ message: 'Invitation sent successfully. Please check your email.' });
169
- }
170
- catch (error) {
171
- console.error('Error in createUserInvitation:', error);
172
- return res.status(500).json({ message: 'Server error', error: error.message });
173
- }
37
+ async unban(id, res) {
38
+ const result = await this.users.setBan(id, false);
39
+ return res.status(200).json(result);
174
40
  }
175
- async getAllUsers(req, res) {
176
- try {
177
- const filter = {};
178
- if (req.query.email)
179
- filter.email = req.query.email;
180
- const page = Math.max(parseInt(req.query.page, 10) || 1, 1);
181
- const limit = Math.min(parseInt(req.query.limit, 10) || 20, 100);
182
- const skip = (page - 1) * limit;
183
- const [totalItems, users] = await Promise.all([
184
- user_model_1.default.countDocuments(filter),
185
- user_model_1.default.find(filter)
186
- .populate({ path: 'roles', select: '-__v' })
187
- .skip(skip)
188
- .limit(limit)
189
- .lean()
190
- ]);
191
- return res.status(200).json({
192
- data: users,
193
- pagination: {
194
- totalItems,
195
- limit,
196
- totalPages: Math.ceil(totalItems / limit) || 1,
197
- currentPage: page,
198
- hasNextPage: page * limit < totalItems,
199
- hasPrevPage: page > 1
200
- }
201
- });
202
- }
203
- catch (error) {
204
- console.error('Error fetching users:', error);
205
- return res.status(500).json({ message: 'Server error', error: error.message });
206
- }
41
+ async delete(id, res) {
42
+ const result = await this.users.delete(id);
43
+ return res.status(200).json(result);
207
44
  }
208
- async getMe(req, res) {
209
- var _a;
210
- try {
211
- const userId = (_a = req.user) === null || _a === void 0 ? void 0 : _a.id;
212
- if (!userId) {
213
- return res.status(401).json({ message: 'Unauthorized' });
214
- }
215
- const user = await user_model_1.default.findById(userId).select('-password -resetPasswordToken -resetPasswordExpires -refreshToken -__v');
216
- if (!user) {
217
- return res.status(404).json({ message: 'User not found.' });
218
- }
219
- return res.status(200).json(user);
220
- }
221
- catch (error) {
222
- console.error('Error fetching current user:', error);
223
- return res.status(500).json({ message: 'Server error', error: error.message });
224
- }
45
+ async updateRoles(id, dto, res) {
46
+ const result = await this.users.updateRoles(id, dto.roles);
47
+ return res.status(200).json(result);
225
48
  }
226
49
  };
227
50
  exports.UsersController = UsersController;
228
51
  __decorate([
229
52
  (0, common_1.Post)(),
230
- __param(0, (0, common_1.Req)()),
53
+ __param(0, (0, common_1.Body)()),
231
54
  __param(1, (0, common_1.Res)()),
232
55
  __metadata("design:type", Function),
233
- __metadata("design:paramtypes", [Object, Object]),
56
+ __metadata("design:paramtypes", [register_dto_1.RegisterDto, Object]),
234
57
  __metadata("design:returntype", Promise)
235
- ], UsersController.prototype, "createUser", null);
58
+ ], UsersController.prototype, "create", null);
236
59
  __decorate([
237
- (0, common_1.Put)(':id'),
238
- __param(0, (0, common_1.Req)()),
60
+ (0, common_1.Get)(),
61
+ __param(0, (0, common_1.Query)()),
239
62
  __param(1, (0, common_1.Res)()),
240
63
  __metadata("design:type", Function),
241
64
  __metadata("design:paramtypes", [Object, Object]),
242
65
  __metadata("design:returntype", Promise)
243
- ], UsersController.prototype, "updateUser", null);
66
+ ], UsersController.prototype, "list", null);
244
67
  __decorate([
245
- (0, common_1.Delete)(':id'),
246
- __param(0, (0, common_1.Req)()),
68
+ (0, common_1.Patch)(':id/ban'),
69
+ __param(0, (0, common_1.Param)('id')),
247
70
  __param(1, (0, common_1.Res)()),
248
71
  __metadata("design:type", Function),
249
- __metadata("design:paramtypes", [Object, Object]),
72
+ __metadata("design:paramtypes", [String, Object]),
250
73
  __metadata("design:returntype", Promise)
251
- ], UsersController.prototype, "deleteUser", null);
74
+ ], UsersController.prototype, "ban", null);
252
75
  __decorate([
253
- (0, common_1.Post)('invite'),
254
- __param(0, (0, common_1.Req)()),
76
+ (0, common_1.Patch)(':id/unban'),
77
+ __param(0, (0, common_1.Param)('id')),
255
78
  __param(1, (0, common_1.Res)()),
256
79
  __metadata("design:type", Function),
257
- __metadata("design:paramtypes", [Object, Object]),
80
+ __metadata("design:paramtypes", [String, Object]),
258
81
  __metadata("design:returntype", Promise)
259
- ], UsersController.prototype, "createUserInvitation", null);
82
+ ], UsersController.prototype, "unban", null);
260
83
  __decorate([
261
- (0, common_1.Get)(),
262
- __param(0, (0, common_1.Req)()),
84
+ (0, common_1.Delete)(':id'),
85
+ __param(0, (0, common_1.Param)('id')),
263
86
  __param(1, (0, common_1.Res)()),
264
87
  __metadata("design:type", Function),
265
- __metadata("design:paramtypes", [Object, Object]),
88
+ __metadata("design:paramtypes", [String, Object]),
266
89
  __metadata("design:returntype", Promise)
267
- ], UsersController.prototype, "getAllUsers", null);
90
+ ], UsersController.prototype, "delete", null);
268
91
  __decorate([
269
- (0, common_1.Get)('me'),
270
- (0, common_1.UseGuards)(authenticate_guard_1.AuthenticateGuard),
271
- __param(0, (0, common_1.Req)()),
272
- __param(1, (0, common_1.Res)()),
92
+ (0, common_1.Patch)(':id/roles'),
93
+ __param(0, (0, common_1.Param)('id')),
94
+ __param(1, (0, common_1.Body)()),
95
+ __param(2, (0, common_1.Res)()),
273
96
  __metadata("design:type", Function),
274
- __metadata("design:paramtypes", [Object, Object]),
97
+ __metadata("design:paramtypes", [String, update_user_role_dto_1.UpdateUserRolesDto, Object]),
275
98
  __metadata("design:returntype", Promise)
276
- ], UsersController.prototype, "getMe", null);
99
+ ], UsersController.prototype, "updateRoles", null);
277
100
  exports.UsersController = UsersController = __decorate([
278
- (0, common_1.Controller)('api/users')
101
+ (0, admin_decorator_1.Admin)(),
102
+ (0, common_1.Controller)('api/admin/users'),
103
+ __metadata("design:paramtypes", [users_service_1.UsersService])
279
104
  ], UsersController);
@@ -0,0 +1,3 @@
1
+ export declare class ForgotPasswordDto {
2
+ email: string;
3
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ForgotPasswordDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class ForgotPasswordDto {
15
+ }
16
+ exports.ForgotPasswordDto = ForgotPasswordDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsEmail)(),
19
+ __metadata("design:type", String)
20
+ ], ForgotPasswordDto.prototype, "email", void 0);
@@ -0,0 +1,4 @@
1
+ export declare class LoginDto {
2
+ email: string;
3
+ password: string;
4
+ }
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.LoginDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class LoginDto {
15
+ }
16
+ exports.LoginDto = LoginDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsEmail)(),
19
+ __metadata("design:type", String)
20
+ ], LoginDto.prototype, "email", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ __metadata("design:type", String)
24
+ ], LoginDto.prototype, "password", void 0);
@@ -0,0 +1,3 @@
1
+ export declare class RefreshTokenDto {
2
+ refreshToken?: string;
3
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RefreshTokenDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class RefreshTokenDto {
15
+ }
16
+ exports.RefreshTokenDto = RefreshTokenDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsOptional)(),
19
+ (0, class_validator_1.IsString)(),
20
+ __metadata("design:type", String)
21
+ ], RefreshTokenDto.prototype, "refreshToken", void 0);
@@ -0,0 +1,15 @@
1
+ declare class FullNameDto {
2
+ fname: string;
3
+ lname: string;
4
+ }
5
+ export declare class RegisterDto {
6
+ fullname: FullNameDto;
7
+ username?: string;
8
+ email: string;
9
+ password: string;
10
+ phoneNumber?: string;
11
+ avatar?: string;
12
+ jobTitle?: string;
13
+ company?: string;
14
+ }
15
+ export {};
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RegisterDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ const class_transformer_1 = require("class-transformer");
15
+ class FullNameDto {
16
+ }
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], FullNameDto.prototype, "fname", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ __metadata("design:type", String)
24
+ ], FullNameDto.prototype, "lname", void 0);
25
+ class RegisterDto {
26
+ }
27
+ exports.RegisterDto = RegisterDto;
28
+ __decorate([
29
+ (0, class_validator_1.ValidateNested)(),
30
+ (0, class_transformer_1.Type)(() => FullNameDto),
31
+ __metadata("design:type", FullNameDto)
32
+ ], RegisterDto.prototype, "fullname", void 0);
33
+ __decorate([
34
+ (0, class_validator_1.IsOptional)(),
35
+ (0, class_validator_1.IsString)(),
36
+ (0, class_validator_1.MinLength)(3),
37
+ __metadata("design:type", String)
38
+ ], RegisterDto.prototype, "username", void 0);
39
+ __decorate([
40
+ (0, class_validator_1.IsEmail)(),
41
+ __metadata("design:type", String)
42
+ ], RegisterDto.prototype, "email", void 0);
43
+ __decorate([
44
+ (0, class_validator_1.IsString)(),
45
+ (0, class_validator_1.MinLength)(6),
46
+ __metadata("design:type", String)
47
+ ], RegisterDto.prototype, "password", void 0);
48
+ __decorate([
49
+ (0, class_validator_1.IsOptional)(),
50
+ (0, class_validator_1.IsString)(),
51
+ __metadata("design:type", String)
52
+ ], RegisterDto.prototype, "phoneNumber", void 0);
53
+ __decorate([
54
+ (0, class_validator_1.IsOptional)(),
55
+ (0, class_validator_1.IsString)(),
56
+ __metadata("design:type", String)
57
+ ], RegisterDto.prototype, "avatar", void 0);
58
+ __decorate([
59
+ (0, class_validator_1.IsOptional)(),
60
+ (0, class_validator_1.IsString)(),
61
+ __metadata("design:type", String)
62
+ ], RegisterDto.prototype, "jobTitle", void 0);
63
+ __decorate([
64
+ (0, class_validator_1.IsOptional)(),
65
+ (0, class_validator_1.IsString)(),
66
+ __metadata("design:type", String)
67
+ ], RegisterDto.prototype, "company", void 0);
@@ -0,0 +1,3 @@
1
+ export declare class ResendVerificationDto {
2
+ email: string;
3
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ResendVerificationDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class ResendVerificationDto {
15
+ }
16
+ exports.ResendVerificationDto = ResendVerificationDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsEmail)(),
19
+ __metadata("design:type", String)
20
+ ], ResendVerificationDto.prototype, "email", void 0);
@@ -0,0 +1,4 @@
1
+ export declare class ResetPasswordDto {
2
+ token: string;
3
+ newPassword: string;
4
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ResetPasswordDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class ResetPasswordDto {
15
+ }
16
+ exports.ResetPasswordDto = ResetPasswordDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], ResetPasswordDto.prototype, "token", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsString)(),
23
+ (0, class_validator_1.MinLength)(6),
24
+ __metadata("design:type", String)
25
+ ], ResetPasswordDto.prototype, "newPassword", void 0);
@@ -0,0 +1,3 @@
1
+ export declare class UpdateUserRolesDto {
2
+ roles: string[];
3
+ }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.UpdateUserRolesDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class UpdateUserRolesDto {
15
+ }
16
+ exports.UpdateUserRolesDto = UpdateUserRolesDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsArray)(),
19
+ (0, class_validator_1.IsString)({ each: true }),
20
+ __metadata("design:type", Array)
21
+ ], UpdateUserRolesDto.prototype, "roles", void 0);
@@ -0,0 +1,3 @@
1
+ export declare class VerifyEmailDto {
2
+ token: string;
3
+ }
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.VerifyEmailDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class VerifyEmailDto {
15
+ }
16
+ exports.VerifyEmailDto = VerifyEmailDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], VerifyEmailDto.prototype, "token", void 0);
@@ -0,0 +1,4 @@
1
+ export declare class CreatePermissionDto {
2
+ name: string;
3
+ description?: string;
4
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreatePermissionDto = void 0;
13
+ const class_validator_1 = require("class-validator");
14
+ class CreatePermissionDto {
15
+ }
16
+ exports.CreatePermissionDto = CreatePermissionDto;
17
+ __decorate([
18
+ (0, class_validator_1.IsString)(),
19
+ __metadata("design:type", String)
20
+ ], CreatePermissionDto.prototype, "name", void 0);
21
+ __decorate([
22
+ (0, class_validator_1.IsOptional)(),
23
+ (0, class_validator_1.IsString)(),
24
+ __metadata("design:type", String)
25
+ ], CreatePermissionDto.prototype, "description", void 0);
@@ -0,0 +1,4 @@
1
+ export declare class UpdatePermissionDto {
2
+ name?: string;
3
+ description?: string;
4
+ }