feat: add tenant-scoped rule and permission management

This commit is contained in:
wren
2026-05-21 22:03:08 +08:00
parent a2c2bf1969
commit 1f1bccf3b3
193 changed files with 64463 additions and 1771 deletions
@@ -7,7 +7,8 @@ class ContractTemplateListQueryDTO(BaseModel):
keyword: str | None = Field(None, description="关键词")
category_id: int | None = Field(None, description="分类ID")
category_name: str | None = Field(None, description="分类名称")
region: str | None = Field(None, description="地区")
region: str | None = Field(None, description="兼容保留字段:租户展示值/旧地区")
tenant_code: str | None = Field(None, description="租户编码")
file_format: str | None = Field(None, description="文件格式")
is_featured: bool | None = Field(None, description="是否推荐")
page: int = Field(1, ge=1, description="页码")
@@ -22,7 +23,8 @@ class ContractTemplateSearchQueryDTO(BaseModel):
q: str = Field(..., min_length=1, description="搜索关键词")
category_id: int | None = Field(None, description="分类ID")
category_name: str | None = Field(None, description="分类名称")
region: str | None = Field(None, description="地区")
region: str | None = Field(None, description="兼容保留字段:租户展示值/旧地区")
tenant_code: str | None = Field(None, description="租户编码")
page: int = Field(1, ge=1, description="页码")
page_size: int = Field(12, ge=1, le=200, description="分页大小")
sort_by: str = Field("updated_at", description="排序字段")
@@ -35,6 +37,7 @@ class ContractTemplateCreateDTO(BaseModel):
title: str = Field(..., min_length=1, max_length=200, description="模板标题")
template_code: str = Field(..., min_length=1, max_length=50, description="模板编码")
category_id: int = Field(..., description="分类ID")
region: str | None = Field(None, description="所属地区")
region: str | None = Field(None, description="兼容保留字段:所属租户展示值/旧地区")
tenant_code: str | None = Field(None, description="所属租户编码")
description: str | None = Field(None, description="模板简介")
is_featured: bool = Field(False, description="是否推荐")