trust-module-backend/src/auth/auth.service.ts

34 lines
945 B
TypeScript

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<User>,
private jwtService: JwtService,
) { }
async validateUser(login: string, password: string): Promise<any> {
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),
};
}
}