Ajout de la gestion des erreurs HTTP, implémentation de la validation des comptes, et mise à jour des dépendances. Création de tests pour les entités et services de compte, ainsi que l'ajout d'un système de limitation de taux.
This commit is contained in:
44
src/domain/account/errors/AccountErrors.ts
Normal file
44
src/domain/account/errors/AccountErrors.ts
Normal file
@ -0,0 +1,44 @@
|
||||
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`,
|
||||
);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user