diff --git a/apps/api/src/account/account.service.ts b/apps/api/src/account/account.service.ts index d1b123b..235ad32 100644 --- a/apps/api/src/account/account.service.ts +++ b/apps/api/src/account/account.service.ts @@ -1,5 +1,5 @@ import type { CreateAccountDto } from './dto/create-account.dto'; -import { Injectable, UnauthorizedException } from '@nestjs/common'; +import { BadRequestException, Injectable, UnauthorizedException } from '@nestjs/common'; import { JwtService } from '@nestjs/jwt'; import { InjectModel } from '@nestjs/mongoose'; import * as bcrypt from 'bcrypt'; @@ -18,6 +18,10 @@ export class AccountService { ) {} public async create(createAccountDto: CreateAccountDto): Promise { + if (this.accountModel.exists({ username: createAccountDto.username })) { + throw new BadRequestException('Account already exists'); + } + const password = createAccountDto.password || generatePassword(); const createdAccount = new this.accountModel({ ...createAccountDto, password });