current or admin dep created

This commit is contained in:
IluaAir
2025-07-27 13:53:32 +03:00
parent 9f105c32c6
commit b9a9e4e094
2 changed files with 25 additions and 4 deletions

View File

@@ -1,6 +1,6 @@
from typing import Annotated
from fastapi import HTTPException, Depends
from fastapi import HTTPException, Depends, Path
from fastapi.security import OAuth2PasswordBearer
from jwt import InvalidTokenError
@@ -49,3 +49,24 @@ async def get_admin_user(db: sessionDep, current_user: ActiveUser):
AdminUser = Annotated[TokenData, Depends(get_admin_user)]
async def user_or_admin_path(db: sessionDep, id: int, current_user: ActiveUser):
if current_user.id == id:
return current_user
else:
admin = await get_admin_user(db, current_user)
return admin
async def user_or_admin(
db: sessionDep, current_user: ActiveUser, id: Annotated[int, Path()]
):
if current_user.id == id:
return current_user
else:
admin = await get_admin_user(db, current_user)
return admin
CurrentOrAdmin = Annotated[TokenData, Depends(user_or_admin)]