forked from sr2/cloud-api
38 lines
834 B
Python
38 lines
834 B
Python
"""
|
|
Reusable business logic functions for the organisation module
|
|
"""
|
|
|
|
from sqlalchemy.orm import Session
|
|
from src.organisation.models import Organisation as Org
|
|
from src.iam.models import Permission as Perm
|
|
|
|
|
|
async def add_default_org_permissions(
|
|
db: Session,
|
|
org_id: int,
|
|
):
|
|
default_org_permissions = [
|
|
1, # test_service res_one read
|
|
2, # test_service res_one create
|
|
10, # tor-bridge-service collector read
|
|
13, # tor-bridge-service samples read
|
|
]
|
|
|
|
org_model = db.get(Org, org_id)
|
|
if org_model is None:
|
|
print("Org not found while adding defaults")
|
|
return
|
|
|
|
for permission in default_org_permissions:
|
|
perm_model = db.get(Perm, permission)
|
|
|
|
if perm_model is None:
|
|
continue
|
|
|
|
if perm_model in org_model.permission_rel:
|
|
continue
|
|
|
|
org_model.permission_rel.append(perm_model)
|
|
db.flush()
|
|
|
|
db.commit()
|