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)
|
updated_user = await db.user.update_one(id=id, data=update_data)
|
||||||
await db.commit()
|
await db.commit()
|
||||||
return User.model_validate(updated_user)
|
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.models import UsersORM
|
||||||
from src.repository.base import BaseRepo
|
from src.repository.base import BaseRepo
|
||||||
@@ -12,3 +12,6 @@ class UsersRepo(BaseRepo):
|
|||||||
result = await self.session.execute(query)
|
result = await self.session.execute(query)
|
||||||
models = result.scalars().all()
|
models = result.scalars().all()
|
||||||
return models
|
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]:
|
async def get_all_users(self) -> list[User]:
|
||||||
users = await self.session.user.get_all_users()
|
users = await self.session.user.get_all_users()
|
||||||
return [User.model_validate(user) for user in 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