帐号治理-帐号管理--更新
This commit is contained in:
@@ -62,3 +62,8 @@ async def remove_member(db: AsyncSession, member: StudyMember) -> StudyMember:
|
||||
await db.commit()
|
||||
await db.refresh(member)
|
||||
return member
|
||||
|
||||
|
||||
async def user_has_memberships(db: AsyncSession, user_id: uuid.UUID) -> bool:
|
||||
result = await db.execute(select(StudyMember.id).where(StudyMember.user_id == user_id))
|
||||
return result.first() is not None
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import uuid
|
||||
from typing import Sequence
|
||||
|
||||
from sqlalchemy import select, update
|
||||
from sqlalchemy import select, update, delete
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from app.core.security import hash_password
|
||||
from app.models.user import User
|
||||
from app.schemas.user import UserCreate, UserUpdate
|
||||
from app.models.study_member import StudyMember
|
||||
|
||||
|
||||
async def get_by_username(db: AsyncSession, username: str) -> User | None:
|
||||
@@ -70,3 +71,9 @@ async def ensure_admin_exists(db: AsyncSession, *, default_password: str = "admi
|
||||
)
|
||||
db.add(new_admin)
|
||||
await db.commit()
|
||||
|
||||
|
||||
async def delete_user(db: AsyncSession, user: User) -> None:
|
||||
await db.execute(delete(StudyMember).where(StudyMember.user_id == user.id))
|
||||
await db.delete(user)
|
||||
await db.commit()
|
||||
|
||||
Reference in New Issue
Block a user