summary refs log tree commit diff
path: root/api/src/routes/auth/login.ts
diff options
context:
space:
mode:
Diffstat (limited to 'api/src/routes/auth/login.ts')
-rw-r--r--api/src/routes/auth/login.ts26
1 files changed, 12 insertions, 14 deletions
diff --git a/api/src/routes/auth/login.ts b/api/src/routes/auth/login.ts
index dc970e4c..579a097e 100644
--- a/api/src/routes/auth/login.ts
+++ b/api/src/routes/auth/login.ts
@@ -2,7 +2,7 @@ import { Request, Response, Router } from "express";
 import { check, FieldErrors, Length } from "../../util/instanceOf";
 import bcrypt from "bcrypt";
 import jwt from "jsonwebtoken";
-import { Config, UserModel } from "@fosscord/util";
+import { Config, User } from "@fosscord/util";
 import { adjustEmail } from "./register";
 
 const router: Router = Router();
@@ -41,27 +41,25 @@ router.post(
 			// TODO: check captcha
 		}
 
-		const user = await UserModel.findOne(
+		const user = await User.findOneOrFail(
 			{ $or: query },
-			{ "user_data.hash": true, id: true, disabled: true, deleted: true, "user_settings.locale": true, "user_settings.theme": true }
-		)
-			.exec()
-			.catch((e) => {
-				console.log(e, query);
-				throw FieldErrors({ login: { message: req.t("auth:login.INVALID_LOGIN"), code: "INVALID_LOGIN" } });
-			});
+			{ "data.hash": true, id: true, disabled: true, deleted: true, "settings.locale": true, "settings.theme": true }
+		).catch((e) => {
+			console.log(e, query);
+			throw FieldErrors({ login: { message: req.t("auth:login.INVALID_LOGIN"), code: "INVALID_LOGIN" } });
+		});
 
 		if (undelete) {
 			// undelete refers to un'disable' here
-			if (user.disabled) await UserModel.updateOne({ id: user.id }, { disabled: false }).exec();
-			if (user.deleted) await UserModel.updateOne({ id: user.id }, { deleted: false }).exec();
+			if (user.disabled) await User.update({ id: user.id }, { disabled: false });
+			if (user.deleted) await User.update({ id: user.id }, { deleted: false });
 		} 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
-		const same_password = await bcrypt.compare(password, user.user_data.hash || "");
+		const same_password = await bcrypt.compare(password, user.data.hash || "");
 		if (!same_password) {
 			throw FieldErrors({ password: { message: req.t("auth:login.INVALID_PASSWORD"), code: "INVALID_PASSWORD" } });
 		}
@@ -72,7 +70,7 @@ router.post(
 		// Discord header is just the user id as string, which is not possible with npm-jsonwebtoken package
 		// https://user-images.githubusercontent.com/6506416/81051916-dd8c9900-8ec2-11ea-8794-daf12d6f31f0.png
 
-		res.json({ token, user_settings: user.user_settings });
+		res.json({ token, settings: user.settings });
 	}
 );
 
@@ -106,6 +104,6 @@ export async function generateToken(id: string) {
  * @returns {"captcha_key": ["captcha-required"], "captcha_sitekey": null, "captcha_service": "recaptcha"}
 
  * Sucess:
- * @returns {"token": "USERTOKEN", "user_settings": {"locale": "en", "theme": "dark"}}
+ * @returns {"token": "USERTOKEN", "settings": {"locale": "en", "theme": "dark"}}
 
  */