From 4832b42d30d33bd5e88b11ad1b62e2a05d209cab Mon Sep 17 00:00:00 2001
From: L4168 <L4168@student.jamk.fi>
Date: Tue, 25 Jun 2019 16:08:07 +0300
Subject: [PATCH] login now returns json on error

---
 src/user/user.service.ts | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/src/user/user.service.ts b/src/user/user.service.ts
index 8d0a64d..572e4bd 100644
--- a/src/user/user.service.ts
+++ b/src/user/user.service.ts
@@ -10,15 +10,15 @@ import { GameDTO } from '../game/game.dto';
 @Injectable()
 export class UserService {
     constructor(
-        @InjectRepository(PersonEntity) 
+        @InjectRepository(PersonEntity)
         private userRepository: Repository<PersonEntity>,
         @InjectRepository(GameEntity)
         private gameRepository: Repository<GameEntity>
-        ){}
+    ) { }
 
     async register(data: UserDTO) {
         const { name } = data;
-        let user = await this.userRepository.findOne({where: {name}});
+        let user = await this.userRepository.findOne({ where: { name } });
         if (user) {
             throw new HttpException('User already exists', HttpStatus.BAD_REQUEST);
         }
@@ -28,23 +28,20 @@ export class UserService {
     }
 
     async login(data: UserDTO) {
-        try{
+        try {
             const { name, password } = data;
-            const user = await this.userRepository.findOne({ where: { name }});
+            const user = await this.userRepository.findOne({ where: { name } });
             if (!user || !(await user.comparePassword(password))) {
-                throw new HttpException(
-                    'Invalid username/password',
-                    HttpStatus.BAD_REQUEST,
-                );
+                throw new HttpException('invalid password', HttpStatus.BAD_REQUEST);
             }
             return user.tokenObject();
-        }catch(error){
-            return error.message;
+        } catch (error) {
+            throw new HttpException(error.message, HttpStatus.BAD_REQUEST);
         }
     }
 
     // liitytään peliin
-    async joinGame(game: GameDTO, data: UserDTO){
+    async joinGame(game: GameDTO, data: UserDTO) {
         try {
             // etsi peli valinnan mukaan ja otetaan käyttäjän rooli kyseisestä pelistä talteen
             const role = await this.gameRepository.findOne();
@@ -55,7 +52,7 @@ export class UserService {
     }
 
     // liitytään factionii
-    async joinFaction(game: GameDTO, data: UserDTO): Promise<boolean>{
+    async joinFaction(game: GameDTO, data: UserDTO): Promise<boolean> {
         try {
             // tarkistetaan factionin salasana
             return true;
-- 
GitLab