Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | 2x 2x 7x 5x 5x 1x 1x 2x 1x 1x 1x 2x 2x 2x | import { AppMessage, AppUser, AppUserLoginCredentials, AppUserLogoutCredentials, AppUserName } from '@app/backend-interfaces'; import { Injectable } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import { IAuthPayload, IAuthService } from '../interfaces/auth.interface'; export const AUTH_SERVICE_TOKEN = Symbol('AUTH_SERVICE_TOKEN'); @Injectable() export class AppAuthService implements IAuthService { constructor(private readonly jwt: JwtService) {} public generateJWToken(payload: IAuthPayload) { const token = this.jwt.sign(payload); return token; } public decodeJWToken(token: string) { const result = this.jwt.decode(token); return result; } public ping(): AppMessage { return new AppMessage({ message: `${AppAuthService.name} is online.`, }); } public login(credentials: AppUserLoginCredentials): AppUser { return this.authenticateAndReturnProfile(credentials); } public logout(credentials: AppUserLogoutCredentials): AppMessage { return new AppMessage({ message: `success for token ${credentials.token}` }); } public signup(credentials: AppUserLoginCredentials): AppUser { return this.authenticateAndReturnProfile(credentials); } private authenticateAndReturnProfile(credentials: AppUserLoginCredentials): AppUser { const name = new AppUserName({ first: '', last: '', }); const profile = new AppUser({ id: '0', name, token: this.generateJWToken({ email: credentials.email, name: `${name.first} ${name.last}`, }), }); return profile; } } |