from __future__ import annotations from pydantic import BaseModel, ConfigDict, Field class VpV3QuotaConfigData(BaseModel): """后台保存虚拟素材库配额。""" project_limit: int = Field(0, ge=0, description="虚拟项目上限,0=不可创建") asset_limit: int = Field(0, ge=0, description="虚拟素材总数上限,0=不可上传") storage_mb_limit: int = Field(0, ge=0, description="存储上限 MB,0=不可上传文件") remark: str | None = Field(None, max_length=500, description="后台备注") class VpV3QuotaConfigResponse(BaseModel): """虚拟素材库配额响应。""" model_config = ConfigDict(extra="ignore") api_key_id: str = Field(description="API Key ID") # 上限 project_limit: int = Field(0, description="虚拟项目上限") asset_limit: int = Field(0, description="虚拟素材上限") storage_mb_limit: int = Field(0, description="存储上限 MB") remark: str | None = Field(None, description="备注") # 已使用 project_used: int = Field(0, description="已创建项目数") asset_used: int = Field(0, description="已上传素材数") storage_mb_used: float = Field(0.0, description="已使用存储 MB") enabled: bool = Field(False, description="是否启用(任一上限 > 0)")