diff --git a/atst/domain/projects.py b/atst/domain/projects.py index d3b2848a..ef966a5c 100644 --- a/atst/domain/projects.py +++ b/atst/domain/projects.py @@ -1,4 +1,5 @@ from atst.database import db +from atst.domain.exceptions import NotFoundError from atst.models.project import Project from atst.domain.environments import Environments @@ -13,3 +14,17 @@ class Projects(object): db.session.commit() return project + + @classmethod + def get(cls, user, workspace, project_id): + # TODO: this should check permission for this particular project + Authorization.check_workspace_permission( + user, workspace, Permissions.VIEW_APPLICATION_IN_WORKSPACE, + ) + + try: + project = db.session.query(Project).filter_by(id=project_id).one() + except NoResultFound: + raise NotFoundError("project") + + return project