Constants
Description Générale
Le fichier responses.const.ts
contient un ensemble de constantes utilisées pour standardiser les messages de réponse dans le backend de l'application AlgoForge. Ces messages sont organisés par catégories (utilisateurs, tokens, authentification, algorithmes, etc.) et couvrent les cas de succès, d'erreurs, et de retours généraux. Ce fichier permet de centraliser les messages pour garantir la cohérence et faciliter la maintenance.
Structure des Réponses
1. Catégorie : User
Cette catégorie regroupe les messages liés aux utilisateurs.
Messages d'Erreur :
Email_already_exists
: "Email déjà utilisé."Not_found_or_already_verified
: "Utilisateur introuvable ou déjà vérifié."Not_verified
: "Utilisateur non vérifié."Invalid_password
: "Mot de passe incorrect."Invalid_profile_url
: "URL de photo de profil invalide."Not_found
: "Utilisateur introuvable."
Sous-Catégorie : Errors
While_creating_user
: "Erreur lors de la création de l'utilisateur."While_confirming_user
: "Erreur lors de la confirmation de l'inscription."
Sous-Catégorie : Success
Created
: "Utilisateur créé."Updated
: "Utilisateur mis à jour."Deleted
: "Utilisateur supprimé."Confirmed
: "Inscription confirmée."Found
: "Utilisateur trouvé."
2. Catégorie : Token
Cette catégorie regroupe les messages liés aux tokens d'authentification.
Messages d'Erreur :
Missing
: "Token manquant."Not_found
: "Token introuvable."Invalid
: "Token invalide."Expired
: "Token expiré."
Sous-Catégorie : Errors
While_creating_token
: "Erreur lors de la création du token de confirmation."
Sous-Catégorie : Success
Token_created
: "Token créé."Valid
: "Token valide."
3. Catégorie : Auth
Cette catégorie regroupe les messages liés à l'authentification.
Sous-Catégorie : Success
Logged_in
: "Connexion réussie."Logged_out
: "Déconnexion réussie."
4. Catégorie : Algo
Cette catégorie regroupe les messages liés aux algorithmes.
Messages d'Erreur :
Forbidden_create
: "Vous n'avez pas les droits pour créer cet algorithme."Forbidden_update
: "Vous n'avez pas les droits pour modifier cet algorithme."Not_found
: "Algorithme non trouvé."Invalid
: "Algorithme invalide."
Sous-Catégorie : By_User
Not_found
: "Aucun algorithme trouvé."Found
: "Algorithmes trouvés."
Sous-Catégorie : Errors
While_deleting_algo
: "Erreur lors de la suppression de l'algorithme."
Sous-Catégorie : Success
Created
: "Algorithme créé."Updated
: "Algorithme mis à jour."Deleted
: "Algorithme supprimé."Found
: "Algorithme trouvé."
5. Catégorie : General
Cette catégorie regroupe les messages généraux applicables à plusieurs contextes.
Messages Généraux :
Invalid_data
: "Données invalides."Missing_data
: "Il manque des données."Forbidden
: "Permission refusée."
Utilisation dans le Code
Exemple : Utilisation dans un Contrôleur
Les constantes définies dans ce fichier sont utilisées pour standardiser les réponses dans les contrôleurs et services.
Exemple de Code :
import { Responses } from "../../constants/responses.const";
private async register(req: Request, res: Response) {
const { email, password, pseudo } = req.body;
if (!email || !password || !pseudo) {
return res
.status(400)
.json({ message: Responses.General.Missing_data });
}
const emailExists = await this.usersService.checkEmailExists(email);
if (emailExists) {
return res
.status(409)
.json({ message: Responses.User.Email_already_exists });
}
// Suite de la logique...
}
Avantages de l'Approche
-
Cohérence :
- Les messages de réponse sont uniformes dans toute l'application.
-
Facilité de Maintenance :
- Les messages peuvent être modifiés en un seul endroit sans avoir à parcourir tout le code.
-
Lisibilité :
- Les développeurs peuvent facilement comprendre le type de réponse attendu en consultant les constantes.
-
Réutilisabilité :
- Les mêmes messages peuvent être utilisés dans plusieurs parties de l'application (contrôleurs, services, middlewares).