/* eslint-disable prettier/prettier */ import { Injectable } from '@nestjs/common' import { JwtService } from '@nestjs/jwt' import { User } from '@prisma/client' import { UserDTO } from 'src/user/dtos/user.dto' import { UserService } from '../user/user.service' @Injectable() export class AuthService { constructor( private userService: UserService, private jwtService: JwtService ) {} //app.controller.ts에서 @UseGuards(AuthGuard('local'))용 async validateUser(email: string, password: string): Promise { const user = await this.userService.fetchOneByEmail(email) if (user && user.password === password) { const { password, ...result } = user // result는 password 를 제외한 user의 모든 정보를 포함한다. //console.log(result) console.log(password) return result } return null } async login(user: any) { //console.log(user) const payload = { email: user.email, name: user.name } // console.log(payload) return { access_token: this.jwtService.sign(payload) } } async register(data: UserDTO): Promise { return this.userService.add(data) } }