43 lines
825 B
Python
43 lines
825 B
Python
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseModel, root_validator, Field
|
|
|
|
|
|
class DashboardBase(BaseModel):
|
|
name: str = None
|
|
|
|
|
|
class DashboardIn(DashboardBase):
|
|
project_id: int
|
|
space_id: int = None
|
|
folder_id: int = None
|
|
|
|
# @root_validator(pre=True)
|
|
# def check_parent(cls, values):
|
|
# if (values.get('folder_id') is None) ^ (values.get('space_id') is None):
|
|
# return values
|
|
# else:
|
|
# raise ValueError('必须属于文件夹或者空间')
|
|
|
|
|
|
class DashboardDelete(BaseModel):
|
|
id: int
|
|
|
|
|
|
class DashboardCreate(DashboardBase):
|
|
name: str
|
|
|
|
|
|
class DashboardUpdate(DashboardBase):
|
|
pass
|
|
|
|
|
|
class Dashboard(DashboardBase):
|
|
name: str
|
|
user_id: int
|
|
create_date: datetime
|
|
|
|
class Config:
|
|
orm_mode = True
|