Files
notifications-api/app/dao/service_permissions_dao.py
2024-10-10 07:22:15 -07:00

38 lines
1.1 KiB
Python

from sqlalchemy import delete, select
from app import db
from app.dao.dao_utils import autocommit
from app.models import ServicePermission
def dao_fetch_service_permissions(service_id):
# return ServicePermission.query.filter(
# ServicePermission.service_id == service_id
# ).all()
stmt = select(ServicePermission).filter(ServicePermission.service_id == service_id)
return db.session.execute(stmt).scalars().all()
@autocommit
def dao_add_service_permission(service_id, permission):
service_permission = ServicePermission(service_id=service_id, permission=permission)
db.session.add(service_permission)
def dao_remove_service_permission(service_id, permission):
# deleted = ServicePermission.query.filter(
# ServicePermission.service_id == service_id,
# ServicePermission.permission == permission,
# ).delete()
# db.session.commit()
# return deleted
stmt = delete(ServicePermission).where(
ServicePermission.service_id == service_id,
ServicePermission.permission == permission,
)
result = db.session.execute(stmt)
db.session.commit()
return result.rowcount