Files
shanxia2.0/backend/app/schemas/doclib.py
T

33 lines
924 B
Python

"""仅接受用户可编辑字段;租户、上传人和存储对象由服务端生成。"""
from typing import List
from pydantic import BaseModel, ConfigDict, Field, field_validator
class _Body(BaseModel):
model_config = ConfigDict(extra='forbid')
class FolderUpdateBody(_Body):
name: str = Field(min_length=1, max_length=120)
@field_validator('name')
@classmethod
def valid_name(cls, value):
value = value.strip()
if not value or value in ('.', '..') or any(ord(c) < 32 or c in '/\\' for c in value):
raise ValueError('文件夹名称不能为空或包含路径分隔符/控制字符')
return value
class FolderCreateBody(FolderUpdateBody):
parentId: str = Field(default='', max_length=64)
class ShareBody(_Body):
userIds: List[str] = Field(max_length=500)
class DeleteFilesBody(_Body):
ids: List[str] = Field(min_length=1, max_length=100)