eletrotupi / tcc/ api/src/lib/errors/UserErrors.tsc8d420616655908de46d541595ce6c2baba960fa
730 B | 28 lines Raw
1
import { DomainError } from "./base";
2

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

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

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

17
export class InvalidEmailError extends DomainError {
18
  constructor() {
19
    super(`Email is invalid`, 400);
20
  }
21
}
22

23

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