refacto: errors in apis

This commit is contained in:
Julien Froidefond
2025-02-25 08:40:06 +01:00
parent bf6fa0a71d
commit a690a5af6f
29 changed files with 720 additions and 109 deletions

View File

@@ -7,8 +7,10 @@ export const ERROR_CODES = {
UNAUTHENTICATED: "AUTH_UNAUTHENTICATED",
INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
PASSWORD_NOT_STRONG: "AUTH_PASSWORD_NOT_STRONG",
PASSWORD_MISMATCH: "AUTH_PASSWORD_MISMATCH",
EMAIL_EXISTS: "AUTH_EMAIL_EXISTS",
INVALID_USER_DATA: "AUTH_INVALID_USER_DATA",
LOGOUT_ERROR: "AUTH_LOGOUT_ERROR",
},
KOMGA: {
MISSING_CONFIG: "KOMGA_MISSING_CONFIG",
@@ -54,6 +56,9 @@ export const ERROR_CODES = {
SAVE_ERROR: "CACHE_SAVE_ERROR",
LOAD_ERROR: "CACHE_LOAD_ERROR",
CLEAR_ERROR: "CACHE_CLEAR_ERROR",
MODE_FETCH_ERROR: "CACHE_MODE_FETCH_ERROR",
MODE_UPDATE_ERROR: "CACHE_MODE_UPDATE_ERROR",
INVALID_MODE: "CACHE_INVALID_MODE",
},
UI: {
TABS_TRIGGER_ERROR: "UI_TABS_TRIGGER_ERROR",
@@ -65,6 +70,16 @@ export const ERROR_CODES = {
HOME: {
FETCH_ERROR: "HOME_FETCH_ERROR",
},
MIDDLEWARE: {
UNAUTHORIZED: "MIDDLEWARE_UNAUTHORIZED",
INVALID_TOKEN: "MIDDLEWARE_INVALID_TOKEN",
INVALID_SESSION: "MIDDLEWARE_INVALID_SESSION",
},
DEBUG: {
FETCH_ERROR: "DEBUG_FETCH_ERROR",
SAVE_ERROR: "DEBUG_SAVE_ERROR",
CLEAR_ERROR: "DEBUG_CLEAR_ERROR",
},
} as const;
type ValueOf<T> = T[keyof T];

View File

@@ -1,6 +1,11 @@
import { ERROR_CODES } from "./errorCodes";
export const ERROR_MESSAGES: Record<string, string> = {
// Middleware
[ERROR_CODES.MIDDLEWARE.UNAUTHORIZED]: "🚫 Accès non autorisé",
[ERROR_CODES.MIDDLEWARE.INVALID_TOKEN]: "🔐 Session invalide ou expirée",
[ERROR_CODES.MIDDLEWARE.INVALID_SESSION]: "⚠️ Données de session invalides",
// MongoDB
[ERROR_CODES.MONGODB.MISSING_URI]:
"🔧 Veuillez définir la variable d'environnement MONGODB_URI dans votre fichier .env",
@@ -10,8 +15,10 @@ export const ERROR_MESSAGES: Record<string, string> = {
[ERROR_CODES.AUTH.UNAUTHENTICATED]: "🔒 Utilisateur non authentifié",
[ERROR_CODES.AUTH.INVALID_CREDENTIALS]: "⛔️ Identifiants invalides",
[ERROR_CODES.AUTH.PASSWORD_NOT_STRONG]: "💪 Le mot de passe n'est pas assez fort",
[ERROR_CODES.AUTH.PASSWORD_MISMATCH]: "❌ Les mots de passe ne correspondent pas",
[ERROR_CODES.AUTH.EMAIL_EXISTS]: "📧 Cette adresse email est déjà utilisée",
[ERROR_CODES.AUTH.INVALID_USER_DATA]: "👤 Données utilisateur invalides",
[ERROR_CODES.AUTH.LOGOUT_ERROR]: "🚪 Erreur lors de la déconnexion",
// Komga
[ERROR_CODES.KOMGA.MISSING_CONFIG]: "⚙️ Configuration Komga non trouvée",
@@ -53,6 +60,9 @@ export const ERROR_MESSAGES: Record<string, string> = {
[ERROR_CODES.CACHE.SAVE_ERROR]: "💾 Erreur lors de la sauvegarde dans le cache",
[ERROR_CODES.CACHE.LOAD_ERROR]: "📂 Erreur lors du chargement du cache",
[ERROR_CODES.CACHE.CLEAR_ERROR]: "🧹 Erreur lors de la suppression complète du cache",
[ERROR_CODES.CACHE.MODE_FETCH_ERROR]: "⚙️ Erreur lors de la récupération du mode de cache",
[ERROR_CODES.CACHE.MODE_UPDATE_ERROR]: "⚙️ Erreur lors de la mise à jour du mode de cache",
[ERROR_CODES.CACHE.INVALID_MODE]: "⚠️ Mode de cache invalide. Doit être 'file' ou 'memory'",
// UI
[ERROR_CODES.UI.TABS_TRIGGER_ERROR]: "🔄 TabsTrigger doit être utilisé dans un composant Tabs",
@@ -70,4 +80,9 @@ export const ERROR_MESSAGES: Record<string, string> = {
[ERROR_CODES.CONFIG.FETCH_ERROR]: "⚙️ Erreur lors de la récupération de la configuration",
[ERROR_CODES.CONFIG.TTL_SAVE_ERROR]: "⏱️ Erreur lors de la sauvegarde de la configuration TTL",
[ERROR_CODES.CONFIG.TTL_FETCH_ERROR]: "⏱️ Erreur lors de la récupération de la configuration TTL",
// Debug
[ERROR_CODES.DEBUG.FETCH_ERROR]: "🔍 Erreur lors de la récupération des logs",
[ERROR_CODES.DEBUG.SAVE_ERROR]: "💾 Erreur lors de l'enregistrement du log",
[ERROR_CODES.DEBUG.CLEAR_ERROR]: "🧹 Erreur lors de la suppression des logs",
} as const;