compass/backend/services/permissions.py
2024-04-24 20:01:13 -04:00

38 lines
990 B
Python

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