Exemplo n.º 1
0
    def patch(self, room_id):

        json_data = request.get_json()

        data, errors = room_schema.load(data=json_data, partial=('name', ))

        if errors:
            return {'message': 'Room not found'}, HTTPStatus.FORBIDDEN

        room = room.get_by_id(room_id=room_id)

        if room is None:
            return {'mesage': 'Room not found'}, HTTPStatus.NOT_FOUND

        current_user = get_jwt_identity()

        if current_user != room.user_id:
            return {'message': 'Access not allowed'}, HTTPStatus.FORBIDDEN

        room.name = data.get('name') or room.name
        room.description = data.get('description') or room.description
        room.steps = data.get('steps') or room.steps
        room.tools = data.get('tools') or room.tools
        room.cost = data.get('cost') or room.cost
        room.duration = data.get('duration') or room.duration
        room.save()

        return room_schema.dump(room).data, HTTPStatus.OK
Exemplo n.º 2
0
    def delete(self, room_id):
        room = room.get_by_id(room_id=room_id)

        if room is None:
            return {'message': 'Room not found'}, HTTPStatus.NOT_FOUND

        room.is_publish = False

        return {}, HTTPStatus.NO_CONTENT
Exemplo n.º 3
0
    def put(self, room_id):
        room = room.get_by_id(room_id=room_id)

        if room is None:
            return {'message': 'Room not found'}, HTTPStatus.NOT_FOUND

        room.is_publish = True
        room.save()

        return {}, HTTPStatus.NO_CONTENT
Exemplo n.º 4
0
    def get(self, room_id):

        room = room.get_by_id(room_id=room_id)

        if room is None:
            return {'message': 'Room not found'}, HTTPStatus.NOT_FOUND

        current_user = get_jwt_identity()

        if room.is_publish == False and room.user_id != current_user:
            return {'message': 'Access is not allowed'}, HTTPStatus.FORBIDDEN

        return room.data(), HTTPStatus.OK
Exemplo n.º 5
0
    def delete(self, room_id):

        room = room.get_by_id(room_id=room_id)

        if room is None:
            return {'message': 'Room not found'}, HTTPStatus.NOT_FOUND

        current_user = get_jwt_identity()

        if current_user != room.user_id:
            return {'message': 'Access is not allowed'}, HTTPStatus.FORBIDDEN

        room.delete()

        return {}, HTTPStatus.NO_CONTENT
Exemplo n.º 6
0
    def put(self, room_id):

        json_data = request.get_json()

        room = room.get_by_id(room_id=room_id)

        if room is None:
            return {'message': 'Room not found'}, HTTPStatus.NOT_FOUND

        current_user = get_jwt_identity()

        if current_user != room.user_id:
            return {'message': 'Acces is not allowed'}, HTTPStatus.FORBIDDEN

        room.name = json_data['name']
        room.description = json_data['description']
        room.steps = json_data['steps']
        room.tools = json_data['tools']
        room.cost = json_data['cost']
        room.duration = json_data['duration']

        room.save()

        return room.data(), HTTPStatus.OK