From e8068ff2ea21ae33209fbf59af9bf5bf07c25ee9 Mon Sep 17 00:00:00 2001 From: blake hardee Date: Sat, 13 Apr 2024 14:21:35 -0400 Subject: [PATCH] resource service and permissions service wip --- backend/services/permissions.py | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 backend/services/permissions.py diff --git a/backend/services/permissions.py b/backend/services/permissions.py new file mode 100644 index 0000000..6a545f2 --- /dev/null +++ b/backend/services/permissions.py @@ -0,0 +1,37 @@ +from fastapi import Depends +from ..database import db_session +from sqlalchemy.orm import Session + +from ..models.user_model import User +from ..entities.user_entity import UserEntity +from exceptions import ResourceNotFoundException, UserPermissionException +from ..models.enum_for_models import UserTypeEnum + + +class PermissionsService: + + def __init__(self, session: Session = Depends(db_session)): + self._session = session + + def get_role_permissions(self, user: User) -> str: + """ + Gets a str group based on the user + + Returns: + str + """ + + # Query the resource table with id + obj = ( + self._session.query(UserEntity) + .filter(UserEntity.id == user.id) + .one_or_none() + ) + + # Check if result is null + if obj is None: + raise ResourceNotFoundException( + f"No user permissions found for user with id: {user.id}" + ) + + return obj.role