中文:收口权限与中心/立项配置改造

This commit is contained in:
Cheng Zhou
2026-05-12 10:16:52 +08:00
parent 6e90370a5f
commit 77e842637d
67 changed files with 706 additions and 669 deletions
+3
View File
@@ -9,6 +9,7 @@ class SiteCreate(BaseModel):
name: str = Field(min_length=1)
city: Optional[str] = None
pi_name: Optional[str] = None
phone: Optional[str] = None
contact: Optional[str] = None
is_active: bool = True
enrollment_plan_start_date: Optional[date] = None
@@ -20,6 +21,7 @@ class SiteUpdate(BaseModel):
name: Optional[str] = None
city: Optional[str] = None
pi_name: Optional[str] = None
phone: Optional[str] = None
contact: Optional[str] = None
is_active: Optional[bool] = None
enrollment_plan_start_date: Optional[date] = None
@@ -33,6 +35,7 @@ class SiteRead(BaseModel):
name: str
city: Optional[str]
pi_name: Optional[str]
phone: Optional[str]
contact: Optional[str]
is_active: bool
enrollment_target: Optional[int]
+1
View File
@@ -126,5 +126,6 @@ class StudyRead(BaseModel):
visit_schedule: list[VisitScheduleItem]
created_by: Optional[uuid.UUID]
created_at: datetime
role_in_study: Optional[str] = None
model_config = ConfigDict(from_attributes=True)
-10
View File
@@ -44,15 +44,6 @@ class SiteEnrollmentPlanItem(BaseModel):
stageBreakdown: str = ""
class MonitoringStrategyItem(BaseModel):
id: str
strategyType: str = ""
detail: str = ""
frequency: str = ""
updatedAt: str = ""
enabled: bool = True
class CenterConfirmItem(BaseModel):
id: str
siteId: str = ""
@@ -105,7 +96,6 @@ class StudySetupConfigData(BaseModel):
enrollmentPlan: EnrollmentPlanItem = Field(default_factory=EnrollmentPlanItem)
siteMilestones: list[SiteMilestoneItem] = Field(default_factory=list)
siteEnrollmentPlans: list[SiteEnrollmentPlanItem] = Field(default_factory=list)
monitoringStrategies: list[MonitoringStrategyItem] = Field(default_factory=list)
centerConfirm: list[CenterConfirmItem] = Field(default_factory=list)
+5 -5
View File
@@ -40,7 +40,7 @@ class UserRegisterRequest(_PasswordValidator):
email: EmailStr
full_name: str = Field(min_length=1)
role: RegisterRole
department: str = Field(min_length=1)
clinical_department: str = Field(min_length=1)
class UserCreate(_PasswordValidator):
@@ -48,7 +48,7 @@ class UserCreate(_PasswordValidator):
email: EmailStr
full_name: str = Field(min_length=1)
role: UserRole
department: str = Field(min_length=1)
clinical_department: str = Field(min_length=1)
status: UserStatus = "ACTIVE"
@@ -58,7 +58,7 @@ class UserRead(BaseModel):
username: str
full_name: str
role: UserRole
department: str
clinical_department: str
status: UserStatus
is_active: bool
created_at: datetime
@@ -73,7 +73,7 @@ class UserUpdate(_PasswordValidator):
email: Optional[EmailStr] = None
full_name: Optional[str] = None
role: Optional[UserRole] = None
department: Optional[str] = None
clinical_department: Optional[str] = None
status: Optional[UserStatus] = None
password: Optional[str] = None
is_active: Optional[bool] = None
@@ -95,7 +95,7 @@ class AdminUserListResponse(BaseModel):
class UserSelfUpdate(_PasswordValidator):
full_name: Optional[str] = None
department: Optional[str] = None
clinical_department: Optional[str] = None
password: Optional[str] = None
current_password: Optional[str] = None
avatar_url: Optional[str] = None