src/auth/auth.service.ts
Methods |
constructor(userRepository: UserRepository, jwtService: JwtService)
|
|||||||||
|
Defined in src/auth/auth.service.ts:9
|
|||||||||
|
Parameters :
|
| Async signIn | ||||||
signIn(authCredentialDto: AuthCredentialDto)
|
||||||
|
Defined in src/auth/auth.service.ts:20
|
||||||
|
Parameters :
Returns :
Promise<literal type>
|
| Async signUp | ||||||
signUp(authCredentialDto: AuthCredentialDto)
|
||||||
|
Defined in src/auth/auth.service.ts:16
|
||||||
|
Parameters :
Returns :
Promise<void>
|
import { JwtPayload } from './jwt.payload.interface';
import { UserRepository } from './user.repository';
import { Injectable, UnauthorizedException } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { AuthCredentialDto } from './dto/auth-credential.dto';
import { JwtService } from '@nestjs/jwt';
@Injectable()
export class AuthService {
constructor(
@InjectRepository(UserRepository)
private userRepository: UserRepository,
private jwtService: JwtService,
) {}
async signUp(authCredentialDto: AuthCredentialDto): Promise<void> {
return await this.userRepository.signUp(authCredentialDto);
}
async signIn(authCredentialDto: AuthCredentialDto): Promise<{ accessToken: string }> {
const username = await this.userRepository.validateUserPassword(authCredentialDto);
if (!username) {
throw new UnauthorizedException('Invalid credentials');
}
const payload: JwtPayload = { username };
const accessToken = await this.jwtService.sign(payload);
return { accessToken };
}
}