2021-01-15 12:53:09 -05:00
|
|
|
import { Injectable } from '@nestjs/common';
|
|
|
|
import { UsersService } from '../users/users.service';
|
|
|
|
import { User } from '../users/user.entity';
|
|
|
|
|
|
|
|
@Injectable()
|
|
|
|
export class AuthService {
|
|
|
|
constructor(private usersService: UsersService) {}
|
|
|
|
|
|
|
|
async validateToken(token: string): Promise<User> {
|
2021-01-21 13:37:43 -05:00
|
|
|
const parts = token.split('.');
|
|
|
|
const user = await this.usersService.getUserByAuthToken(parts[0], parts[1]);
|
2021-01-15 12:53:09 -05:00
|
|
|
if (user) {
|
2021-01-21 13:37:43 -05:00
|
|
|
await this.usersService.setLastUsedToken(parts[0])
|
2021-01-15 12:53:09 -05:00
|
|
|
return user;
|
|
|
|
}
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
}
|