diff --git a/alembic/versions/acd0c11be93a_change_workspace_and_project.py b/alembic/versions/acd0c11be93a_change_workspace_and_project.py new file mode 100644 index 00000000..7e495665 --- /dev/null +++ b/alembic/versions/acd0c11be93a_change_workspace_and_project.py @@ -0,0 +1,34 @@ +"""change workspace and project + +Revision ID: acd0c11be93a +Revises: 71cbe76c3b87 +Create Date: 2019-01-11 10:01:07.667126 + +""" +from alembic import op +import sqlalchemy as sa +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = 'acd0c11be93a' +down_revision = '71cbe76c3b87' +branch_labels = None +depends_on = None + + +def upgrade(): + op.alter_column('audit_events', "workspace_id", new_column_name="portfolio_id") + op.alter_column('environments', "project_id", new_column_name="application_id") + op.alter_column('projects', "workspace_id", new_column_name="portfolio_id") + op.alter_column('task_orders', "workspace_id", new_column_name="portfolio_id") + op.alter_column('workspace_roles', "workspace_id", new_column_name="portfolio_id") + op.alter_column('invitations', "workspace_role_id", new_column_name="portfolio_role_id") + + +def downgrade(): + op.alter_column('audit_events', "portfolio_id", new_column_name="workspace_id") + op.alter_column('environments', "application_id", new_column_name="project_id") + op.alter_column('projects', "portfolio_id", new_column_name="workspace_id") + op.alter_column('task_orders', "portfolio_id", new_column_name="workspace_id") + op.alter_column('workspace_roles', "portfolio_id", new_column_name="workspace_id") + op.alter_column('invitations', "portfolio_role_id", new_column_name="workspace_role_id") diff --git a/atst/domain/applications.py b/atst/domain/applications.py index a40e8638..bdd80a96 100644 --- a/atst/domain/applications.py +++ b/atst/domain/applications.py @@ -46,7 +46,7 @@ class Applications(object): db.session.query(Application) .join(Environment) .join(EnvironmentRole) - .filter(Application.workspace_id == portfolio.id) + .filter(Application.portfolio_id == portfolio.id) .filter(EnvironmentRole.user_id == user.id) .all() ) diff --git a/atst/domain/environments.py b/atst/domain/environments.py index 7978cdc4..2164318b 100644 --- a/atst/domain/environments.py +++ b/atst/domain/environments.py @@ -46,7 +46,7 @@ class Environments(object): .join(EnvironmentRole) .join(Application) .filter(EnvironmentRole.user_id == user.id) - .filter(Environment.project_id == application.id) + .filter(Environment.application_id == application.id) .all() ) diff --git a/atst/domain/portfolio_roles.py b/atst/domain/portfolio_roles.py index 2d35b9d2..e9e88574 100644 --- a/atst/domain/portfolio_roles.py +++ b/atst/domain/portfolio_roles.py @@ -46,7 +46,7 @@ class PortfolioRoles(object): return ( db.session.query(PortfolioRole) .join(User) - .filter(User.id == user_id, PortfolioRole.workspace_id == portfolio_id) + .filter(User.id == user_id, PortfolioRole.portfolio_id == portfolio_id) .filter(PortfolioRole.status == PortfolioRoleStatus.ACTIVE) .one() ) diff --git a/atst/models/application.py b/atst/models/application.py index 78bc0b9c..bc2c5ad7 100644 --- a/atst/models/application.py +++ b/atst/models/application.py @@ -13,7 +13,7 @@ class Application(Base, mixins.TimestampsMixin, mixins.AuditableMixin): name = Column(String, nullable=False) description = Column(String, nullable=False) - workspace_id = Column(ForeignKey("workspaces.id"), nullable=False) + portfolio_id = Column(ForeignKey("workspaces.id"), nullable=False) portfolio = relationship("Portfolio") environments = relationship("Environment", back_populates="application") diff --git a/atst/models/audit_event.py b/atst/models/audit_event.py index dac66a84..2f101784 100644 --- a/atst/models/audit_event.py +++ b/atst/models/audit_event.py @@ -14,7 +14,7 @@ class AuditEvent(Base, TimestampsMixin): user_id = Column(UUID(as_uuid=True), ForeignKey("users.id"), index=True) user = relationship("User", backref="audit_events") - workspace_id = Column(UUID(as_uuid=True), ForeignKey("workspaces.id"), index=True) + portfolio_id = Column(UUID(as_uuid=True), ForeignKey("workspaces.id"), index=True) portfolio = relationship("Portfolio", backref="audit_events") request_id = Column(UUID(as_uuid=True), ForeignKey("requests.id"), index=True) diff --git a/atst/models/environment.py b/atst/models/environment.py index cbffedf6..249220da 100644 --- a/atst/models/environment.py +++ b/atst/models/environment.py @@ -12,7 +12,7 @@ class Environment(Base, mixins.TimestampsMixin, mixins.AuditableMixin): id = Id() name = Column(String, nullable=False) - project_id = Column(ForeignKey("projects.id"), nullable=False) + application_id = Column(ForeignKey("projects.id"), nullable=False) application = relationship("Application") cloud_id = Column(String) @@ -34,7 +34,7 @@ class Environment(Base, mixins.TimestampsMixin, mixins.AuditableMixin): return self.application.portfolio def auditable_portfolio_id(self): - return self.application.workspace_id + return self.application.portfolio_id def __repr__(self): return "".format( diff --git a/atst/models/environment_role.py b/atst/models/environment_role.py index 2846f23f..d4bf6d1c 100644 --- a/atst/models/environment_role.py +++ b/atst/models/environment_role.py @@ -46,7 +46,7 @@ class EnvironmentRole(Base, mixins.TimestampsMixin, mixins.AuditableMixin): "environment": self.environment.displayname, "environment_id": str(self.environment_id), "application": self.environment.application.name, - "application_id": str(self.environment.project_id), + "application_id": str(self.environment.application_id), "portfolio": self.environment.application.portfolio.name, "portfolio_id": str(self.environment.application.portfolio.id), } diff --git a/atst/models/invitation.py b/atst/models/invitation.py index 95704913..9241ee15 100644 --- a/atst/models/invitation.py +++ b/atst/models/invitation.py @@ -27,7 +27,7 @@ class Invitation(Base, TimestampsMixin, AuditableMixin): user_id = Column(UUID(as_uuid=True), ForeignKey("users.id"), index=True) user = relationship("User", backref="invitations", foreign_keys=[user_id]) - workspace_role_id = Column( + portfolio_role_id = Column( UUID(as_uuid=True), ForeignKey("workspace_roles.id"), index=True ) portfolio_role = relationship( @@ -123,4 +123,4 @@ class Invitation(Base, TimestampsMixin, AuditableMixin): @property def portfolio_id(self): - return self.portfolio_role.workspace_id + return self.portfolio_role.portfolio_id diff --git a/atst/models/mixins/auditable.py b/atst/models/mixins/auditable.py index a37f2ec6..5424cc03 100644 --- a/atst/models/mixins/auditable.py +++ b/atst/models/mixins/auditable.py @@ -13,7 +13,7 @@ class AuditableMixin(object): @staticmethod def create_audit_event(connection, resource, action): user_id = getattr_path(g, "current_user.id") - portfolio_id = resource.workspace_id + portfolio_id = resource.portfolio_id request_id = resource.request_id resource_type = resource.resource_type display_name = resource.displayname @@ -23,7 +23,7 @@ class AuditableMixin(object): audit_event = AuditEvent( user_id=user_id, - workspace_id=portfolio_id, + portfolio_id=portfolio_id, request_id=request_id, resource_type=resource_type, resource_id=resource.id, @@ -88,7 +88,7 @@ class AuditableMixin(object): return camel_to_snake(type(self).__name__) @property - def workspace_id(self): + def portfolio_id(self): return None @property diff --git a/atst/models/portfolio_role.py b/atst/models/portfolio_role.py index ba38d9f6..895e555d 100644 --- a/atst/models/portfolio_role.py +++ b/atst/models/portfolio_role.py @@ -34,7 +34,7 @@ class PortfolioRole(Base, mixins.TimestampsMixin, mixins.AuditableMixin): __tablename__ = "workspace_roles" id = Id() - workspace_id = Column( + portfolio_id = Column( UUID(as_uuid=True), ForeignKey("workspaces.id"), index=True, nullable=False ) portfolio = relationship("Portfolio", back_populates="roles") @@ -159,6 +159,6 @@ class PortfolioRole(Base, mixins.TimestampsMixin, mixins.AuditableMixin): Index( "portfolio_role_user_portfolio", PortfolioRole.user_id, - PortfolioRole.workspace_id, + PortfolioRole.portfolio_id, unique=True, ) diff --git a/atst/models/task_order.py b/atst/models/task_order.py index 6a8f7cad..14c00375 100644 --- a/atst/models/task_order.py +++ b/atst/models/task_order.py @@ -24,7 +24,7 @@ class TaskOrder(Base, mixins.TimestampsMixin): id = types.Id() - workspace_id = Column(ForeignKey("workspaces.id")) + portfolio_id = Column(ForeignKey("workspaces.id")) portfolio = relationship("Portfolio") user_id = Column(ForeignKey("users.id"))