Updated with few changes in auth

This commit is contained in:
Saurab-Shrestha 2024-02-22 12:07:01 +05:45
parent e1d3208740
commit f3ba7a6dcb
4 changed files with 14 additions and 6 deletions

View File

@ -92,7 +92,6 @@ def ad_user_register(
email: str, email: str,
fullname: str, fullname: str,
password: str, password: str,
) -> models.User: ) -> models.User:
""" """
Register a new user in the database. Company id is directly given here. Register a new user in the database. Company id is directly given here.

View File

@ -20,7 +20,6 @@ def list_deparments(
limit: int = 100, limit: int = 100,
current_user: models.User = Security( current_user: models.User = Security(
deps.get_current_user, deps.get_current_user,
scopes=[Role.SUPER_ADMIN["name"]],
), ),
) -> List[schemas.Department]: ) -> List[schemas.Department]:
""" """

View File

@ -24,7 +24,7 @@ def list_files(
limit: int = 100, limit: int = 100,
current_user: models.User = Security( current_user: models.User = Security(
deps.get_current_user, deps.get_current_user,
scopes=[Role.SUPER_ADMIN["name"]], scopes=[Role.SUPER_ADMIN["name"], Role.ADMIN["name"]],
) )
): ):
def get_department_name(db, id): def get_department_name(db, id):
@ -35,7 +35,13 @@ def list_files(
user = crud.user.get_by_id(db=db, id=id) user = crud.user.get_by_id(db=db, id=id)
return user.fullname return user.fullname
try: try:
docs = crud.documents.get_multi(db, skip=skip, limit=limit) role = current_user.user_role.role.name if current_user.user_role else None
if role == "SUPER_ADMIN":
docs = crud.documents.get_multi(db, skip=skip, limit=limit)
else:
docs = crud.documents.get_multi_documents(
db, department_id=current_user.department_id, skip=skip, limit=limit)
docs = [ docs = [
schemas.Document( schemas.Document(
id=doc.id, id=doc.id,

View File

@ -16,9 +16,9 @@ router = APIRouter(prefix="/users", tags=["users"])
@router.get("", response_model=List[schemas.User]) @router.get("", response_model=List[schemas.User])
def read_users( def read_users(
db: Session = Depends(deps.get_db),
skip: int = 0, skip: int = 0,
limit: int = 100, limit: int = 100,
db: Session = Depends(deps.get_db),
current_user: models.User = Security( current_user: models.User = Security(
deps.get_current_user, deps.get_current_user,
scopes=[Role.ADMIN["name"], Role.SUPER_ADMIN["name"]], scopes=[Role.ADMIN["name"], Role.SUPER_ADMIN["name"]],
@ -27,7 +27,11 @@ def read_users(
""" """
Retrieve all users. Retrieve all users.
""" """
users = crud.user.get_multi(db, skip=skip, limit=limit) role = current_user.user_role.role.name if current_user.user_role else None
if role == "ADMIN":
users = crud.user.get_by_department_id(db=db, department_id=current_user.department_id, skip=skip, limit=limit)
else:
users = crud.user.get_multi(db, skip=skip, limit=limit)
return users return users