예제 #1
0
    def delete(self, id, item_id):

        current_user = get_jwt_identity()

        bucketlist_item = BucketlistItem.get_bucketlist_items(
            id, item_id, current_user)

        if bucketlist_item:

            BucketlistItem.delete(bucketlist_item)

            response = jsonify({})

            response.status_code = 204  # Status 204 does not need a message body

        else:
            response = jsonify({
                "status":
                "Fail",
                "message":
                "Bucketlist item cannot be deleted as it does not exist"
            })

            response.status_code = 404

        return make_response(response)
예제 #2
0
    def put(self, id, item_id):
        data = request.get_json()

        current_user = get_jwt_identity()

        bucketlist_item = BucketlistItem.get_bucketlist_items(
            id, item_id, current_user)

        if bucketlist_item:
            bucketlist_item.item_name = data.get('item_name')

            if data.get('done') == 'true':

                bucketlist_item.done = True

            bucketlist_item.date_modified = datetime.datetime.now()
            database.session.commit()  # update new changes

            response = jsonify({
                "status":
                "Success",
                "message":
                "Bucketlist item successfully updated"
            })

            response.status_code = 200

        else:
            response = jsonify({
                "status": "Fail",
                "message": "Bucketlist item does not exist"
            })

            response.status_code = 404

        return make_response(response)
예제 #3
0
    def get(self, **kwargs):

        start = request.args.get('start')
        limit = request.args.get('limit')
        query = request.args.get('q')

        current_user = get_jwt_identity()

        if kwargs.get('id') is not None and kwargs.get('item_id') is not None:

            buckelist_item = BucketlistItem.get_bucketlist_items(
                kwargs['id'], kwargs['item_id'], current_user)

            if buckelist_item:

                response = jsonify({
                    'item_name':
                    buckelist_item.item_name,
                    'date_created':
                    buckelist_item.date_created,
                    'date_modified':
                    buckelist_item.date_modified,
                    'done':
                    buckelist_item.done,
                    'complete_by':
                    buckelist_item.complete_by,
                    'bucketlist_id':
                    buckelist_item.bucketlist_id
                })
                response.status_code = 200

            else:

                response = jsonify({
                    "status":
                    "Fail",
                    "message":
                    "That bucketlist item does not exist in bucketlist"
                })
                response.status_code = 404

        elif kwargs.get('id') is not None:

            if start is None:
                start = 1

            if limit is None:
                limit = 5

            search = get_paginated_list(
                '/v1/api/bucketlists/' + str(kwargs['id']) + '/items/',
                'bucketlist_item', query, current_user, kwargs['id'],
                int(start), int(limit))

            try:
                all_items = []
                for buckelist_item in search['results']:
                    item_response = {
                        'item_name': buckelist_item.item_name,
                        'date_created': buckelist_item.date_created,
                        'date_modified': buckelist_item.date_modified,
                        'done': buckelist_item.done,
                        'complete_by': buckelist_item.complete_by,
                        'bucketlist_id': buckelist_item.bucketlist_id
                    }
                    all_items.append(item_response)

                response = jsonify({
                    "previous": search['previous'],
                    "next": search['next'],
                    "results": all_items
                })
                response.status_code = 200

            except:
                response = jsonify({
                    "status":
                    "Fail",
                    "message":
                    "No bucketlist item matching your query in exists"
                })
                response.status_code = 404

        return make_response(response)