예제 #1
0
 def put(self, user_id):
     try:
         user = UserModel.query.filter_by(id=user_id).first()
         if not user:
             raise HandledError(message='Tài khoản không tồn tại',
                                error_code=404)
         assert user.is_active()
         payload = util.valid_req(
             request, comp_attr=['old_password', 'new_password'])
         if not UserModel._check_password(user.password,
                                          payload['old_password']):
             raise HandledError(message='Mật khẩu cũ không đúng',
                                error_code=400)
         setattr(user, 'password',
                 UserModel._encrypt_password(payload['new_password']))
         db.session.commit()
         return self.api_response(data='Success')
     except HandledError as err:
         _logger.error(str(err))
         db.session.rollback()
         return self.api_response(handled_error=err)
     except Exception as err:
         _logger.error(str(err))
         print(str(err))
         db.session.rollback()
         return self.api_response(http_code=500,
                                  error='Internal server error!')
예제 #2
0
 def put(self, user_id, user):
     try:
         payload = util.valid_req(request, comp_attr=['new_password'])
         setattr(user, 'password',
                 UserModel._encrypt_password(payload['new_password']))
         db.session.commit()
         return self.api_response(data='Success')
     except Exception as err:
         _logger.error(str(err))
         db.session.rollback()
         return self.api_response(http_code=500)