45 lines
1.1 KiB
TypeScript
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`,
|
|
);
|
|
}
|
|
}
|