Files
nixi-api/src/domain/account/errors/AccountErrors.ts

45 lines
1.1 KiB
TypeScript

import { HTTPError } from "../../../errors";
import { MIN_PASSWORD_LENGTH } from "../validation/AccountValidation";
export class AccountNotFoundError extends HTTPError {
constructor(identifier: string) {
super(404, `Compte non trouvé : ${identifier}`);
}
}
export class AccountAlreadyExistsError extends HTTPError {
constructor(email: string) {
super(409, `Un compte avec cet email existe déjà : ${email}`);
}
}
export class BadPasswordError extends HTTPError {
constructor() {
super(401, "Mot de passe incorrect");
}
}
export class InvalidEmailFormatError extends HTTPError {
constructor(email: string) {
super(400, `Format d'email invalide : ${email}`);
}
}
export class WeakPasswordError extends HTTPError {
constructor() {
super(
400,
`Le mot de passe doit contenir au moins ${MIN_PASSWORD_LENGTH} caractères`,
);
}
}
export class TooManyAttemptsError extends HTTPError {
constructor(retryAfter: number) {
super(
429,
`Trop de tentatives de connexion. Réessayez dans ${retryAfter} secondes`,
);
}
}