open-law/app/controllers/get_or_create_permission.py

15 lines
503 B
Python
Raw Normal View History

2023-05-24 11:49:04 +00:00
from app import models as m
2023-05-24 14:06:33 +00:00
from app.logger import log
2023-05-24 11:49:04 +00:00
2023-05-24 14:06:33 +00:00
def get_or_create_permission(access: int, entity_type: m.Permission.Entity):
2023-05-24 11:49:04 +00:00
permission: m.Permission = m.Permission.query.filter_by(
2023-05-24 14:06:33 +00:00
access=access, entity_type=entity_type
2023-05-24 11:49:04 +00:00
).first()
if not permission:
2023-05-24 14:06:33 +00:00
log(log.INFO, "Create permission [%d] for entity [%s]", access, entity_type)
permission: m.Permission = m.Permission(
access=access, entity_type=entity_type
).save()
2023-05-24 11:49:04 +00:00
return permission