110 lines
4.1 KiB
Python
110 lines
4.1 KiB
Python
|
|
from ninja_schema import ModelSchema
|
||
|
|
from apps.dict.models import Dict, DictItem
|
||
|
|
from apps.project.models import Contact, Abbreviation
|
||
|
|
from ninja import Field, Schema
|
||
|
|
from typing import List, Union
|
||
|
|
|
||
|
|
class DictOut(ModelSchema):
|
||
|
|
class Config:
|
||
|
|
model = Dict
|
||
|
|
include = ('id', 'code', 'name', 'remark', 'status', 'update_datetime')
|
||
|
|
|
||
|
|
class DictItemOut(ModelSchema):
|
||
|
|
class Config:
|
||
|
|
model = DictItem
|
||
|
|
include = (
|
||
|
|
'id', 'update_datetime', 'sort', 'title', 'key', 'status', 'remark', 'show_title', 'doc_name',
|
||
|
|
'publish_date',
|
||
|
|
'source')
|
||
|
|
|
||
|
|
class DictIndexInput(Schema):
|
||
|
|
name: str = Field(None, alias='name')
|
||
|
|
remark: str = Field(None, alias='remark')
|
||
|
|
code: str = Field(None, alias='code')
|
||
|
|
status: str = Field(None, alias='status')
|
||
|
|
update_datetime_start: str = Field(None, alias='update_datetime[0]')
|
||
|
|
update_datetime_end: str = Field(None, alias='update_datetime[1]')
|
||
|
|
|
||
|
|
class ChangeStautsSchemaInput(Schema):
|
||
|
|
id: int = Field(None, alias='id')
|
||
|
|
status: Union[str, int] = Field(None, alias='status')
|
||
|
|
|
||
|
|
class DictItemInput(Schema):
|
||
|
|
dict_id: int = Field(None, alias='id')
|
||
|
|
title: str = Field(None, alias='title')
|
||
|
|
key: str = Field(None, alias='key')
|
||
|
|
status: str = Field(None, alias='status')
|
||
|
|
show_title: str = Field(None, alias='show_title')
|
||
|
|
update_datetime_start: str = Field(None, alias='update_datetime[0]')
|
||
|
|
update_datetime_end: str = Field(None, alias='update_datetime[1]')
|
||
|
|
|
||
|
|
class DictItemChangeSrotInput(Schema):
|
||
|
|
id: int = Field(None, alias='id')
|
||
|
|
numberName: str = Field(None, alias='numberName')
|
||
|
|
numberValue: int = Field(None, alias='numberValue')
|
||
|
|
|
||
|
|
class DictItemCreateInputSchema(Schema):
|
||
|
|
dict_id: int = Field(None, alias='id')
|
||
|
|
remark: str = Field(None, alias='remark')
|
||
|
|
sort: int = Field(None, alias='sort')
|
||
|
|
status: str = Field(None, alias='status')
|
||
|
|
title: str = Field(None, alias='title')
|
||
|
|
show_title: str = Field(None, alias='show_title')
|
||
|
|
doc_name: str = Field(None, alias='doc_name')
|
||
|
|
publish_date: str = Field(None, alias='publish_date')
|
||
|
|
source: str = Field(None, alias='source')
|
||
|
|
|
||
|
|
# 定义快速新增依据标注接口
|
||
|
|
class DictStdItemCreateInputSchema(Schema):
|
||
|
|
code: str = Field(None, alias='code')
|
||
|
|
remark: str = Field(None, alias='remark')
|
||
|
|
sort: int = Field(None, alias='sort')
|
||
|
|
status: str = Field(None, alias='status')
|
||
|
|
title: str = Field(None, alias='title')
|
||
|
|
show_title: str = Field(None, alias='show_title')
|
||
|
|
doc_name: str = Field(None, alias='doc_name')
|
||
|
|
publish_date: str = Field(None, alias='publish_date')
|
||
|
|
source: str = Field(None, alias='source')
|
||
|
|
|
||
|
|
# 定义快速新增DictItem的接口
|
||
|
|
class DictItemFastCreateInputSchema(Schema):
|
||
|
|
code: str = Field(alias='code') # Dict的code字段
|
||
|
|
title: str = Field("", alias='title')
|
||
|
|
|
||
|
|
class DictItemUpdateInputSchema(Schema):
|
||
|
|
remark: str = Field(None, alias='remark')
|
||
|
|
sort: int = Field(None, alias='sort')
|
||
|
|
status: str = Field(None, alias='status')
|
||
|
|
title: str = Field(None, alias='title')
|
||
|
|
show_title: str = Field(None, alias='show_title')
|
||
|
|
doc_name: str = Field(None, alias='doc_name')
|
||
|
|
publish_date: str = Field(None, alias='publish_date')
|
||
|
|
source: str = Field(None, alias='source')
|
||
|
|
|
||
|
|
# 删除schema
|
||
|
|
class DeleteSchema(Schema):
|
||
|
|
ids: List[int]
|
||
|
|
|
||
|
|
#############公司信息处理##############
|
||
|
|
class ContactOut(ModelSchema):
|
||
|
|
class Config:
|
||
|
|
model = Contact
|
||
|
|
include = ('id', 'entrust_person', 'name', 'refer_name', 'key', 'update_datetime', 'addr')
|
||
|
|
|
||
|
|
class ContactListInputSchema(Schema):
|
||
|
|
key: Union[str, int] = Field(None, alias='key')
|
||
|
|
name: str = Field(None, alias='name')
|
||
|
|
refer_name: str = Field(None, alias='refer_name')
|
||
|
|
entrust_person: str = Field(None, alias='entrust_person')
|
||
|
|
addr: str = Field(None, alias='addr')
|
||
|
|
|
||
|
|
#############缩略语处理##############
|
||
|
|
class AbbreviationOut(ModelSchema):
|
||
|
|
class Config:
|
||
|
|
model = Abbreviation
|
||
|
|
include = ('id', 'title', 'des')
|
||
|
|
|
||
|
|
class AbbreviationListInputSchema(Schema):
|
||
|
|
title: str = Field(None, alias='title')
|
||
|
|
des: str = Field(None, alias='des')
|