34 lines
1.3 KiB
Python
34 lines
1.3 KiB
Python
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)")
|