예제 #1
0
 def update_user(self, user_id: str, user_data: dict):
     self._check_profile_data(user_data, update=True)
     with self._database_engine.new_session() as session:
         user_dao = UserDAO(session)
         user = user_dao.get(user_id)
         user = user_dao.update(user, user_data)
         return user.to_dict()
예제 #2
0
 def validate_credentials(self, username: str, password: str):
     with self._database_engine.new_session() as session:
         user_dao = UserDAO(session)
         user = user_dao.get_by_name(username)
         res = user.check_password(password)
         if not res:
             return None
         else:
             return user.to_dict()
예제 #3
0
 def create_user(self, data):
     self._check_profile_data(data)
     try:
         with self._database_engine.new_session() as session:
             user = UserDAO(session).create(data)
             user_data = user.to_dict()
             return user_data
     except Error as e:
         # log error
         raise e
예제 #4
0
 def validate_admin_role(self, username: str):
     with self._database_engine.new_session() as session:
         user_dao = UserDAO(session)
         user = user_dao.get_by_name(username)
         return user.admin
예제 #5
0
 def search_user(self, name: str):
     # Query database
     with self._database_engine.new_session() as session:
         user_dao = UserDAO(session)
         user = user_dao.get_by_name(name)
         return user.to_dict()
예제 #6
0
 def delete_user(self, user_id: str):
     with self._database_engine.new_session() as session:
         user_dao = UserDAO(session)
         user = user_dao.get(user_id)
         user_dao.delete(user)
예제 #7
0
 def set_user_role(self, user_id: str, admin: bool):
     with self._database_engine.new_session() as session:
         user_dao = UserDAO(session)
         user = user_dao.get(user_id)
         user = user_dao.set_role(user, admin)
         return user.to_dict()
예제 #8
0
 def get_user_by_name(self, name: str):
     with self._database_engine.new_session() as session:
         user = UserDAO(session).get_by_name(name)
         user_data = user.to_dict()
     return user_data
예제 #9
0
 def get_user(self, user_id: str):
     with self._database_engine.new_session() as session:
         user = UserDAO(session).get(user_id)
         user_data = user.to_dict()
     return user_data
예제 #10
0
 def list_users(self):
     with self._database_engine.new_session() as session:
         users = UserDAO(session).get_all()
         users_data = [user.to_dict() for user in users]
     return users_data
예제 #11
0
 def get_person_by_username(self, username):
     with self._database_engine.new_session() as session:
         user = UserDAO(session).get_by_name(username)
         person = PersonDAO(session).get_by_id_user(user.id)
         person_data = person.to_dict()
     return person_data