Files
2024-01-18 19:27:41 +08:00

39 lines
901 B
Python

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from datetime import datetime
from pydantic import ConfigDict, Field, field_validator
from backend.app.common.enums import MethodType
from backend.app.schemas.base import SchemaBase
class ApiSchemaBase(SchemaBase):
name: str
method: MethodType = Field(default=MethodType.GET, description='请求方法')
path: str = Field(..., description='api路径')
remark: str | None = None
@field_validator('method')
@classmethod
def method_validator(cls, v):
if not v.isupper():
raise ValueError('请求方式必须大写')
return v
class CreateApiParam(ApiSchemaBase):
pass
class UpdateApiParam(ApiSchemaBase):
pass
class GetApiListDetails(ApiSchemaBase):
model_config = ConfigDict(from_attributes=True)
id: int
created_time: datetime
updated_time: datetime | None = None