diff options
| author | Arne Rief <riearn@proton.me> | 2025-12-22 21:20:39 +0100 |
|---|---|---|
| committer | Arne Rief <riearn@proton.me> | 2025-12-22 21:20:39 +0100 |
| commit | e836e7dd4ed5e9fa60e949d159100040b22a8f48 (patch) | |
| tree | a11954c06e55e8ef53fcb634fa5954dfcb42ffc3 /backend/src/controllers/loginUser.ts | |
| parent | d1b64ddd78d8b8dc3eca76038a75071ab2a575d9 (diff) | |
Movement simulator for all and single robot, project v1 ready
Diffstat (limited to 'backend/src/controllers/loginUser.ts')
| -rw-r--r-- | backend/src/controllers/loginUser.ts | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/backend/src/controllers/loginUser.ts b/backend/src/controllers/loginUser.ts index 860bce2..9cfb992 100644 --- a/backend/src/controllers/loginUser.ts +++ b/backend/src/controllers/loginUser.ts @@ -3,15 +3,20 @@ import { Request, Response } from "express"; import jwt from "jsonwebtoken"; import { QueryResult } from "pg"; import db from "../database/postgres.js"; +import { ErrorResponse } from "../types/error.js"; import type { LoginRequest } from "../types/request.js"; -import type { AuthorizedUser, DatabaseUser } from "../types/user.js"; +import type { + AuthorizedUser, + DatabaseUser, + LoginResponse, +} from "../types/user.js"; async function loginUser(req: Request, res: Response) { const { email, password } = req.body as LoginRequest; if (!email || !password) { return res.status(400).json({ - message: "E-Mail und Passwort sind erforderlich.", + message: "E-mail and password are required.", }); } @@ -25,7 +30,7 @@ async function loginUser(req: Request, res: Response) { const user = queryResult.rows[0]; if (!user) { - return res.status(401).json({ message: "Login Daten ungültig." }); + return res.status(401).json({ message: "Login data invalid." }); } // Check if password is correct @@ -36,7 +41,7 @@ async function loginUser(req: Request, res: Response) { if (!isValidPassword) { return res.status(401).json({ - message: "Das Passwort ist nicht korrekt.", + message: "The password is incorrect.", }); } @@ -49,16 +54,21 @@ async function loginUser(req: Request, res: Response) { // Create token for authentication const token = jwt.sign(userData, process.env.JWT_SECRET!); - return res.status(200).json({ - message: "Erfolgreiche Anmeldung.", + const loginResponse: LoginResponse = { + message: "Successful login.", user: userData, token, - }); + }; + + return res.status(200).json(loginResponse); } catch (error) { - console.error("Fehler beim Login: ", error); - return res - .status(500) - .json({ message: "Interner Serverfehler beim Login.", error }); + console.error("Error on login attempt: ", error); + + const errorResponse: ErrorResponse = { + message: "Internal server error on login attempt.", + error, + }; + return res.status(500).json(errorResponse); } } |
