Files
leaudit-platform-backend/fastapi_modules/fastapi_leaudit/domian/Dto/tenantDto.py
T

52 lines
2.5 KiB
Python

"""租户主数据 DTO。"""
from __future__ import annotations
from typing import Any
from pydantic import BaseModel, Field
class TenantCreateDTO(BaseModel):
"""创建租户请求。"""
tenant_code: str = Field(..., description="租户编码")
tenant_name: str = Field(..., description="租户名称")
tenant_short_name: str | None = Field(None, description="租户简称")
tenant_type: str = Field("CUSTOM", description="租户类型")
parent_tenant_code: str | None = Field(None, description="父级租户编码")
display_order: int = Field(0, description="显示顺序")
is_enabled: bool = Field(True, description="是否启用")
is_public: bool = Field(False, description="是否公共租户")
can_host_entry_module: bool = Field(True, description="是否可分配入口模块")
can_host_documents: bool = Field(True, description="是否可承载文档")
can_host_rag: bool = Field(True, description="是否可承载知识库")
can_host_templates: bool = Field(True, description="是否可承载模板")
feature_keys: list[str] = Field(default_factory=list, description="功能开关键列表")
alias_values: list[str] = Field(default_factory=list, description="兼容别名列表")
ext: dict[str, Any] | None = Field(None, description="扩展字段")
class TenantUpdateDTO(BaseModel):
"""更新租户请求。"""
tenant_name: str | None = Field(None, description="租户名称")
tenant_short_name: str | None = Field(None, description="租户简称")
tenant_type: str | None = Field(None, description="租户类型")
parent_tenant_code: str | None = Field(None, description="父级租户编码")
display_order: int | None = Field(None, description="显示顺序")
is_public: bool | None = Field(None, description="是否公共租户")
can_host_entry_module: bool | None = Field(None, description="是否可分配入口模块")
can_host_documents: bool | None = Field(None, description="是否可承载文档")
can_host_rag: bool | None = Field(None, description="是否可承载知识库")
can_host_templates: bool | None = Field(None, description="是否可承载模板")
feature_keys: list[str] | None = Field(None, description="功能开关键列表")
alias_values: list[str] | None = Field(None, description="兼容别名列表")
ext: dict[str, Any] | None = Field(None, description="扩展字段")
class TenantStatusUpdateDTO(BaseModel):
"""租户启停请求。"""
is_enabled: bool = Field(..., description="是否启用")