aboutsummaryrefslogtreecommitdiff
path: root/src/server/ApiManagers/UserManager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/server/ApiManagers/UserManager.ts')
-rw-r--r--src/server/ApiManagers/UserManager.ts29
1 files changed, 15 insertions, 14 deletions
diff --git a/src/server/ApiManagers/UserManager.ts b/src/server/ApiManagers/UserManager.ts
index b587340e2..b42c974ac 100644
--- a/src/server/ApiManagers/UserManager.ts
+++ b/src/server/ApiManagers/UserManager.ts
@@ -22,6 +22,7 @@ export default class UserManager extends ApiManager {
secureHandler: async ({ res }) => {
const cursor = await Database.Instance.query({}, { email: 1, linkDatabaseId: 1, sharingDocumentId: 1 }, 'users');
const results = await cursor.toArray();
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
res.send(results.map((user: any) => ({ email: user.email, linkDatabaseId: user.linkDatabaseId, sharingDocumentId: user.sharingDocumentId })));
},
});
@@ -31,9 +32,10 @@ export default class UserManager extends ApiManager {
subscription: '/setCacheDocumentIds',
secureHandler: async ({ user, req, res }) => {
const userModel = user;
- const result: any = {};
+ const result: { error?: unknown } = {};
userModel.cacheDocumentIds = req.body.cacheDocumentIds;
- userModel.save().then(undefined, (err: any) => {
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
+ userModel.save?.().then(undefined, (err: any) => {
if (err) {
result.error = [{ msg: 'Error while caching documents' }];
}
@@ -90,20 +92,19 @@ export default class UserManager extends ApiManager {
subscription: '/internalResetPassword',
secureHandler: async ({ user, req, res }) => {
const userModel = user;
- const result: any = {};
- // eslint-disable-next-line camelcase
+ const result: { error?: unknown } = {};
const { curr_pass, new_pass } = req.body;
// perhaps should assert whether curr password is entered correctly
const validated = await new Promise<Opt<boolean>>(resolve => {
- bcrypt.compare(curr_pass, userModel.password, (err, passwordsMatch) => {
- if (err || !passwordsMatch) {
- result.error = [{ msg: 'Incorrect current password' }];
- res.send(result);
- resolve(undefined);
- } else {
- resolve(passwordsMatch);
- }
- });
+ userModel.password &&
+ bcrypt.compare(curr_pass, userModel.password, (err, passwordsMatch) => {
+ if (err || !passwordsMatch) {
+ res.send({ error: [{ msg: 'Incorrect current password' }] });
+ resolve(undefined);
+ } else {
+ resolve(passwordsMatch);
+ }
+ });
});
if (validated === undefined) {
@@ -133,7 +134,7 @@ export default class UserManager extends ApiManager {
userModel.passwordResetExpires = undefined;
}
- userModel.save().then(undefined, err => {
+ userModel.save?.().then(undefined, err => {
if (err) {
result.error = [{ msg: 'Error while saving new password' }];
}