from __future__ import annotations from enum import Enum class ResourceCapacityUnitEnum(str, Enum): """生成资源容量单位。""" MB = "MB" GB = "GB" TB = "TB" @property def bytes_multiplier(self) -> int: return RESOURCE_CAPACITY_UNIT_BYTES[self] @property def label(self) -> str: return RESOURCE_CAPACITY_UNIT_LABELS[self] MB_BYTES = 1048576 GB_BYTES = 1073741824 TB_BYTES = 1099511627776 RESOURCE_CAPACITY_UNIT_BYTES: dict[ResourceCapacityUnitEnum, int] = { ResourceCapacityUnitEnum.MB: MB_BYTES, ResourceCapacityUnitEnum.GB: GB_BYTES, ResourceCapacityUnitEnum.TB: TB_BYTES, } RESOURCE_CAPACITY_UNIT_LABELS: dict[ResourceCapacityUnitEnum, str] = { ResourceCapacityUnitEnum.MB: "MB(1048576 字节)", ResourceCapacityUnitEnum.GB: "GB(1073741824 字节)", ResourceCapacityUnitEnum.TB: "TB(1099511627776 字节)", } class ResourceCapacitySourceEnum(str, Enum): """最终容量配置来源。""" USER = "user" GLOBAL = "global" DISABLED = "disabled" class ResourceCapacityConfigKeyEnum(str, Enum): """SystemConfig 中使用的固定配置 key。""" RESOURCE_CAPACITY_LIMIT_CONFIG = "resource_capacity_limit_config" class ResourceCapacityErrorCodeEnum(str, Enum): """资源容量管控错误码。""" RESOURCE_CAPACITY_EXCEEDED = "RESOURCE_CAPACITY_EXCEEDED" class ResourceCapacityOperationEnum(str, Enum): """管理后台资源容量配置操作日志动作。""" UPDATE_GLOBAL_CONFIG = "更新全局资源容量配置" CREATE_USER_CONFIG = "新增用户资源容量配置" UPDATE_USER_CONFIG = "更新用户资源容量配置" DELETE_USER_CONFIG = "删除用户资源容量配置" RESOURCE_CAPACITY_EXCEEDED_MESSAGE = "您个人的空间容量已超额,请删除素材资源释放容量或购买更高额度的容量套餐"