add admin mode
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
from fastapi import Depends
|
from fastapi import Depends, Request
|
||||||
from fastapi.routing import APIRouter
|
from fastapi.routing import APIRouter
|
||||||
from pydantic.types import UUID4
|
from pydantic.types import UUID4
|
||||||
from typing import List, Optional
|
from typing import List, Optional
|
||||||
@@ -13,10 +13,10 @@ router = APIRouter(prefix='/persons')
|
|||||||
async def list_persons(
|
async def list_persons(
|
||||||
full_name: str = '',
|
full_name: str = '',
|
||||||
persons_service: PersonService = Depends(get_persons_service),
|
persons_service: PersonService = Depends(get_persons_service),
|
||||||
|
request: Request = ''
|
||||||
) -> List[models.Person]:
|
) -> List[models.Person]:
|
||||||
|
|
||||||
return persons_service.list(full_name)
|
return persons_service.list(full_name, request.headers.get('UserRole'))
|
||||||
|
|
||||||
@router.get('/{person_id}', response_model=PersonDetail)
|
@router.get('/{person_id}', response_model=PersonDetail)
|
||||||
async def get_person(
|
async def get_person(
|
||||||
|
|||||||
@@ -11,9 +11,11 @@ class PersonService(BaseService[Person, PersonCreate, Any]):
|
|||||||
def __init__(self, db_session: Session):
|
def __init__(self, db_session: Session):
|
||||||
super(PersonService, self).__init__(Person, db_session)
|
super(PersonService, self).__init__(Person, db_session)
|
||||||
|
|
||||||
def list(self, full_name: str) -> List[Person]:
|
def list(self, full_name: str, role: str) -> List[Person]:
|
||||||
#objs: List[Person] = self.db_session.query(Person).all()
|
if role == "admin":
|
||||||
objs: List[Person] = self.db_session.query(Person).filter(Person.last_name.ilike(full_name)).all()
|
objs: List[Person] = self.db_session.query(Person).all()
|
||||||
|
else:
|
||||||
|
objs: List[Person] = self.db_session.query(Person).filter(Person.last_name.ilike(full_name)).all()
|
||||||
return objs
|
return objs
|
||||||
|
|
||||||
def create(self, obj: PersonCreate) -> Person:
|
def create(self, obj: PersonCreate) -> Person:
|
||||||
|
|||||||
Reference in New Issue
Block a user