50 lines
1.1 KiB
Python
50 lines
1.1 KiB
Python
from ninja import Schema
|
|
from typing import Optional
|
|
from pydantic import constr
|
|
|
|
# 新闻模块
|
|
class NewsSectionSchema(Schema):
|
|
id: int
|
|
title: str
|
|
code: str
|
|
order: int
|
|
visible: bool
|
|
|
|
class NewsSectionCreateSchema(Schema):
|
|
title: constr(max_length=100)
|
|
code: constr(max_length=50)
|
|
order: Optional[int] = 0
|
|
visible: Optional[bool] = True
|
|
|
|
class NewsSectionUpdateSchema(Schema):
|
|
title: Optional[constr(max_length=100)]
|
|
code: Optional[constr(max_length=50)]
|
|
order: Optional[int]
|
|
visible: Optional[bool]
|
|
|
|
# 新闻内容
|
|
class NewsSchema(Schema):
|
|
id: int
|
|
title: str
|
|
section_id: int
|
|
author_id: Optional[int]
|
|
content: str
|
|
cover: Optional[str]
|
|
is_published: bool
|
|
|
|
class NewsCreateSchema(Schema):
|
|
title: constr(max_length=200)
|
|
section_id: int
|
|
author_id: Optional[int]
|
|
content: str
|
|
cover: Optional[str]
|
|
is_published: Optional[bool] = True
|
|
|
|
class NewsUpdateSchema(Schema):
|
|
title: Optional[constr(max_length=200)]
|
|
section_id: Optional[int]
|
|
author_id: Optional[int]
|
|
content: Optional[str]
|
|
cover: Optional[str]
|
|
is_published: Optional[bool]
|