eletrotupi / tcc / api/src/lib/errors/UserErrors.ts master
730 B Raw
import { DomainError } from "./base";

export class MissingFieldsError extends DomainError {
  constructor(fields: string[]) {
    super(`Missing required fields: ${fields.join(", ")}`, 400);
  }
}

export class ShortPasswordError extends DomainError {
  constructor() { super("Password must be at least 8 characters", 400); }
}

export class DuplicateEmailError extends DomainError {
  constructor(email: string) { super(`${email} is already in use`, 409); }
}

export class InvalidEmailError extends DomainError {
  constructor() {
    super(`Email is invalid`, 400);
  }
}


export class UserNotFoundError extends DomainError {
  constructor(id?: number) {
    super(id ? `User ${id} not found` : "User not found", 404);
  }
}