110 lines
3.6 KiB
TypeScript
110 lines
3.6 KiB
TypeScript
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
|
|
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",
|
|
PASSWORD_MISMATCH: "AUTH_PASSWORD_MISMATCH",
|
|
EMAIL_EXISTS: "AUTH_EMAIL_EXISTS",
|
|
INVALID_USER_DATA: "AUTH_INVALID_USER_DATA",
|
|
LOGOUT_ERROR: "AUTH_LOGOUT_ERROR",
|
|
REGISTRATION_FAILED: "AUTH_REGISTRATION_FAILED",
|
|
USER_NOT_FOUND: "AUTH_USER_NOT_FOUND",
|
|
INVALID_PASSWORD: "AUTH_INVALID_PASSWORD",
|
|
PASSWORD_CHANGE_ERROR: "AUTH_PASSWORD_CHANGE_ERROR",
|
|
FETCH_ERROR: "AUTH_FETCH_ERROR",
|
|
FORBIDDEN: "AUTH_FORBIDDEN",
|
|
},
|
|
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",
|
|
NETWORK_ERROR: "FAVORITE_NETWORK_ERROR",
|
|
SERVER_ERROR: "FAVORITE_SERVER_ERROR",
|
|
STATUS_CHECK_ERROR: "FAVORITE_STATUS_CHECK_ERROR",
|
|
},
|
|
PREFERENCES: {
|
|
FETCH_ERROR: "PREFERENCES_FETCH_ERROR",
|
|
UPDATE_ERROR: "PREFERENCES_UPDATE_ERROR",
|
|
CONTEXT_ERROR: "PREFERENCES_CONTEXT_ERROR",
|
|
},
|
|
CACHE: {
|
|
DELETE_ERROR: "CACHE_DELETE_ERROR",
|
|
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",
|
|
SIZE_FETCH_ERROR: "CACHE_SIZE_FETCH_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",
|
|
},
|
|
MIDDLEWARE: {
|
|
UNAUTHORIZED: "MIDDLEWARE_UNAUTHORIZED",
|
|
INVALID_TOKEN: "MIDDLEWARE_INVALID_TOKEN",
|
|
INVALID_SESSION: "MIDDLEWARE_INVALID_SESSION",
|
|
},
|
|
CLIENT: {
|
|
FETCH_ERROR: "CLIENT_FETCH_ERROR",
|
|
NETWORK_ERROR: "CLIENT_NETWORK_ERROR",
|
|
REQUEST_FAILED: "CLIENT_REQUEST_FAILED",
|
|
},
|
|
ADMIN: {
|
|
FETCH_USERS_ERROR: "ADMIN_FETCH_USERS_ERROR",
|
|
UPDATE_USER_ERROR: "ADMIN_UPDATE_USER_ERROR",
|
|
DELETE_USER_ERROR: "ADMIN_DELETE_USER_ERROR",
|
|
FETCH_STATS_ERROR: "ADMIN_FETCH_STATS_ERROR",
|
|
CANNOT_DELETE_SELF: "ADMIN_CANNOT_DELETE_SELF",
|
|
RESET_PASSWORD_ERROR: "ADMIN_RESET_PASSWORD_ERROR",
|
|
CANNOT_RESET_OWN_PASSWORD: "ADMIN_CANNOT_RESET_OWN_PASSWORD",
|
|
},
|
|
} as const;
|
|
|
|
type Values<T> = T[keyof T];
|
|
type ErrorCodeValues<T> = T extends { [key: string]: infer U } ? U extends { [key: string]: string } ? Values<U> : never : never;
|
|
|
|
export type ErrorCode = ErrorCodeValues<typeof ERROR_CODES>;
|