diff options
author | sharkiecodes <lanyi_stroud@brown.edu> | 2025-07-22 12:35:43 -0400 |
---|---|---|
committer | sharkiecodes <lanyi_stroud@brown.edu> | 2025-07-22 12:35:43 -0400 |
commit | d31a740378e8d4fd58ec329ba83dd20d28bfe5b4 (patch) | |
tree | b46103d4f9fd2b04ccfc25023e1cb0156168f412 /src/server/ApiManagers/UserManager.ts | |
parent | 62f9b89dad334d3d6405f5286e66b253090a82c7 (diff) | |
parent | 3f489c64d9e55d452c255f8e2c10b0d754883dbb (diff) |
Merge branch 'master' into lanyi-expanded-agent-paper-main
Diffstat (limited to 'src/server/ApiManagers/UserManager.ts')
-rw-r--r-- | src/server/ApiManagers/UserManager.ts | 29 |
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' }]; } |