add delete user endpoint
This commit is contained in:
@@ -41,3 +41,9 @@ async def patch_user(
|
||||
updated_user = await db.user.update_one(id=id, data=update_data)
|
||||
await db.commit()
|
||||
return User.model_validate(updated_user)
|
||||
|
||||
|
||||
@router.delete("/{id}")
|
||||
async def delete_user(db: sessionDep, id: int, _: AdminUser):
|
||||
await UserService(db).delete_user(id)
|
||||
return {"message": "User deleted successfully"}
|
||||
@@ -1,4 +1,4 @@
|
||||
from sqlalchemy import select
|
||||
from sqlalchemy import delete, select
|
||||
|
||||
from src.models import UsersORM
|
||||
from src.repository.base import BaseRepo
|
||||
@@ -12,3 +12,6 @@ class UsersRepo(BaseRepo):
|
||||
result = await self.session.execute(query)
|
||||
models = result.scalars().all()
|
||||
return models
|
||||
|
||||
async def delete_one(self, id: int) -> None:
|
||||
await self.session.execute(delete(self.model).where(self.model.id == id))
|
||||
@@ -26,3 +26,7 @@ class UserService(BaseService):
|
||||
async def get_all_users(self) -> list[User]:
|
||||
users = await self.session.user.get_all_users()
|
||||
return [User.model_validate(user) for user in users]
|
||||
|
||||
async def delete_user(self, id: int) -> None:
|
||||
await self.session.user.delete_one(id=id)
|
||||
await self.session.commit()
|
||||
Reference in New Issue
Block a user