add user get, access token add id

This commit is contained in:
IluaAir
2025-07-27 12:55:58 +03:00
parent d3eba77444
commit 7c334491c3
4 changed files with 13 additions and 6 deletions

View File

@@ -5,20 +5,20 @@ from src.services.base import BaseService
class UserService(BaseService):
async def get_user_by_username(self, username: str) -> User | None:
result = await self.session.user.get_one_or_none(username=username)
async def get_user_by_filter(self, **filter_by) -> User | None:
result = await self.session.user.get_one_or_none(**filter_by)
if result is None:
return None
return User.model_validate(result)
async def get_user_by_username_or_raise(self, username: str) -> User:
user = await self.get_user_by_username(username)
async def get_user_by_filter_or_raise(self, **filter_by) -> User:
user = await self.get_user_by_filter(**filter_by)
if user is None:
raise HTTPException(status_code=404, detail="User not found")
return user
async def validate_admin_user(self, username: str) -> User:
user = await self.get_user_by_username_or_raise(username)
user = await self.get_user_by_filter_or_raise(username=username)
if not user.is_superuser:
raise HTTPException(status_code=403, detail="Admin access required")
return user