Only provision EnvironmentRoles with active ApplicationRoles

This commit is contained in:
richard-dds
2019-09-23 11:30:06 -04:00
parent f523db4d2d
commit 399cf74ed6
2 changed files with 29 additions and 8 deletions

View File

@@ -1,7 +1,13 @@
from sqlalchemy.orm.exc import NoResultFound
from atst.database import db
from atst.models import EnvironmentRole, ApplicationRole, Environment
from atst.models import (
EnvironmentRole,
ApplicationRole,
Environment,
ApplicationInvitation,
ApplicationRoleStatus,
)
from atst.domain.exceptions import NotFoundError
from uuid import UUID
from typing import List
@@ -74,9 +80,11 @@ class EnvironmentRoles(object):
results = (
db.session.query(EnvironmentRole.id)
.join(Environment)
.join(ApplicationRole)
.filter(Environment.deleted == False)
.filter(Environment.baseline_info != None)
.filter(EnvironmentRole.status == EnvironmentRole.Status.PENDING)
.filter(ApplicationRole.status == ApplicationRoleStatus.ACTIVE)
.all()
)
return [id_ for id_, in results]