mashafrancis/butternut-user

View on GitHub
src/app/user/user.validator.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { Injectable } from '@nestjs/common';
import {
    ValidatorConstraint,
    ValidatorConstraintInterface,
} from 'class-validator';
import { UserService } from './user.service';

@ValidatorConstraint({ name: 'isUserAlreadyExist', async: true })
@Injectable()
export class IsUserAlreadyExist implements ValidatorConstraintInterface {
    constructor(protected readonly userService: UserService) {}

    public async validate(email: string) {
        if (!this.userService) {
            return true;
        }
        const user = await this.userService.findByEmail(email);
        return !user;
    }
}