Пример #1
0
    def put(self, id):
        username, first_name, last_name, is_active = self.update_params()

        user = User.query.filter(User.id == id).first()
        if user is not None:
            if username:
                User.query.filter_by(id=id).update({'username': username})

            if first_name:
                User.query.filter_by(id=id).update({'first_name': first_name})

            if last_name:
                User.query.filter_by(id=id).update({'last_name': last_name})

            if is_active:
                User.query.filter_by(id=id).update({'is_active': is_active})

            db.session.commit()
            user = User.query.filter(User.id == id).first()

            db.session.commit()
            user_json = User.serialize(user)
            response = BasicSchema(result=user_json,
                                   status_code=HTTPStatus.CREATED)
            return response.make_response(BasicResponseSchema().dump(response))
        else:
            raise BasicError(message='Users not found',
                             status=HTTPStatus.NOT_FOUND)
Пример #2
0
 def get(self, id):
     try:
         user = User.query.filter_by(id=id).first()
         user_json = User.serialize(user)
         response = BasicSchema(result=user_json)
         return BasicResponseSchema().dump(response)
     except Exception as e:
         raise BasicError(message='User not found',
                          status=HTTPStatus.NOT_FOUND)
Пример #3
0
 def delete(self, id):
     user = User.query.filter(User.id == id).first()
     if user is not None:
         User.query.filter(User.id == id).delete()
         db.session.commit()
         return '', HTTPStatus.NO_CONTENT
     else:
         raise BasicError(message='User not found',
                          status=HTTPStatus.NOT_FOUND)
Пример #4
0
 def delete(self, id):
     post = Post.query.filter(Post.id == id).first()
     if post is not None:
         Post.query.filter(Post.id == id).delete()
         db.session.commit()
         return '', HTTPStatus.NO_CONTENT
     else:
         raise BasicError(message='Post not found',
                          status=HTTPStatus.NOT_FOUND)
Пример #5
0
 def get(self, id):
     try:
         post = Post.query.filter_by(id=id).first()
         post_json = Post.serialize(post)
         response = BasicSchema(result=post_json)
         return BasicResponseSchema().dump(response)
     except Exception as e:
         raise BasicError(message='Post not found',
                          status=HTTPStatus.NOT_FOUND)
Пример #6
0
 def delete(self, userId):
     """delete specific user posts"""
     if Post.query.filter(Post.userId == userId).count():
         Post.query.filter(Post.userId == userId).delete()
         db.session.commit()
         return '', HTTPStatus.NO_CONTENT
     else:
         raise BasicError(message='Users not found',
                          status=HTTPStatus.NOT_FOUND)
Пример #7
0
def auth_error(status):
    message = 'Unauthorized Access' if status == 401 else 'Forbidden'
    basic_error = BasicError(message=message, status=status)
    basic_response = BasicSchema(error=basic_error)
    response = jsonify(BasicResponseSchema().dump(basic_response))
    response.status_code = basic_error.status

    logger.warning(f'Error was occurred: {basic_error}')

    return response
Пример #8
0
def error_handler(error):
    basic_error = error if isinstance(error, BasicError) \
        else BasicError(message='Internal Server Error')
    basic_response = BasicSchema(error=basic_error)
    response = jsonify(BasicResponseSchema().dump(basic_response))
    response.status_code = basic_error.status

    logger.warning(f'Error was occurred: {error}')

    return response
Пример #9
0
 def get(self, userId):
     """viewing posts of a specific user"""
     if Post.query.filter(Post.userId == userId).count():
         posts = Post.query.filter(Post.userId == userId)
         posts_json = [Post.serialize(q) for q in posts]
         response = BasicSchema(result=posts_json)
         return BasicResponseSchema().dump(response)
     else:
         raise BasicError(message='Posts not found',
                          status=HTTPStatus.NOT_FOUND)
Пример #10
0
    def put(self, id):
        title, body, userId = self.update_params()

        post = Post.query.filter(Post.id == id).first()
        if post is not None:
            if title:
                Post.query.filter_by(id=id).update({'title': title})

            if body:
                Post.query.filter_by(id=id).update({'body': body})

            if userId:
                Post.query.filter_by(id=id).update({'userId': userId})

            db.session.commit()
            post = Post.query.filter(Post.id == id).first()

            db.session.commit()
            post_json = Post.serialize(post)
            response = BasicSchema(result=post_json)
            return BasicResponseSchema().dump(response)
        else:
            raise BasicError(message='Post not found',
                             status=HTTPStatus.NOT_FOUND)