Skip to content
Snippets Groups Projects
Commit 27de3ebd authored by L4168's avatar L4168
Browse files

login exceptions

parent 32f2cf56
No related branches found
No related tags found
No related merge requests found
Pipeline #63977 passed
import { Injectable, HttpException, HttpStatus } from '@nestjs/common';
import { Repository } from "typeorm";
import { InjectRepository } from "@nestjs/typeorm";
import { Repository } from 'typeorm';
import { InjectRepository } from '@nestjs/typeorm';
import { PersonEntity } from './user.entity';
import { UserDTO } from './user.dto';
......@@ -9,56 +9,54 @@ import { GameDTO } from '../game/game.dto';
@Injectable()
export class UserService {
constructor(
@InjectRepository(PersonEntity)
private userRepository: Repository<PersonEntity>,
@InjectRepository(GameEntity)
private gameRepository: Repository<GameEntity>
) { }
constructor(
@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 } });
if (user) {
throw new HttpException('User already exists', HttpStatus.BAD_REQUEST);
}
user = await this.userRepository.create(data);
await this.userRepository.save(user);
return user.tokenObject();
async register(data: UserDTO) {
const { name } = data;
let user = await this.userRepository.findOne({ where: { name } });
if (user) {
throw new HttpException('User already exists', HttpStatus.BAD_REQUEST);
}
user = await this.userRepository.create(data);
await this.userRepository.save(user);
return user.tokenObject();
}
async login(data: UserDTO) {
try {
const { name, password } = data;
const user = await this.userRepository.findOne({ where: { name } });
if (!user || !(await user.comparePassword(password))) {
throw new HttpException('invalid password', HttpStatus.BAD_REQUEST);
}
return user.tokenObject();
} catch (error) {
throw new HttpException(error.message, HttpStatus.BAD_REQUEST);
}
async login(data: UserDTO) {
const { name, password } = data;
const user = await this.userRepository.findOne({ where: { name } });
if (!user) {
throw new HttpException('User does not exist', HttpStatus.BAD_REQUEST);
}
// liitytään peliin
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();
return role;
} catch (error) {
return error.message;
}
if (!(await user.comparePassword(password))) {
throw new HttpException('Invalid password', HttpStatus.BAD_REQUEST);
}
return user.tokenObject();
}
// liitytään factionii
async joinFaction(game: GameDTO, data: UserDTO): Promise<boolean> {
try {
// tarkistetaan factionin salasana
return true;
} catch (error) {
return error;
}
// liitytään peliin
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();
return role;
} catch (error) {
return error.message;
}
}
// liitytään factionii
async joinFaction(game: GameDTO, data: UserDTO): Promise<boolean> {
try {
// tarkistetaan factionin salasana
return true;
} catch (error) {
return error;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment