import { Injectable, NotFoundException, UnauthorizedException } from '@nestjs/common' import { PrismaService } from './../prisma/prisma.service' import { JwtService } from '@nestjs/jwt' import { AuthEntity } from './entity/auth.entity' import * as bcrypt from 'bcrypt' @Injectable() export class AuthService { constructor(private prisma: PrismaService, private jwtService: JwtService) {} async login(name: string, password: string): Promise { const player = await this.prisma.player.findUnique({ where: { name: name } }) if (!player) { throw new NotFoundException(`Aucun⋅e joueur⋅se avec pour nom ${name}`) } const isPasswordValid = await bcrypt.compare(password, player.password) if (!isPasswordValid) { throw new UnauthorizedException('Mot de passe incorrect') } return { accessToken: this.jwtService.sign({ playerId: player.id }), } } }