Merge pull request #1149 from dod-ccpo/lgtm-fixes

LGTM Fixes
This commit is contained in:
richard-dds
2019-11-04 15:35:03 -05:00
committed by GitHub
37 changed files with 95 additions and 71 deletions

View File

@@ -1,8 +1,4 @@
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
from .base import Base
from .application import Application
from .application_invitation import ApplicationInvitation
from .application_role import ApplicationRole, Status as ApplicationRoleStatus

View File

@@ -1,7 +1,7 @@
from sqlalchemy import and_, Column, ForeignKey, String
from sqlalchemy.orm import relationship, synonym
from atst.models import Base
from atst.models.base import Base
from atst.models.application_role import ApplicationRole
from atst.models.environment import Environment
from atst.models import mixins

View File

@@ -2,11 +2,13 @@ from sqlalchemy import Column, ForeignKey
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship, backref
from atst.models import Base
from atst.models.mixins import TimestampsMixin, AuditableMixin, InvitesMixin
from atst.models.base import Base
import atst.models.mixins as mixins
class ApplicationInvitation(Base, TimestampsMixin, AuditableMixin, InvitesMixin):
class ApplicationInvitation(
Base, mixins.TimestampsMixin, mixins.AuditableMixin, mixins.InvitesMixin
):
__tablename__ = "application_invitations"
application_role_id = Column(

View File

@@ -5,10 +5,11 @@ from sqlalchemy.orm import relationship
from sqlalchemy.event import listen
from atst.utils import first_or_none
from atst.models import Base, mixins
from atst.models.base import Base
import atst.models.mixins as mixins
import atst.models.types as types
from atst.models.environment_role import EnvironmentRole
from atst.models.mixins.auditable import record_permission_sets_updates
from .types import Id
class Status(Enum):
@@ -36,7 +37,7 @@ class ApplicationRole(
):
__tablename__ = "application_roles"
id = Id()
id = types.Id()
application_id = Column(
UUID(as_uuid=True), ForeignKey("applications.id"), index=True, nullable=False
)

View File

@@ -2,7 +2,9 @@ from sqlalchemy import Column, String
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm.exc import NoResultFound
from atst.models import Base, types, mixins
from atst.models.base import Base
import atst.models.mixins as mixins
import atst.models.types as types
from atst.database import db
from atst.domain.exceptions import NotFoundError

View File

@@ -2,7 +2,8 @@ from sqlalchemy import String, Column, ForeignKey, inspect
from sqlalchemy.dialects.postgresql import UUID, JSONB
from sqlalchemy.orm import relationship
from atst.models import Base, types
from atst.models.base import Base
import atst.models.types as types
from atst.models.mixins.timestamps import TimestampsMixin

3
atst/models/base.py Normal file
View File

@@ -0,0 +1,3 @@
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()

View File

@@ -2,7 +2,9 @@ from enum import Enum
from sqlalchemy import Column, Date, Enum as SQLAEnum, ForeignKey, Numeric, String
from sqlalchemy.orm import relationship
from atst.models import Base, mixins, types
from atst.models.base import Base
import atst.models.mixins as mixins
import atst.models.types as types
class JEDICLINType(Enum):

View File

@@ -3,9 +3,9 @@ from sqlalchemy.orm import relationship
from sqlalchemy.dialects.postgresql import JSONB
from enum import Enum
from atst.models import Base
from atst.models.types import Id
from atst.models import mixins
from atst.models.base import Base
import atst.models.mixins as mixins
import atst.models.types as types
class Environment(
@@ -13,7 +13,7 @@ class Environment(
):
__tablename__ = "environments"
id = Id()
id = types.Id()
name = Column(String, nullable=False)
application_id = Column(ForeignKey("applications.id"), nullable=False)

View File

@@ -3,7 +3,9 @@ from sqlalchemy import Index, ForeignKey, Column, String, TIMESTAMP, Enum as SQL
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship
from atst.models import Base, types, mixins
from atst.models.base import Base
import atst.models.mixins as mixins
import atst.models.types as types
class CSPRole(Enum):

View File

@@ -1,7 +1,7 @@
from sqlalchemy import Column, ForeignKey
from atst.models import Base
from atst.models import mixins
from atst.models.base import Base
import atst.models.mixins as mixins
class EnvironmentJobFailure(Base, mixins.JobFailureMixin):

View File

@@ -1,6 +1,8 @@
from sqlalchemy import String, Column
from atst.models import Base, types, mixins
from atst.models.base import Base
import atst.models.types as types
import atst.models.mixins as mixins
class NotificationRecipient(Base, mixins.TimestampsMixin):

View File

@@ -1,7 +1,9 @@
from sqlalchemy import String, Column
from sqlalchemy.dialects.postgresql import ARRAY
from atst.models import Base, types, mixins
from atst.models.base import Base
import atst.models.mixins as mixins
import atst.models.types as types
class PermissionSet(Base, mixins.TimestampsMixin):

View File

@@ -1,9 +1,11 @@
from sqlalchemy import and_, Column, String
from sqlalchemy import Column, String
from sqlalchemy.orm import relationship
from sqlalchemy.types import ARRAY
from itertools import chain
from atst.models import Base, Application, mixins, types
from atst.models.base import Base
import atst.models.types as types
import atst.models.mixins as mixins
from atst.models.portfolio_role import PortfolioRole, Status as PortfolioRoleStatus
from atst.domain.permission_sets import PermissionSets
from atst.utils import first_or_none
@@ -31,7 +33,7 @@ class Portfolio(
applications = relationship(
"Application",
back_populates="portfolio",
primaryjoin=and_(Application.portfolio_id == id, Application.deleted == False),
primaryjoin="and_(Application.portfolio_id == Portfolio.id, Application.deleted == False)",
)
roles = relationship("PortfolioRole")

View File

@@ -2,11 +2,13 @@ from sqlalchemy import Column, ForeignKey
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship, backref
from atst.models import Base
from atst.models.mixins import TimestampsMixin, AuditableMixin, InvitesMixin
from atst.models.base import Base
import atst.models.mixins as mixins
class PortfolioInvitation(Base, TimestampsMixin, InvitesMixin, AuditableMixin):
class PortfolioInvitation(
Base, mixins.TimestampsMixin, mixins.InvitesMixin, mixins.AuditableMixin
):
__tablename__ = "portfolio_invitations"
portfolio_role_id = Column(

View File

@@ -4,8 +4,9 @@ from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.orm import relationship
from sqlalchemy.event import listen
from atst.models import Base, mixins
from .types import Id
from atst.models.base import Base
import atst.models.types as types
import atst.models.mixins as mixins
from atst.utils import first_or_none
from atst.models.mixins.auditable import record_permission_sets_updates
@@ -41,7 +42,7 @@ class PortfolioRole(
):
__tablename__ = "portfolio_roles"
id = Id()
id = types.Id()
portfolio_id = Column(
UUID(as_uuid=True), ForeignKey("portfolios.id"), index=True, nullable=False
)

View File

@@ -5,7 +5,10 @@ from sqlalchemy import Column, DateTime, ForeignKey, String
from sqlalchemy.ext.hybrid import hybrid_property
from sqlalchemy.orm import relationship
from atst.models import Attachment, Base, mixins, types
from atst.models.base import Base
import atst.models.types as types
import atst.models.mixins as mixins
from atst.models.attachment import Attachment
from atst.utils.clock import Clock

View File

@@ -1,9 +1,11 @@
from sqlalchemy import and_, String, ForeignKey, Column, Date, Boolean, Table, TIMESTAMP
from sqlalchemy import String, ForeignKey, Column, Date, Boolean, Table, TIMESTAMP
from sqlalchemy.orm import relationship
from sqlalchemy.dialects.postgresql import UUID
from sqlalchemy.event import listen
from atst.models import Base, ApplicationRole, types, mixins
from atst.models.base import Base
import atst.models.types as types
import atst.models.mixins as mixins
from atst.models.portfolio_invitation import PortfolioInvitation
from atst.models.application_invitation import ApplicationInvitation
from atst.models.mixins.auditable import (
@@ -35,9 +37,7 @@ class User(
application_roles = relationship(
"ApplicationRole",
backref="user",
primaryjoin=and_(
ApplicationRole.user_id == id, ApplicationRole.deleted == False
),
primaryjoin="and_(ApplicationRole.user_id == User.id, ApplicationRole.deleted == False)",
)
portfolio_invitations = relationship(