Convert Users, Roles, WorkspaceUsers, TaskOrders to use classmethods
This commit is contained in:
@@ -1,22 +1,21 @@
|
||||
from sqlalchemy.orm.exc import NoResultFound
|
||||
|
||||
from atst.database import db
|
||||
from atst.models.workspace_role import WorkspaceRole
|
||||
from atst.models.workspace_user import WorkspaceUser
|
||||
from atst.models.user import User
|
||||
|
||||
from .roles import Roles
|
||||
from .users import Users
|
||||
from .exceptions import NotFoundError
|
||||
|
||||
|
||||
class WorkspaceUsers(object):
|
||||
def __init__(self, db_session):
|
||||
self.db_session = db_session
|
||||
self.roles_repo = Roles(db_session)
|
||||
self.users_repo = Users(db_session)
|
||||
|
||||
def get(self, workspace_id, user_id):
|
||||
@classmethod
|
||||
def get(cls, workspace_id, user_id):
|
||||
try:
|
||||
user = self.users_repo.get(user_id)
|
||||
user = Users.get(user_id)
|
||||
except NoResultFound:
|
||||
raise NotFoundError("user")
|
||||
|
||||
@@ -31,24 +30,25 @@ class WorkspaceUsers(object):
|
||||
|
||||
return WorkspaceUser(user, workspace_role)
|
||||
|
||||
def add_many(self, workspace_id, workspace_user_dicts):
|
||||
@classmethod
|
||||
def add_many(cls, workspace_id, workspace_user_dicts):
|
||||
workspace_users = []
|
||||
|
||||
for user_dict in workspace_user_dicts:
|
||||
try:
|
||||
user = self.users_repo.get(user_dict["id"])
|
||||
user = Users.get(user_dict["id"])
|
||||
except NoResultFound:
|
||||
default_role = self.roles_repo.get("developer")
|
||||
default_role = Roles.get("developer")
|
||||
user = User(id=user_dict["id"], atat_role=default_role)
|
||||
|
||||
try:
|
||||
role = self.roles_repo.get(user_dict["workspace_role"])
|
||||
role = Roles.get(user_dict["workspace_role"])
|
||||
except NoResultFound:
|
||||
raise NotFoundError("role")
|
||||
|
||||
try:
|
||||
existing_workspace_role = (
|
||||
self.db_session.query(WorkspaceRole)
|
||||
db.session.query(WorkspaceRole)
|
||||
.filter(
|
||||
WorkspaceRole.user == user,
|
||||
WorkspaceRole.workspace_id == workspace_id,
|
||||
@@ -66,8 +66,8 @@ class WorkspaceUsers(object):
|
||||
workspace_user = WorkspaceUser(user, new_workspace_role)
|
||||
workspace_users.append(workspace_user)
|
||||
|
||||
self.db_session.add(user)
|
||||
db.session.add(user)
|
||||
|
||||
self.db_session.commit()
|
||||
db.session.commit()
|
||||
|
||||
return workspace_users
|
||||
|
Reference in New Issue
Block a user