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`, ); } }