信息架构/菜单框架大重构-20260109
This commit is contained in:
@@ -0,0 +1,126 @@
|
||||
import uuid
|
||||
from datetime import date, datetime
|
||||
from typing import Optional
|
||||
|
||||
from pydantic import BaseModel, ConfigDict
|
||||
|
||||
|
||||
class StartupFeasibilityCreate(BaseModel):
|
||||
submit_date: Optional[date] = None
|
||||
accept_date: Optional[date] = None
|
||||
approved_date: Optional[date] = None
|
||||
project_no: Optional[str] = None
|
||||
|
||||
|
||||
class StartupFeasibilityUpdate(BaseModel):
|
||||
submit_date: Optional[date] = None
|
||||
accept_date: Optional[date] = None
|
||||
approved_date: Optional[date] = None
|
||||
project_no: Optional[str] = None
|
||||
|
||||
|
||||
class StartupFeasibilityRead(BaseModel):
|
||||
id: uuid.UUID
|
||||
study_id: uuid.UUID
|
||||
submit_date: Optional[date]
|
||||
accept_date: Optional[date]
|
||||
approved_date: Optional[date]
|
||||
project_no: Optional[str]
|
||||
created_by: Optional[uuid.UUID]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class StartupEthicsCreate(BaseModel):
|
||||
submit_date: Optional[date] = None
|
||||
accept_date: Optional[date] = None
|
||||
meeting_date: Optional[date] = None
|
||||
approved_date: Optional[date] = None
|
||||
approval_no: Optional[str] = None
|
||||
|
||||
|
||||
class StartupEthicsUpdate(BaseModel):
|
||||
submit_date: Optional[date] = None
|
||||
accept_date: Optional[date] = None
|
||||
meeting_date: Optional[date] = None
|
||||
approved_date: Optional[date] = None
|
||||
approval_no: Optional[str] = None
|
||||
|
||||
|
||||
class StartupEthicsRead(BaseModel):
|
||||
id: uuid.UUID
|
||||
study_id: uuid.UUID
|
||||
submit_date: Optional[date]
|
||||
accept_date: Optional[date]
|
||||
meeting_date: Optional[date]
|
||||
approved_date: Optional[date]
|
||||
approval_no: Optional[str]
|
||||
created_by: Optional[uuid.UUID]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class KickoffMeetingCreate(BaseModel):
|
||||
kickoff_date: Optional[date] = None
|
||||
attendees: Optional[list[str]] = None
|
||||
|
||||
|
||||
class KickoffMeetingUpdate(BaseModel):
|
||||
kickoff_date: Optional[date] = None
|
||||
attendees: Optional[list[str]] = None
|
||||
|
||||
|
||||
class KickoffMeetingRead(BaseModel):
|
||||
id: uuid.UUID
|
||||
study_id: uuid.UUID
|
||||
kickoff_date: Optional[date]
|
||||
attendees: Optional[list[str]]
|
||||
created_by: Optional[uuid.UUID]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
|
||||
|
||||
class TrainingAuthorizationCreate(BaseModel):
|
||||
name: str
|
||||
role: Optional[str] = None
|
||||
site_name: Optional[str] = None
|
||||
trained: bool = False
|
||||
authorized: bool = False
|
||||
trained_date: Optional[date] = None
|
||||
authorized_date: Optional[date] = None
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class TrainingAuthorizationUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
role: Optional[str] = None
|
||||
site_name: Optional[str] = None
|
||||
trained: Optional[bool] = None
|
||||
authorized: Optional[bool] = None
|
||||
trained_date: Optional[date] = None
|
||||
authorized_date: Optional[date] = None
|
||||
remark: Optional[str] = None
|
||||
|
||||
|
||||
class TrainingAuthorizationRead(BaseModel):
|
||||
id: uuid.UUID
|
||||
study_id: uuid.UUID
|
||||
name: str
|
||||
role: Optional[str]
|
||||
site_name: Optional[str]
|
||||
trained: bool
|
||||
authorized: bool
|
||||
trained_date: Optional[date]
|
||||
authorized_date: Optional[date]
|
||||
remark: Optional[str]
|
||||
created_by: Optional[uuid.UUID]
|
||||
created_at: datetime
|
||||
updated_at: datetime
|
||||
|
||||
model_config = ConfigDict(from_attributes=True)
|
||||
Reference in New Issue
Block a user