Files
ctms/backend/app/schemas/member.py
T
2025-12-18 16:24:57 +08:00

30 lines
650 B
Python

import uuid
from datetime import datetime
from typing import Literal, Optional
from pydantic import BaseModel, ConfigDict, Field
StudyRole = Literal["PM", "CRA", "PV", "IMP", "ADMIN"]
class StudyMemberCreate(BaseModel):
user_id: uuid.UUID
role_in_study: StudyRole
is_active: bool = True
class StudyMemberUpdate(BaseModel):
role_in_study: Optional[StudyRole] = None
is_active: Optional[bool] = None
class StudyMemberRead(BaseModel):
id: uuid.UUID
study_id: uuid.UUID
user_id: uuid.UUID
role_in_study: StudyRole
is_active: bool
added_at: datetime
model_config = ConfigDict(from_attributes=True)