ERROR_MESSAGES = {
    # Auth errors
    "AuthIncorrectCredentials": "Невірний логін або пароль",
    "AuthAccountBlocked": "Аккаунт заблокований",
    "AuthTokenExpired": "Токен прострочений",
    "AuthInvalidToken": "Невірний токен",

    # User errors
    "UserNotFound": "Користувача не знайдено",
    "UserAlreadyExists": "Користувач уже існує",
    "UserPermissionDenied": "Недостатньо прав доступу",

    # Customer errors
    "CustomerNotFound": "Клієнта не знайдено",
    "CustomerPhoneExists": "Телефон уже зареєстрований",

    # Item/Product errors
    "ItemNotFound": "Товар не знайдено",
    "ItemNotEmpty": "Неможливо видалити, оскільки містить пов'язані дані",
    "ItemOutOfStock": "Товар відсутній на складі",

    # General errors
    "ValidationError": "Помилка валідації даних",
    "DatabaseError": "Помилка бази даних",
    "ServerError": "Внутрішня помилка сервера",
    "NotFound": "Ресурс не знайдено",
    "AccessDenied": "Доступ заборонено",

    # Zone/City errors
    "ZoneNotFound": "Зону не знайдено",
    "ZoneAlreadyExists": "Зона з такою назвою уже існує",
    "ZoneNotEmpty": "Неможливо видалити зону, оскільки вона містить міста",
    "CityNotFound": "Місто не знайдено",

    # Category errors
    "CategoryNotFound": "Категорію не знайдено",
    "ParentCategoryNotFound": "Батьківську категорію не знайдено",

    # Manufacturer errors
    "ManufacturerNotFound": "Виробника не знайдено",
    "ManufacturerAlreadyExists": "Виробник з такою назвою уже існує",
    "ManufacturerNotEmpty": "Неможливо видалити виробника, є пов'язані продукти",
    "ManufacturerPhotoNotFound": "Фото виробника не знайдено",

    # Store errors
    "StoreNotFound": "Магазин не знайдено",
    "StoreAlreadyExists": "Магазин з такою назвою уже існує",
    "StoreNotEmpty": "Неможливо видалити магазин, є пов'язані товари",
    "StorePhotoNotFound": "Фото магазина не знайдено",

    # External API errors
    "ExternalAPIError": "Помилка зовнішнього API сервісу",
}


STATUS_CODES = {
    # Auth errors
    "AuthIncorrectCredentials": 401,
    "AuthAccountBlocked": 403,
    "AuthTokenExpired": 401,
    "AuthInvalidToken": 401,

    # User errors
    "UserNotFound": 404,
    "UserAlreadyExists": 409,
    "UserPermissionDenied": 403,

    # Customer errors
    "CustomerNotFound": 404,
    "CustomerPhoneExists": 409,

    # Item/Product errors
    "ItemNotFound": 404,
    "ItemNotEmpty": 409,
    "ItemOutOfStock": 409,

    # General errors
    "ValidationError": 422,
    "DatabaseError": 500,
    "ServerError": 500,
    "NotFound": 404,
    "AccessDenied": 403,

    # Zone/City errors
    "ZoneNotFound": 404,
    "ZoneAlreadyExists": 409,
    "ZoneNotEmpty": 409,
    "CityNotFound": 404,

    # Category errors
    "CategoryNotFound": 404,
    "ParentCategoryNotFound": 404,

    # Manufacturer errors
    "ManufacturerNotFound": 404,
    "ManufacturerAlreadyExists": 409,
    "ManufacturerNotEmpty": 409,
    "ManufacturerPhotoNotFound": 404,

    # Store errors
    "StoreNotFound": 404,
    "StoreAlreadyExists": 409,
    "StoreNotEmpty": 409,
    "StorePhotoNotFound": 404,

    # External API errors
    "ExternalAPIError": 502,
}