update handlers to user Users repo for managing authorization

This commit is contained in:
dandds
2018-07-30 14:04:05 -04:00
parent 4baa5fdd8c
commit 202f88bae5
10 changed files with 36 additions and 50 deletions

View File

@@ -5,15 +5,16 @@ from .exceptions import NotFoundError
class Roles(object):
@classmethod
def get(cls, role_name):
def __init__(self, db_session):
self.db_session = db_session
def get(self, role_name):
try:
role = Role.query.filter_by(name=role_name).one()
role = self.db_session.query(Role).filter_by(name=role_name).one()
except NoResultFound:
raise NotFoundError("role")
return role
@classmethod
def get_all(cls):
return Role.query.all()
def get_all(self):
return self.db_session.query(Role).all()

View File

@@ -11,18 +11,19 @@ class Users(object):
def __init__(self, db_session):
self.db_session = db_session
self.roles_repo = Roles(db_session)
def get(self, user_id):
try:
user = User.query.filter_by(id=user_id).one()
user = self.db_session.query(User).filter_by(id=user_id).one()
except NoResultFound:
raise NotFoundError("user")
return user
def create(self, user_id, atat_role_name):
atat_role = Roles.get(atat_role_name)
atat_role = self.roles_repo.get(atat_role_name)
try:
user = User(id=user_id, atat_role=atat_role)
@@ -34,22 +35,19 @@ class Users(object):
return user
def get_or_create(self, user_id, *args, **kwargs):
created = False
try:
user = Users.get(user_id)
user = self.get(user_id)
except NotFoundError:
user = Users.create(user_id, *args, **kwargs)
user = self.create(user_id, *args, **kwargs)
self.db_session.add(user)
self.db_session.commit()
created = True
return user, created
return user
def update(self, user_id, atat_role_name):
user = Users.get(user_id)
atat_role = Roles.get(atat_role_name)
user = self.get(user_id)
atat_role = self.roles_repo.get(atat_role_name)
user.atat_role = atat_role
self.db_session.add(user)