auth.service.ts 1016 Bytes
import { Injectable } from '@nestjs/common';
import { JwtService } from '@nestjs/jwt';
import { UsersService } from '../users/users.service';
import * as bcrypt from 'bcrypt';

@Injectable()
export class AuthService {
  constructor(
    private userService: UsersService,
    private readonly jwtService: JwtService,
  ) { }

  async validateUser(email: string, pass: string): Promise<any> {
    // const user = await this.userService.findByMail(email);
    // if (bcrypt.compareSync(pass, String(user.userPassword))) {
    //   const { ...result } = user;
    //   return result;
    // }
    return null;
  }

  async publicLogin() {
    const payload = { type: 'public' };
    return {
      access_token: this.jwtService.sign(payload, { secret: process.env.TOKEN_SECRET }),
    };
  }

  async privateLogin(user: any) {
    const payload = { username: user.email, sub: user.id, type: 'private' };
    return {
      access_token: this.jwtService.sign(payload, { secret: process.env.TOKEN_SECRET }),
    };
  }
}