import { Injectable } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import { InjectRepository } from '@nestjs/typeorm'; import { Repository } from 'typeorm'; import { User } from './user.entity'; @Injectable() export class AuthService { constructor( @InjectRepository(User) private usersRepository: Repository, private jwtService: JwtService, ) { } async validateUser(login: string, password: string): Promise { const user = await this.usersRepository.findOne({ where: { login } }); if (user && user.password === password) { const { password, ...result } = user; return result; } return null; } async login(user: any) { const payload = { username: user.login, sub: user.id }; return { access_token: this.jwtService.sign(payload), }; } }