generator-nest-js-boilerplate
Version:
This generator will help you to build your own Nest.js Mongodb API using TypeScript 4
55 lines (42 loc) • 1.54 kB
text/typescript
import * as bcrypt from 'bcryptjs';
import { Types } from 'mongoose';
import { Injectable } from '@nestjs/common';
import SignUpDto from '@v1/auth/dto/sign-up.dto';
import { User } from '@prisma/client';
import UsersRepository from './users.repository';
import UpdateUserDto from './dto/update-user.dto';
()
export default class UsersService {
constructor(private readonly usersRepository: UsersRepository) { }
public async create(user: SignUpDto): Promise<User> {
const hashedPassword = await bcrypt.hash(user.password, 10);
return this.usersRepository.create({
password: hashedPassword,
email: user.email,
});
}
public getUnverifiedUserByEmail(email: string): Promise<User | null> {
return this.usersRepository.getUnverifiedUserByEmail(email);
}
public getVerifiedUserByEmail(email: string): Promise<User | null> {
return this.usersRepository.getVerifiedUserByEmail(email);
}
public getById(id: string): Promise<User | null> {
return this.usersRepository.getById(id);
}
public getVerifiedUserById(id: string): Promise<User | null> {
return this.usersRepository.getVerifiedUserById(id);
}
public getUnverifiedUserById(id: string): Promise<User | null> {
return this.usersRepository.getUnverifiedUserById(id);
}
public update(
id: string,
data: UpdateUserDto,
): Promise<User | null> {
return this.usersRepository.updateById(id, data);
}
public getVerifiedUsers() {
return this.usersRepository.getVerifiedUsers();
}
}