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:
2025-08-12 18:29:05 +00:00
parent 14e69e1f61
commit 3fe9fc7142
18 changed files with 1774 additions and 64 deletions

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