🐛 fix login undelete/undisable

This commit is contained in:
Flam3rboy 2021-08-12 01:49:43 +02:00
parent f700301ccb
commit b51cb55504
3 changed files with 15 additions and 22 deletions

14
package-lock.json generated
View File

@ -9,7 +9,7 @@
"version": "1.0.0", "version": "1.0.0",
"license": "ISC", "license": "ISC",
"dependencies": { "dependencies": {
"@fosscord/server-util": "^1.3.48", "@fosscord/server-util": "^1.3.49",
"@types/jest": "^26.0.22", "@types/jest": "^26.0.22",
"@types/json-schema": "^7.0.7", "@types/json-schema": "^7.0.7",
"ajv": "^8.4.0", "ajv": "^8.4.0",
@ -680,9 +680,9 @@
} }
}, },
"node_modules/@fosscord/server-util": { "node_modules/@fosscord/server-util": {
"version": "1.3.48", "version": "1.3.49",
"resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.3.48.tgz", "resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.3.49.tgz",
"integrity": "sha512-2UK/uplgbBksFCr5mFVqD1Z5DdcSSHj+SlKb3dHAUl2MfiU5ro24gf870ZcD/gZeesdbR3yEePRiYdnX4CzI+Q==", "integrity": "sha512-raWZu89X17mnNta4lAX++i5KjE8o/o4YUuP0Rnj+uFTWvvt5QQKYvCcxc7SgkezS3f5vSEcelJ/xZlJjvES4Pg==",
"dependencies": { "dependencies": {
"@types/jsonwebtoken": "^8.5.0", "@types/jsonwebtoken": "^8.5.0",
"@types/mongoose-autopopulate": "^0.10.1", "@types/mongoose-autopopulate": "^0.10.1",
@ -11573,9 +11573,9 @@
} }
}, },
"@fosscord/server-util": { "@fosscord/server-util": {
"version": "1.3.48", "version": "1.3.49",
"resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.3.48.tgz", "resolved": "https://registry.npmjs.org/@fosscord/server-util/-/server-util-1.3.49.tgz",
"integrity": "sha512-2UK/uplgbBksFCr5mFVqD1Z5DdcSSHj+SlKb3dHAUl2MfiU5ro24gf870ZcD/gZeesdbR3yEePRiYdnX4CzI+Q==", "integrity": "sha512-raWZu89X17mnNta4lAX++i5KjE8o/o4YUuP0Rnj+uFTWvvt5QQKYvCcxc7SgkezS3f5vSEcelJ/xZlJjvES4Pg==",
"requires": { "requires": {
"@types/jsonwebtoken": "^8.5.0", "@types/jsonwebtoken": "^8.5.0",
"@types/mongoose-autopopulate": "^0.10.1", "@types/mongoose-autopopulate": "^0.10.1",

View File

@ -33,7 +33,7 @@
}, },
"homepage": "https://github.com/fosscord/fosscord-api#readme", "homepage": "https://github.com/fosscord/fosscord-api#readme",
"dependencies": { "dependencies": {
"@fosscord/server-util": "^1.3.48", "@fosscord/server-util": "^1.3.49",
"@types/jest": "^26.0.22", "@types/jest": "^26.0.22",
"@types/json-schema": "^7.0.7", "@types/json-schema": "^7.0.7",
"ajv": "^8.4.0", "ajv": "^8.4.0",

View File

@ -47,27 +47,20 @@ router.post(
const user = await UserModel.findOne( const user = await UserModel.findOne(
{ $or: query }, { $or: query },
{ { user_data: { hash: true }, id: true, disabled: true, deleted: true, user_settings: { locale: true, theme: true } }
user_data: {
hash: true
},
id: true,
user_settings: {
locale: true,
theme: true
}
}
) )
.exec() .exec()
.catch((e) => { .catch((e) => {
throw FieldErrors({ login: { message: req.t("auth:login.INVALID_LOGIN"), code: "INVALID_LOGIN" } }); throw FieldErrors({ login: { message: req.t("auth:login.INVALID_LOGIN"), code: "INVALID_LOGIN" } });
}); });
if (user.disabled && undelete) { if (undelete) {
// undelete refers to un'disable' here // undelete refers to un'disable' here
await UserModel.updateOne({ id: req.user_id }, { disabled: false }).exec(); if (user.disabled) await UserModel.updateOne({ id: user.id }, { disabled: false }).exec();
} else if (user.disabled) { if (user.deleted) await UserModel.updateOne({ id: user.id }, { deleted: false }).exec();
return res.status(400).json({ message: req.t("auth:login.ACCOUNT_DISABLED"), code: 20013 }); } else {
if (user.deleted) return res.status(400).json({ message: "This account is scheduled for deletion.", code: 20011 });
if (user.disabled) return res.status(400).json({ message: req.t("auth:login.ACCOUNT_DISABLED"), code: 20013 });
} }
// the salt is saved in the password refer to bcrypt docs // the salt is saved in the password refer to bcrypt docs