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()
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()
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
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
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()
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)
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()
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
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
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
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