def post(self): user_dict = request.get_json() if not user_dict: response = {'user': '******'} return response, HttpStatus.bad_request_400.value errors = user_schema.validate(user_dict) if errors: return errors, HttpStatus.bad_request_400.value user_name = user_dict['username'] existing_user = User.query.filter_by(username=user_name).first() if existing_user is not None: response = { 'user': '******'.format(user_name) } return response, HttpStatus.bad_request_400.value try: user = User(username=user_name) error_message, password_ok = \ user.check_password_strength_and_hash_if_ok(user_dict['password']) if password_ok: user.add(user) query = User.query.get(user.id) dump_result = user_schema.dump(query) return dump_result, HttpStatus.created_201.value else: return { "error": error_message }, HttpStatus.bad_request_400.value except SQLAlchemyError as e: db.session.rollback() response = {"error": str(e)} return response, HttpStatus.bad_request_400.value