def update_password(self, new_password, user_id):
     local = False
     new_password = st.create_hash_password_sha512(
         password=new_password, complementary_input=user_id)
     db_utils.DataBaseUtils.execute_sql(
         db_utils.DataBaseUtils, sql_statement=sql_stmt.DataBaseSQL.update_value(
             sql_stmt.DataBaseSQL, table=st.TABLE_USER, column=st.TB_USER_COL_PASSWORD, value=new_password,
             condition=st.TB_USER_COL_USER_ID, condition_value=user_id), local=local)
 def check_password(self, password_user, user_id):
     local = False
     result = db_utils.DataBaseUtils.execute_sql(
         db_utils.DataBaseUtils, sql_statement=sql_stmt.DataBaseSQL.
         select_object_by_condition(sql_stmt.DataBaseSQL, table=st.TABLE_USER, condition=st.TB_USER_COL_USER_ID,
                                    condition_value=user_id), fetchone=True, local=local)
     user = self.__parse_user_obj(UserManager, result)
     password_db = user.get_password()
     password_user = st.create_hash_password_sha512(
         password=password_user, complementary_input=user_id)
     if password_db == password_user:
         return True
     else:
         return False
 def create_user(self, first_name: str, last_name: str, email: str,
                 password: str, business_unit: str, access_rights_pillars, admin, role_manager, operation_issuer):
     if self.check_admin(UserManager, operation_issuer):
         user_id = "user_" + st.create_id()
         password = st.create_hash_password_sha512(
             password=password, complementary_input=user_id)
         access_rights_pillars_dict = self.__parse_access_rigths_pillars(
             UserManager, access_rights_pillars)
         user = us.User(userID=user_id, first_name=first_name, last_name=last_name, email=email,
                        password=password, business_unit=business_unit,
                        access_rights_pillars=access_rights_pillars_dict, admin=admin,
                        role_manager=role_manager)
         self.insert_user_db(UserManager, user=user)
         return user
def auth_user():
    email = fl.request.args.get('email', None)
    passwd = fl.request.args.get('passwd', None)

    result = {}
    if email:
        user = um.UserManager.get_user_by_email(um.UserManager, email)
    else:
        UserManagerEndpoints.endpoints_exception(400, "EMAIL_PARAM_NOT_FOUND")

    if passwd and st.create_hash_password_sha512(
            passwd, user.get_userID()) == user.get_password():
        token = us.User.generate_token(us.User, user)
        result = {"token": token.decode('utf-8'), "duration": 6600}
    else:
        UserManagerEndpoints.endpoints_exception(UserManagerEndpoints, 400,
                                                 "BAD_OR_MISSING_PASSWORD")

    return fl.jsonify(result), 200