diff options
Diffstat (limited to 'server/providers/services/users.service.ts')
-rw-r--r-- | server/providers/services/users.service.ts | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/server/providers/services/users.service.ts b/server/providers/services/users.service.ts new file mode 100644 index 0000000..efeef1d --- /dev/null +++ b/server/providers/services/users.service.ts @@ -0,0 +1,27 @@ +import { Injectable } from '@nestjs/common'; +import { InjectRepository } from '@nestjs/typeorm'; +import { Repository } from 'typeorm'; +import bcrypt from 'bcrypt'; +import { User } from '../../entities/user.entity'; + +@Injectable() +export class UsersService { + constructor( + @InjectRepository(User) + private usersRespository: Repository<User>, + ) {} + + findBy(options: Record<string, any>) { + return this.usersRespository.findOne(options); + } + + find(id: number) { + return this.usersRespository.findOne(id); + } + + async verify(email: string, password: string) { + const user = await this.usersRespository.findOne({ email }); + if (!user) return false; + return bcrypt.compare(password, user.password_hash); + } +} |