From 50e2666c3ce7919ced433da3347aaa6dd561684d Mon Sep 17 00:00:00 2001 From: richard-dds Date: Wed, 22 Aug 2018 11:21:29 -0400 Subject: [PATCH] Move Projects and Environments into their own files --- atst/domain/environments.py | 12 ++++++++++++ atst/domain/projects.py | 13 +++++++++++++ atst/domain/workspaces.py | 20 -------------------- atst/routes/workspaces.py | 4 +++- script/seed.py | 3 ++- 5 files changed, 30 insertions(+), 22 deletions(-) create mode 100644 atst/domain/environments.py create mode 100644 atst/domain/projects.py diff --git a/atst/domain/environments.py b/atst/domain/environments.py new file mode 100644 index 00000000..90755052 --- /dev/null +++ b/atst/domain/environments.py @@ -0,0 +1,12 @@ +from atst.database import db +from atst.models.environment import Environment + + +class Environments(object): + @classmethod + def create(cls, project, name): + environment = Environment(project=project, name=name) + db.session.add(environment) + db.session.commit() + return environment + diff --git a/atst/domain/projects.py b/atst/domain/projects.py new file mode 100644 index 00000000..16e0fc4c --- /dev/null +++ b/atst/domain/projects.py @@ -0,0 +1,13 @@ +from atst.database import db +from atst.models.project import Project + + +class Projects(object): + @classmethod + def create(cls, workspace, name, description): + project = Project(workspace=workspace, name=name, description=description) + + db.session.add(project) + db.session.commit() + + return project diff --git a/atst/domain/workspaces.py b/atst/domain/workspaces.py index afb6bb80..c69aa3ca 100644 --- a/atst/domain/workspaces.py +++ b/atst/domain/workspaces.py @@ -3,8 +3,6 @@ from sqlalchemy.orm.exc import NoResultFound from atst.database import db from atst.models.workspace import Workspace from atst.models.workspace_role import WorkspaceRole -from atst.models.project import Project -from atst.models.environment import Environment from atst.domain.exceptions import NotFoundError, UnauthorizedError from atst.domain.roles import Roles from atst.domain.authz import Authorization @@ -68,25 +66,7 @@ class Workspaces(object): ) return workspaces - -class Projects(object): @classmethod - def create(cls, workspace, name, description): - project = Project(workspace=workspace, name=name, description=description) - - db.session.add(project) - db.session.commit() - - return project - - -class Environments(object): - @classmethod - def create(cls, project, name): - environment = Environment(project=project, name=name) - db.session.add(environment) - db.session.commit() - return environment class Members(object): diff --git a/atst/routes/workspaces.py b/atst/routes/workspaces.py index 2bced4d7..23ec4f7a 100644 --- a/atst/routes/workspaces.py +++ b/atst/routes/workspaces.py @@ -7,7 +7,9 @@ from flask import ( url_for, ) -from atst.domain.workspaces import Workspaces, Members, Projects, Environments +from atst.domain.workspaces import Workspaces, Members +from atst.domain.projects import Projects +from atst.domain.environments import Environments from atst.forms.new_project import NewProjectForm bp = Blueprint("workspaces", __name__) diff --git a/script/seed.py b/script/seed.py index b36e73c5..68df7b04 100644 --- a/script/seed.py +++ b/script/seed.py @@ -8,7 +8,8 @@ sys.path.append(parent_dir) from atst.app import make_config, make_app from atst.domain.users import Users from atst.domain.requests import Requests -from atst.domain.workspaces import Workspaces, Projects +from atst.domain.workspaces import Workspaces +from atst.domain.projects import Projects from atst.domain.exceptions import AlreadyExistsError from tests.factories import RequestFactory from atst.routes.dev import _DEV_USERS as DEV_USERS