修复前后端显示异常问题(受试者、中心、负责人、日期等)
This commit is contained in:
@@ -17,6 +17,7 @@ async def create(db: AsyncSession, study_id: uuid.UUID, milestone_in: MilestoneC
|
||||
actual_date=None,
|
||||
status=milestone_in.status or "NOT_STARTED",
|
||||
owner_id=milestone_in.owner_id,
|
||||
site_id=milestone_in.site_id,
|
||||
notes=milestone_in.notes,
|
||||
)
|
||||
db.add(milestone)
|
||||
|
||||
@@ -46,3 +46,11 @@ async def list_by_study(db: AsyncSession, study_id: uuid.UUID, skip: int = 0, li
|
||||
select(Site).where(Site.study_id == study_id).offset(skip).limit(limit)
|
||||
)
|
||||
return result.scalars().all()
|
||||
|
||||
|
||||
async def get_sites_by_ids(db: AsyncSession, ids: set[uuid.UUID]) -> dict[uuid.UUID, Site]:
|
||||
if not ids:
|
||||
return {}
|
||||
result = await db.execute(select(Site).where(Site.id.in_(ids)))
|
||||
sites = result.scalars().all()
|
||||
return {s.id: s for s in sites}
|
||||
|
||||
@@ -73,6 +73,14 @@ async def ensure_admin_exists(db: AsyncSession, *, default_password: str = "admi
|
||||
await db.commit()
|
||||
|
||||
|
||||
async def get_users_by_ids(db: AsyncSession, ids: set[uuid.UUID]) -> dict[uuid.UUID, User]:
|
||||
if not ids:
|
||||
return {}
|
||||
result = await db.execute(select(User).where(User.id.in_(ids)))
|
||||
users = result.scalars().all()
|
||||
return {u.id: u for u in users}
|
||||
|
||||
|
||||
async def delete_user(db: AsyncSession, user: User) -> None:
|
||||
await db.execute(delete(StudyMember).where(StudyMember.user_id == user.id))
|
||||
await db.delete(user)
|
||||
|
||||
Reference in New Issue
Block a user