@volcanicminds/typeorm 2.0.1 → 2.1.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 (110) hide show
  1. package/README.md +1 -0
  2. package/dist/index.d.ts +9 -8
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +67 -147
  5. package/dist/index.js.map +1 -1
  6. package/dist/lib/entities/change.d.ts +1 -0
  7. package/dist/lib/entities/change.d.ts.map +1 -0
  8. package/dist/lib/entities/change.js +2 -6
  9. package/dist/lib/entities/change.js.map +1 -1
  10. package/dist/lib/entities/token.d.ts +1 -0
  11. package/dist/lib/entities/token.d.ts.map +1 -0
  12. package/dist/lib/entities/token.js +2 -6
  13. package/dist/lib/entities/token.js.map +1 -1
  14. package/dist/lib/entities/user.d.ts +1 -0
  15. package/dist/lib/entities/user.d.ts.map +1 -0
  16. package/dist/lib/entities/user.js +2 -6
  17. package/dist/lib/entities/user.js.map +1 -1
  18. package/dist/lib/loader/dataBaseManager.d.ts +1 -0
  19. package/dist/lib/loader/dataBaseManager.d.ts.map +1 -0
  20. package/dist/lib/loader/dataBaseManager.js +29 -83
  21. package/dist/lib/loader/dataBaseManager.js.map +1 -1
  22. package/dist/lib/loader/entities.d.ts +1 -0
  23. package/dist/lib/loader/entities.d.ts.map +1 -0
  24. package/dist/lib/loader/entities.js +10 -8
  25. package/dist/lib/loader/entities.js.map +1 -1
  26. package/dist/lib/loader/tokenManager.d.ts +1 -0
  27. package/dist/lib/loader/tokenManager.d.ts.map +1 -0
  28. package/dist/lib/loader/tokenManager.js +101 -138
  29. package/dist/lib/loader/tokenManager.js.map +1 -1
  30. package/dist/lib/loader/userManager.d.ts +1 -0
  31. package/dist/lib/loader/userManager.d.ts.map +1 -0
  32. package/dist/lib/loader/userManager.js +234 -321
  33. package/dist/lib/loader/userManager.js.map +1 -1
  34. package/dist/lib/query/builder.d.ts +1 -0
  35. package/dist/lib/query/builder.d.ts.map +1 -0
  36. package/dist/lib/query/builder.js +4 -8
  37. package/dist/lib/query/builder.js.map +1 -1
  38. package/dist/lib/query/parser.d.ts +1 -0
  39. package/dist/lib/query/parser.d.ts.map +1 -0
  40. package/dist/lib/query/parser.js +2 -7
  41. package/dist/lib/query/parser.js.map +1 -1
  42. package/dist/lib/query.d.ts +1 -0
  43. package/dist/lib/query.d.ts.map +1 -0
  44. package/dist/lib/query.js +78 -110
  45. package/dist/lib/query.js.map +1 -1
  46. package/dist/lib/util/error.d.ts +5 -0
  47. package/dist/lib/util/error.d.ts.map +1 -0
  48. package/dist/lib/util/error.js +8 -0
  49. package/dist/lib/util/error.js.map +1 -0
  50. package/dist/lib/util/logger.d.ts +1 -0
  51. package/dist/lib/util/logger.d.ts.map +1 -0
  52. package/dist/lib/util/logger.js +12 -26
  53. package/dist/lib/util/logger.js.map +1 -1
  54. package/dist/lib/util/yn.d.ts +1 -0
  55. package/dist/lib/util/yn.d.ts.map +1 -0
  56. package/dist/lib/util/yn.js +1 -3
  57. package/dist/lib/util/yn.js.map +1 -1
  58. package/lib/entities/change.ts +11 -0
  59. package/lib/entities/token.ts +17 -0
  60. package/lib/entities/user.ts +24 -0
  61. package/lib/loader/dataBaseManager.ts +37 -0
  62. package/lib/loader/entities.ts +35 -0
  63. package/lib/loader/tokenManager.ts +128 -0
  64. package/lib/loader/userManager.ts +304 -0
  65. package/lib/query/builder.ts +38 -0
  66. package/lib/query/parser.ts +29 -0
  67. package/lib/query.ts +244 -0
  68. package/lib/util/error.ts +7 -0
  69. package/lib/util/logger.ts +23 -0
  70. package/lib/util/yn.ts +19 -0
  71. package/package.json +18 -26
  72. package/esm/index.d.ts +0 -12
  73. package/esm/index.js +0 -140
  74. package/esm/index.js.map +0 -1
  75. package/esm/lib/entities/change.d.ts +0 -10
  76. package/esm/lib/entities/change.js +0 -8
  77. package/esm/lib/entities/change.js.map +0 -1
  78. package/esm/lib/entities/token.d.ts +0 -15
  79. package/esm/lib/entities/token.js +0 -8
  80. package/esm/lib/entities/token.js.map +0 -1
  81. package/esm/lib/entities/user.d.ts +0 -22
  82. package/esm/lib/entities/user.js +0 -8
  83. package/esm/lib/entities/user.js.map +0 -1
  84. package/esm/lib/loader/dataBaseManager.d.ts +0 -4
  85. package/esm/lib/loader/dataBaseManager.js +0 -76
  86. package/esm/lib/loader/dataBaseManager.js.map +0 -1
  87. package/esm/lib/loader/entities.d.ts +0 -5
  88. package/esm/lib/loader/entities.js +0 -28
  89. package/esm/lib/loader/entities.js.map +0 -1
  90. package/esm/lib/loader/tokenManager.d.ts +0 -21
  91. package/esm/lib/loader/tokenManager.js +0 -128
  92. package/esm/lib/loader/tokenManager.js.map +0 -1
  93. package/esm/lib/loader/userManager.d.ts +0 -32
  94. package/esm/lib/loader/userManager.js +0 -341
  95. package/esm/lib/loader/userManager.js.map +0 -1
  96. package/esm/lib/query/builder.d.ts +0 -1
  97. package/esm/lib/query/builder.js +0 -37
  98. package/esm/lib/query/builder.js.map +0 -1
  99. package/esm/lib/query/parser.d.ts +0 -1
  100. package/esm/lib/query/parser.js +0 -32
  101. package/esm/lib/query/parser.js.map +0 -1
  102. package/esm/lib/query.d.ts +0 -33
  103. package/esm/lib/query.js +0 -210
  104. package/esm/lib/query.js.map +0 -1
  105. package/esm/lib/util/logger.d.ts +0 -6
  106. package/esm/lib/util/logger.js +0 -33
  107. package/esm/lib/util/logger.js.map +0 -1
  108. package/esm/lib/util/yn.d.ts +0 -1
  109. package/esm/lib/util/yn.js +0 -17
  110. package/esm/lib/util/yn.js.map +0 -1
@@ -1,337 +1,256 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.isImplemented = isImplemented;
46
- exports.isValidUser = isValidUser;
47
- exports.createUser = createUser;
48
- exports.deleteUser = deleteUser;
49
- exports.resetExternalId = resetExternalId;
50
- exports.updateUserById = updateUserById;
51
- exports.retrieveUserById = retrieveUserById;
52
- exports.retrieveUserByEmail = retrieveUserByEmail;
53
- exports.retrieveUserByUsername = retrieveUserByUsername;
54
- exports.retrieveUserByConfirmationToken = retrieveUserByConfirmationToken;
55
- exports.retrieveUserByResetPasswordToken = retrieveUserByResetPasswordToken;
56
- exports.retrieveUserByExternalId = retrieveUserByExternalId;
57
- exports.retrieveUserByPassword = retrieveUserByPassword;
58
- exports.changePassword = changePassword;
59
- exports.forgotPassword = forgotPassword;
60
- exports.resetPassword = resetPassword;
61
- exports.userConfirmation = userConfirmation;
62
- exports.blockUserById = blockUserById;
63
- exports.unblockUserById = unblockUserById;
64
- exports.isPasswordToBeChanged = isPasswordToBeChanged;
65
- exports.countQuery = countQuery;
66
- exports.findQuery = findQuery;
67
- exports.disableUserById = disableUserById;
68
- const bcrypt = __importStar(require("bcrypt"));
69
- const Crypto = require('crypto');
70
- const query_1 = require("../query");
71
- function isImplemented() {
1
+ import * as bcrypt from 'bcrypt';
2
+ import * as Crypto from 'crypto';
3
+ import { ServiceError } from '../util/error.js';
4
+ import { executeCountQuery, executeFindQuery } from '../query.js';
5
+ export function isImplemented() {
72
6
  return true;
73
7
  }
74
- function isValidUser(data) {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- return !!data && (!!data._id || !!data.id) && !!data.externalId && !!data.email && !!data.password;
77
- });
8
+ export async function isValidUser(data) {
9
+ return !!data && (!!data._id || !!data.id) && !!data.externalId && !!data.email && !!data.password;
78
10
  }
79
- function createUser(data) {
80
- return __awaiter(this, void 0, void 0, function* () {
81
- const { username, email, password } = data;
82
- if (!email || !password) {
83
- throw new Error('Email or password missing');
84
- }
85
- const salt = yield bcrypt.genSalt(12);
86
- const hashedPassword = yield bcrypt.hash(password, salt);
87
- try {
88
- let externalId, user;
89
- do {
90
- externalId = Crypto.randomUUID({ disableEntropyCache: true });
91
- user = yield global.repository.users.findOneBy({ externalId: externalId });
92
- } while (user != null);
93
- user = yield global.entity.User.create(Object.assign(Object.assign({}, data), { passwordChangedAt: new Date(), confirmed: false, confirmationToken: Crypto.randomBytes(64).toString('hex'), blocked: false, blockedReason: null, externalId: externalId, email: email, username: username || email, password: hashedPassword }));
94
- return yield global.entity.User.save(user);
95
- }
96
- catch (error) {
97
- if ((error === null || error === void 0 ? void 0 : error.code) == 23505) {
98
- throw new Error('Email or username already registered');
99
- }
100
- throw error;
11
+ export async function createUser(data) {
12
+ const { username, email, password } = data;
13
+ if (!email || !password) {
14
+ throw new ServiceError('Invalid parameters', 400);
15
+ }
16
+ const salt = await bcrypt.genSalt(12);
17
+ const hashedPassword = await bcrypt.hash(password, salt);
18
+ try {
19
+ let externalId, user;
20
+ do {
21
+ externalId = Crypto.randomUUID({ disableEntropyCache: true });
22
+ user = await global.repository.users.findOneBy({ externalId: externalId });
23
+ } while (user != null);
24
+ user = await global.entity.User.create({
25
+ ...data,
26
+ passwordChangedAt: new Date(),
27
+ confirmed: false,
28
+ confirmationToken: Crypto.randomBytes(64).toString('hex'),
29
+ blocked: false,
30
+ blockedReason: null,
31
+ externalId: externalId,
32
+ email: email,
33
+ username: username || email,
34
+ password: hashedPassword
35
+ });
36
+ return await global.entity.User.save(user);
37
+ }
38
+ catch (error) {
39
+ if (error?.code == 23505) {
40
+ throw new ServiceError('Email or username already registered', 409);
101
41
  }
102
- });
42
+ throw error;
43
+ }
103
44
  }
104
- function deleteUser(id) {
105
- return __awaiter(this, void 0, void 0, function* () {
106
- if (!id) {
107
- throw new Error('Invalid parameters');
108
- }
109
- try {
110
- const userEx = yield retrieveUserById(id);
111
- if (!userEx) {
112
- throw new Error('User not found');
113
- }
114
- return global.entity.User.delete(id);
115
- }
116
- catch (error) {
117
- throw error;
45
+ export async function deleteUser(id) {
46
+ if (!id) {
47
+ throw new ServiceError('Invalid parameters', 400);
48
+ }
49
+ try {
50
+ const userEx = await retrieveUserById(id);
51
+ if (!userEx) {
52
+ throw new ServiceError('User not found', 404);
118
53
  }
119
- });
54
+ return global.entity.User.delete(id);
55
+ }
56
+ catch (error) {
57
+ throw error;
58
+ }
120
59
  }
121
- function resetExternalId(id) {
122
- return __awaiter(this, void 0, void 0, function* () {
123
- if (!id) {
124
- throw new Error('Invalid parameters');
125
- }
126
- try {
127
- let externalId, user;
128
- do {
129
- externalId = Crypto.randomUUID({ disableEntropyCache: true });
130
- user = yield global.repository.users.findOneBy({ externalId: externalId });
131
- } while (user != null);
132
- return yield updateUserById(id, { externalId: externalId });
133
- }
134
- catch (error) {
135
- if ((error === null || error === void 0 ? void 0 : error.code) == 23505) {
136
- throw new Error('External ID not changed');
137
- }
138
- throw error;
60
+ export async function resetExternalId(id) {
61
+ if (!id) {
62
+ throw new ServiceError('Invalid parameters', 400);
63
+ }
64
+ try {
65
+ let externalId, user;
66
+ do {
67
+ externalId = Crypto.randomUUID({ disableEntropyCache: true });
68
+ user = await global.repository.users.findOneBy({ externalId: externalId });
69
+ } while (user != null);
70
+ return await updateUserById(id, { externalId: externalId });
71
+ }
72
+ catch (error) {
73
+ if (error?.code == 23505) {
74
+ throw new ServiceError('External ID not changed', 409);
139
75
  }
140
- });
76
+ throw error;
77
+ }
141
78
  }
142
- function updateUserById(id, user) {
143
- return __awaiter(this, void 0, void 0, function* () {
144
- if (!id || !user) {
145
- throw new Error('Invalid parameters');
146
- }
147
- try {
148
- const userEx = yield retrieveUserById(id);
149
- if (!userEx) {
150
- throw new Error('User not found');
151
- }
152
- const merged = global.repository.users.merge(userEx, user);
153
- return yield global.entity.User.save(merged);
154
- }
155
- catch (error) {
156
- throw error;
79
+ export async function updateUserById(id, user) {
80
+ if (!id || !user) {
81
+ throw new ServiceError('Invalid parameters', 400);
82
+ }
83
+ try {
84
+ const userEx = await retrieveUserById(id);
85
+ if (!userEx) {
86
+ throw new ServiceError('User not found', 404);
157
87
  }
158
- });
88
+ const merged = global.repository.users.merge(userEx, user);
89
+ return await global.entity.User.save(merged);
90
+ }
91
+ catch (error) {
92
+ throw error;
93
+ }
159
94
  }
160
- function retrieveUserById(id) {
161
- return __awaiter(this, void 0, void 0, function* () {
162
- if (!id) {
163
- throw new Error('Invalid parameters');
164
- }
165
- try {
166
- return yield global.repository.users.findOneById(id);
167
- }
168
- catch (error) {
169
- throw error;
170
- }
171
- });
95
+ export async function retrieveUserById(id) {
96
+ if (!id) {
97
+ throw new ServiceError('Invalid parameters', 400);
98
+ }
99
+ try {
100
+ return await global.repository.users.findOneById(id);
101
+ }
102
+ catch (error) {
103
+ throw error;
104
+ }
172
105
  }
173
- function retrieveUserByEmail(email) {
174
- return __awaiter(this, void 0, void 0, function* () {
175
- if (!email) {
176
- throw new Error('Invalid parameters');
177
- }
178
- try {
179
- return yield global.repository.users.findOneBy({ email: email });
180
- }
181
- catch (error) {
182
- throw error;
183
- }
184
- });
106
+ export async function retrieveUserByEmail(email) {
107
+ if (!email) {
108
+ throw new ServiceError('Invalid parameters', 400);
109
+ }
110
+ try {
111
+ return await global.repository.users.findOneBy({ email: email });
112
+ }
113
+ catch (error) {
114
+ throw error;
115
+ }
185
116
  }
186
- function retrieveUserByUsername(username) {
187
- return __awaiter(this, void 0, void 0, function* () {
188
- if (!username) {
189
- throw new Error('Invalid parameters');
190
- }
191
- try {
192
- return yield global.repository.users.findOneBy({ username });
193
- }
194
- catch (error) {
195
- throw error;
196
- }
197
- });
117
+ export async function retrieveUserByUsername(username) {
118
+ if (!username) {
119
+ throw new ServiceError('Invalid parameters', 400);
120
+ }
121
+ try {
122
+ return await global.repository.users.findOneBy({ username });
123
+ }
124
+ catch (error) {
125
+ throw error;
126
+ }
198
127
  }
199
- function retrieveUserByConfirmationToken(code) {
200
- return __awaiter(this, void 0, void 0, function* () {
201
- if (!code) {
202
- throw new Error('Invalid parameters');
203
- }
204
- try {
205
- return yield global.repository.users.findOneBy({ confirmationToken: code });
206
- }
207
- catch (error) {
208
- throw error;
209
- }
210
- });
128
+ export async function retrieveUserByConfirmationToken(code) {
129
+ if (!code) {
130
+ throw new ServiceError('Invalid parameters', 400);
131
+ }
132
+ try {
133
+ return await global.repository.users.findOneBy({ confirmationToken: code });
134
+ }
135
+ catch (error) {
136
+ throw error;
137
+ }
211
138
  }
212
- function retrieveUserByResetPasswordToken(code) {
213
- return __awaiter(this, void 0, void 0, function* () {
214
- if (!code) {
215
- throw new Error('Invalid parameters');
216
- }
217
- try {
218
- return yield global.repository.users.findOneBy({ resetPasswordToken: code });
219
- }
220
- catch (error) {
221
- throw error;
222
- }
223
- });
139
+ export async function retrieveUserByResetPasswordToken(code) {
140
+ if (!code) {
141
+ throw new ServiceError('Invalid parameters', 400);
142
+ }
143
+ try {
144
+ return await global.repository.users.findOneBy({ resetPasswordToken: code });
145
+ }
146
+ catch (error) {
147
+ throw error;
148
+ }
224
149
  }
225
- function retrieveUserByExternalId(externalId) {
226
- return __awaiter(this, void 0, void 0, function* () {
227
- if (!externalId) {
228
- throw new Error('Invalid parameters');
229
- }
230
- try {
231
- return yield global.repository.users.findOne({
232
- where: { externalId: externalId },
233
- cache: global.cacheTimeout
234
- });
235
- }
236
- catch (error) {
237
- throw error;
238
- }
239
- });
150
+ export async function retrieveUserByExternalId(externalId) {
151
+ if (!externalId) {
152
+ throw new ServiceError('Invalid parameters', 400);
153
+ }
154
+ try {
155
+ return await global.repository.users.findOne({
156
+ where: { externalId: externalId },
157
+ cache: global.cacheTimeout
158
+ });
159
+ }
160
+ catch (error) {
161
+ throw error;
162
+ }
240
163
  }
241
- function retrieveUserByPassword(email, password) {
242
- return __awaiter(this, void 0, void 0, function* () {
243
- if (!email || !password) {
244
- throw new Error('Invalid parameters');
245
- }
246
- try {
247
- const user = yield global.repository.users.findOneBy({ email: email });
248
- if (!user) {
249
- throw new Error('User not found');
250
- }
251
- const match = yield bcrypt.compare(password, user.password);
252
- return match ? user : null;
253
- }
254
- catch (error) {
255
- throw error;
164
+ export async function retrieveUserByPassword(email, password) {
165
+ if (!email || !password) {
166
+ throw new ServiceError('Invalid parameters', 400);
167
+ }
168
+ try {
169
+ const user = await global.repository.users.findOneBy({ email: email });
170
+ if (!user) {
171
+ throw new Error('Wrong credentials');
256
172
  }
257
- });
173
+ const match = await bcrypt.compare(password, user.password);
174
+ return match ? user : null;
175
+ }
176
+ catch (error) {
177
+ throw error;
178
+ }
258
179
  }
259
- function changePassword(email, password, oldPassword) {
260
- return __awaiter(this, void 0, void 0, function* () {
261
- if (!email || !password || !oldPassword) {
262
- throw new Error('Invalid parameters');
263
- }
264
- try {
265
- const user = yield global.repository.users.findOneBy({ email: email });
266
- const match = yield bcrypt.compare(oldPassword, user.password);
267
- if (match) {
268
- const salt = yield bcrypt.genSalt(12);
269
- const hashedPassword = yield bcrypt.hash(password, salt);
270
- return yield global.entity.User.save(Object.assign(Object.assign({}, user), { passwordChangedAt: new Date(), password: hashedPassword }));
271
- }
272
- return null;
273
- }
274
- catch (error) {
275
- throw error;
276
- }
277
- });
180
+ export async function changePassword(email, password, oldPassword) {
181
+ if (!email || !password || !oldPassword) {
182
+ throw new ServiceError('Invalid parameters', 400);
183
+ }
184
+ try {
185
+ const user = await global.repository.users.findOneBy({ email: email });
186
+ const match = await bcrypt.compare(oldPassword, user.password);
187
+ if (match) {
188
+ const salt = await bcrypt.genSalt(12);
189
+ const hashedPassword = await bcrypt.hash(password, salt);
190
+ return await global.entity.User.save({ ...user, passwordChangedAt: new Date(), password: hashedPassword });
191
+ }
192
+ throw new ServiceError('Password not changed', 400);
193
+ }
194
+ catch (error) {
195
+ throw error;
196
+ }
278
197
  }
279
- function forgotPassword(email) {
280
- return __awaiter(this, void 0, void 0, function* () {
281
- if (!email) {
282
- throw new Error('Invalid parameters');
283
- }
284
- try {
285
- const user = yield global.repository.users.findOneBy({ email: email });
286
- if (user) {
287
- return yield global.entity.User.save(Object.assign(Object.assign({}, user), { resetPasswordToken: Crypto.randomBytes(64).toString('hex') }));
288
- }
289
- return null;
290
- }
291
- catch (error) {
292
- throw error;
198
+ export async function forgotPassword(email) {
199
+ if (!email) {
200
+ throw new ServiceError('Invalid parameters', 400);
201
+ }
202
+ try {
203
+ const user = await global.repository.users.findOneBy({ email: email });
204
+ if (user) {
205
+ return await global.entity.User.save({
206
+ ...user,
207
+ resetPasswordToken: Crypto.randomBytes(64).toString('hex')
208
+ });
293
209
  }
294
- });
210
+ throw new ServiceError('Password not changed', 400);
211
+ }
212
+ catch (error) {
213
+ throw error;
214
+ }
295
215
  }
296
- function resetPassword(user, password) {
297
- return __awaiter(this, void 0, void 0, function* () {
298
- if (!user || !password) {
299
- throw new Error('Invalid parameters');
300
- }
301
- try {
302
- const salt = yield bcrypt.genSalt(12);
303
- const hashedPassword = yield bcrypt.hash(password, salt);
304
- return yield global.entity.User.save(Object.assign(Object.assign({}, user), { passwordChangedAt: new Date(), confirmed: true, confirmedAt: new Date(), resetPasswordToken: null, password: hashedPassword }));
305
- }
306
- catch (error) {
307
- throw error;
308
- }
309
- });
216
+ export async function resetPassword(user, password) {
217
+ if (!user || !password) {
218
+ throw new ServiceError('Invalid parameters', 400);
219
+ }
220
+ try {
221
+ const salt = await bcrypt.genSalt(12);
222
+ const hashedPassword = await bcrypt.hash(password, salt);
223
+ return await global.entity.User.save({
224
+ ...user,
225
+ passwordChangedAt: new Date(),
226
+ confirmed: true,
227
+ confirmedAt: new Date(),
228
+ resetPasswordToken: null,
229
+ password: hashedPassword
230
+ });
231
+ }
232
+ catch (error) {
233
+ throw error;
234
+ }
310
235
  }
311
- function userConfirmation(user) {
312
- return __awaiter(this, void 0, void 0, function* () {
313
- if (!user) {
314
- throw new Error('Invalid parameters');
315
- }
316
- try {
317
- return yield global.entity.User.save(Object.assign(Object.assign({}, user), { confirmed: true, confirmedAt: new Date(), confirmationToken: null }));
318
- }
319
- catch (error) {
320
- throw error;
321
- }
322
- });
236
+ export async function userConfirmation(user) {
237
+ if (!user) {
238
+ throw new ServiceError('Invalid parameters', 400);
239
+ }
240
+ try {
241
+ return await global.entity.User.save({ ...user, confirmed: true, confirmedAt: new Date(), confirmationToken: null });
242
+ }
243
+ catch (error) {
244
+ throw error;
245
+ }
323
246
  }
324
- function blockUserById(id, reason) {
325
- return __awaiter(this, void 0, void 0, function* () {
326
- return updateUserById(id, { blocked: true, blockedAt: new Date(), blockedReason: reason });
327
- });
247
+ export async function blockUserById(id, reason) {
248
+ return updateUserById(id, { blocked: true, blockedAt: new Date(), blockedReason: reason });
328
249
  }
329
- function unblockUserById(id) {
330
- return __awaiter(this, void 0, void 0, function* () {
331
- return updateUserById(id, { blocked: false, blockedAt: new Date(), blockedReason: null });
332
- });
250
+ export async function unblockUserById(id) {
251
+ return updateUserById(id, { blocked: false, blockedAt: new Date(), blockedReason: null });
333
252
  }
334
- function isPasswordToBeChanged(user) {
253
+ export function isPasswordToBeChanged(user) {
335
254
  if (process.env.PASSWORD_EXPIRATION_DAYS != null) {
336
255
  let passwordExpirationDays = -1;
337
256
  try {
@@ -352,20 +271,14 @@ function isPasswordToBeChanged(user) {
352
271
  }
353
272
  return false;
354
273
  }
355
- function countQuery(data) {
356
- return __awaiter(this, void 0, void 0, function* () {
357
- return yield (0, query_1.executeCountQuery)(global.repository.users, data);
358
- });
274
+ export async function countQuery(data) {
275
+ return await executeCountQuery(global.repository.users, data);
359
276
  }
360
- function findQuery(data) {
361
- return __awaiter(this, void 0, void 0, function* () {
362
- return yield (0, query_1.executeFindQuery)(global.repository.users, {}, data);
363
- });
277
+ export async function findQuery(data) {
278
+ return await executeFindQuery(global.repository.users, {}, data);
364
279
  }
365
- function disableUserById(id) {
366
- return __awaiter(this, void 0, void 0, function* () {
367
- yield updateUserById(id, { blocked: true, blockedAt: new Date(), blockedReason: 'User disabled to unregister' });
368
- return resetExternalId(id);
369
- });
280
+ export async function disableUserById(id) {
281
+ await updateUserById(id, { blocked: true, blockedAt: new Date(), blockedReason: 'User disabled to unregister' });
282
+ return resetExternalId(id);
370
283
  }
371
284
  //# sourceMappingURL=userManager.js.map