refacto: error and error codes in services
This commit is contained in:
72
src/constants/errorCodes.ts
Normal file
72
src/constants/errorCodes.ts
Normal file
@@ -0,0 +1,72 @@
|
||||
export const ERROR_CODES = {
|
||||
MONGODB: {
|
||||
MISSING_URI: "MONGODB_MISSING_URI",
|
||||
CONNECTION_FAILED: "MONGODB_CONNECTION_FAILED",
|
||||
},
|
||||
AUTH: {
|
||||
UNAUTHENTICATED: "AUTH_UNAUTHENTICATED",
|
||||
INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS",
|
||||
PASSWORD_NOT_STRONG: "AUTH_PASSWORD_NOT_STRONG",
|
||||
EMAIL_EXISTS: "AUTH_EMAIL_EXISTS",
|
||||
INVALID_USER_DATA: "AUTH_INVALID_USER_DATA",
|
||||
},
|
||||
KOMGA: {
|
||||
MISSING_CONFIG: "KOMGA_MISSING_CONFIG",
|
||||
MISSING_CREDENTIALS: "KOMGA_MISSING_CREDENTIALS",
|
||||
CONNECTION_ERROR: "KOMGA_CONNECTION_ERROR",
|
||||
HTTP_ERROR: "KOMGA_HTTP_ERROR",
|
||||
SERVER_UNREACHABLE: "KOMGA_SERVER_UNREACHABLE",
|
||||
},
|
||||
CONFIG: {
|
||||
SAVE_ERROR: "CONFIG_SAVE_ERROR",
|
||||
FETCH_ERROR: "CONFIG_FETCH_ERROR",
|
||||
TTL_SAVE_ERROR: "CONFIG_TTL_SAVE_ERROR",
|
||||
TTL_FETCH_ERROR: "CONFIG_TTL_FETCH_ERROR",
|
||||
},
|
||||
LIBRARY: {
|
||||
NOT_FOUND: "LIBRARY_NOT_FOUND",
|
||||
FETCH_ERROR: "LIBRARY_FETCH_ERROR",
|
||||
},
|
||||
SERIES: {
|
||||
FETCH_ERROR: "SERIES_FETCH_ERROR",
|
||||
NO_BOOKS_FOUND: "SERIES_NO_BOOKS_FOUND",
|
||||
},
|
||||
BOOK: {
|
||||
NOT_FOUND: "BOOK_NOT_FOUND",
|
||||
PROGRESS_UPDATE_ERROR: "BOOK_PROGRESS_UPDATE_ERROR",
|
||||
PROGRESS_DELETE_ERROR: "BOOK_PROGRESS_DELETE_ERROR",
|
||||
PAGES_FETCH_ERROR: "BOOK_PAGES_FETCH_ERROR",
|
||||
DOWNLOAD_CANCELLED: "BOOK_DOWNLOAD_CANCELLED",
|
||||
},
|
||||
FAVORITE: {
|
||||
ADD_ERROR: "FAVORITE_ADD_ERROR",
|
||||
DELETE_ERROR: "FAVORITE_DELETE_ERROR",
|
||||
FETCH_ERROR: "FAVORITE_FETCH_ERROR",
|
||||
UPDATE_ERROR: "FAVORITE_UPDATE_ERROR",
|
||||
},
|
||||
PREFERENCES: {
|
||||
FETCH_ERROR: "PREFERENCES_FETCH_ERROR",
|
||||
UPDATE_ERROR: "PREFERENCES_UPDATE_ERROR",
|
||||
CONTEXT_ERROR: "PREFERENCES_CONTEXT_ERROR",
|
||||
},
|
||||
CACHE: {
|
||||
DELETE_ERROR: "CACHE_DELETE_ERROR",
|
||||
},
|
||||
UI: {
|
||||
TABS_TRIGGER_ERROR: "UI_TABS_TRIGGER_ERROR",
|
||||
TABS_CONTENT_ERROR: "UI_TABS_CONTENT_ERROR",
|
||||
},
|
||||
IMAGE: {
|
||||
FETCH_ERROR: "IMAGE_FETCH_ERROR",
|
||||
},
|
||||
HOME: {
|
||||
FETCH_ERROR: "HOME_FETCH_ERROR",
|
||||
},
|
||||
} as const;
|
||||
|
||||
type ValueOf<T> = T[keyof T];
|
||||
type ErrorCodeValues = ValueOf<{
|
||||
[K in keyof typeof ERROR_CODES]: ValueOf<(typeof ERROR_CODES)[K]>;
|
||||
}>;
|
||||
|
||||
export type ErrorCode = ErrorCodeValues;
|
||||
69
src/constants/errorMessages.ts
Normal file
69
src/constants/errorMessages.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
import { ERROR_CODES } from "./errorCodes";
|
||||
|
||||
export const ERROR_MESSAGES: Record<string, string> = {
|
||||
// MongoDB
|
||||
[ERROR_CODES.MONGODB.MISSING_URI]:
|
||||
"Veuillez définir la variable d'environnement MONGODB_URI dans votre fichier .env",
|
||||
[ERROR_CODES.MONGODB.CONNECTION_FAILED]: "La connexion à MongoDB a échoué",
|
||||
|
||||
// Auth
|
||||
[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.EMAIL_EXISTS]: "Cette adresse email est déjà utilisée",
|
||||
[ERROR_CODES.AUTH.INVALID_USER_DATA]: "Données utilisateur invalides",
|
||||
|
||||
// Komga
|
||||
[ERROR_CODES.KOMGA.MISSING_CONFIG]: "Configuration Komga non trouvée",
|
||||
[ERROR_CODES.KOMGA.MISSING_CREDENTIALS]: "Credentials Komga manquants",
|
||||
[ERROR_CODES.KOMGA.CONNECTION_ERROR]: "Erreur lors du test de connexion",
|
||||
[ERROR_CODES.KOMGA.HTTP_ERROR]: "Erreur HTTP: {status} {statusText}",
|
||||
[ERROR_CODES.KOMGA.SERVER_UNREACHABLE]:
|
||||
"Impossible de se connecter au serveur. Vérifiez l'URL et que le serveur est accessible.",
|
||||
|
||||
// Library
|
||||
[ERROR_CODES.LIBRARY.NOT_FOUND]: "Bibliothèque {libraryId} non trouvée",
|
||||
[ERROR_CODES.LIBRARY.FETCH_ERROR]: "Erreur lors de la récupération des bibliothèques",
|
||||
|
||||
// Series
|
||||
[ERROR_CODES.SERIES.FETCH_ERROR]: "Erreur lors de la récupération des séries",
|
||||
[ERROR_CODES.SERIES.NO_BOOKS_FOUND]: "Aucun livre trouvé dans la série",
|
||||
|
||||
// Book
|
||||
[ERROR_CODES.BOOK.NOT_FOUND]: "Livre non trouvé",
|
||||
[ERROR_CODES.BOOK.PROGRESS_UPDATE_ERROR]: "Erreur lors de la mise à jour de la progression",
|
||||
[ERROR_CODES.BOOK.PROGRESS_DELETE_ERROR]: "Erreur lors de la suppression de la progression",
|
||||
[ERROR_CODES.BOOK.PAGES_FETCH_ERROR]: "Erreur lors de la récupération des pages",
|
||||
[ERROR_CODES.BOOK.DOWNLOAD_CANCELLED]: "Téléchargement annulé",
|
||||
|
||||
// Favorite
|
||||
[ERROR_CODES.FAVORITE.ADD_ERROR]: "Erreur lors de l'ajout aux favoris",
|
||||
[ERROR_CODES.FAVORITE.DELETE_ERROR]: "Erreur lors de la suppression des favoris",
|
||||
[ERROR_CODES.FAVORITE.FETCH_ERROR]: "Erreur lors de la récupération des favoris",
|
||||
[ERROR_CODES.FAVORITE.UPDATE_ERROR]: "Erreur lors de la modification des favoris",
|
||||
|
||||
// Preferences
|
||||
[ERROR_CODES.PREFERENCES.FETCH_ERROR]: "Erreur lors de la récupération des préférences",
|
||||
[ERROR_CODES.PREFERENCES.UPDATE_ERROR]: "Erreur lors de la mise à jour des préférences",
|
||||
[ERROR_CODES.PREFERENCES.CONTEXT_ERROR]:
|
||||
"usePreferences doit être utilisé dans un PreferencesProvider",
|
||||
|
||||
// Cache
|
||||
[ERROR_CODES.CACHE.DELETE_ERROR]: "Erreur lors de la suppression du cache",
|
||||
|
||||
// UI
|
||||
[ERROR_CODES.UI.TABS_TRIGGER_ERROR]: "TabsTrigger doit être utilisé dans un composant Tabs",
|
||||
[ERROR_CODES.UI.TABS_CONTENT_ERROR]: "TabsContent doit être utilisé dans un composant Tabs",
|
||||
|
||||
// Image
|
||||
[ERROR_CODES.IMAGE.FETCH_ERROR]: "Erreur lors de la récupération de l'image",
|
||||
|
||||
// Home
|
||||
[ERROR_CODES.HOME.FETCH_ERROR]: "Erreur lors de la récupération des données de la page d'accueil",
|
||||
|
||||
// Config
|
||||
[ERROR_CODES.CONFIG.SAVE_ERROR]: "Erreur lors de la sauvegarde de la configuration",
|
||||
[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",
|
||||
} as const;
|
||||
Reference in New Issue
Block a user