コード例 #1
0
    def bucketlists():
        """method for retrieving and creating bucket lists."""
        access_token = request.headers.get("Authorization")
        if access_token:
            user_id = User.decode_token(access_token)
            if not isinstance(user_id, str):
                if request.method == 'POST':
                    name = str(request.data.get('name', ''))
                    u_id = user_id
                    if name:
                        bucketlist = Bucketlist(name=name, user_id=u_id)
                        bucketlist.save()
                        response = jsonify({
                            'id': bucketlist.id,
                            'name': bucketlist.name
                        })
                        response.status_code = 201
                        return response
                else:
                    bucket_lists = Bucketlist.get_all()
                    results = []

                    for bucketlist in bucket_lists:
                        obj = {
                            'id': bucketlist.id,
                            'name': bucketlist.name,
                        }
                        results.append(obj)
                    response = jsonify(results)
                    response.status_code = 200
                    return response
        response = {"message": "Please login first."}
        response.status_code = 403
        return jsonify(response)
コード例 #2
0
ファイル: __init__.py プロジェクト: randyclee/Devops
    def bucketlists():
        if request.method == "POST":
            name = str(request.data.get('name', ''))
            if name:
                bucketlist = Bucketlist(name=name)
                bucketlist.save()
                response = jsonify({
                    'id': bucketlist.id,
                    'name': bucketlist.name,
                    'date_created': bucketlist.date_created,
                    'date_modified': bucketlist.date_modified
                })
                response.status_code = 201
                return response
        else:
            # GET
            bucketlists = Bucketlist.get_all()
            results = []

            for bucketlist in bucketlists:
                obj = {
                    'id': bucketlist.id,
                    'name': bucketlist.name,
                    'date_created': bucketlist.date_created,
                    'date_modified': bucketlist.date_modified
                }
                results.append(obj)
            response = jsonify(results)
            response.status_code = 200
            return response
コード例 #3
0
ファイル: __init__.py プロジェクト: vish-s/flask-sampleapp
    def bucketlists():
	if request.method == 'POST':
	    name=str(request.data.get('name', ''))
	    if name:
		bucketlist = Bucketlist(name=name)
		bucketlist.save()
		response = jsonify({
			'id': bucketlist.id,
			'name': bucketlist.date_created,
			'date_created': bucketlist.date_created,
			'date_modiified': bucketlist.date_modified
		})
		response.status_code = 201
		return response
	else:
	    bucketlists = Bucketlist.get_all()
	    results = []
	    for bucketlist in bucketlists:
		obj = {
		'id': bucketlist.id,
		'name': bucketlist.name,
		'date_created': bucketlist.date_created,
		'date_modified':bucketlist.date_modified
		}
	    results.append(obj)
	response = jsonify(results)
	response.status_code = 200
	return response
コード例 #4
0
 def get_bucketlists():
     bucketlists = Bucketlist.get_all()
     results = []
     for bucketlist in bucketlists:
         obj = {
             'id': bucketlist.id,
             'name': bucketlist.name,
             'date_created': bucketlist.date_created,
             'date_modified': bucketlist.date_modified
         }
         results.append(obj)
     response = jsonify(results)
     response.status_code = 200
     return response
コード例 #5
0
    def bucketlists():
        # get the access token
        auth_header = request.headers.get('Authorization')
        access_token = auth_header.split(" ")[1]

        if access_token:
            user_id = User.decode_token(access_token)
            if not isinstance(user_id, str):
                # Go ahead and handle the request, the user is authed
                if request.method == "POST":
                    name = str(request.data.get('name', ''))
                    if name:
                        bucketlist = Bucketlist(name=name, created_by=user_id)
                        bucketlist.save()
                        response = jsonify({
                            'id': bucketlist.id,
                            'name': bucketlist.name,
                            'date_created': bucketlist.date_created,
                            'date_modified': bucketlist.date_modified,
                            'created_by': user_id
                        })

                        return make_response(response), 201

                else:
                    # GET
                    # get all the bucketlists for this user
                    bucketlists = Bucketlist.get_all(user_id)
                    results = []

                    for bucketlist in bucketlists:
                        obj = {
                            'id': bucketlist.id,
                            'name': bucketlist.name,
                            'date_created': bucketlist.date_created,
                            'date_modified': bucketlist.date_modified,
                            'created_by': bucketlist.created_by
                        }
                        results.append(obj)

                    return make_response(jsonify(results)), 200
            else:
                # user is not legit, so the payload is an error message
                message = user_id
                response = {'message': message}
                return make_response(jsonify(response)), 401
コード例 #6
0
ファイル: __init__.py プロジェクト: imireallan/bucketlist
    def get_all_bucketlists():
        bucketlists = Bucketlist.get_all()
        if not bucketlists:
            abort(404)

        results = []
        for bucketlist in bucketlists:
            obj = {
                "id": bucketlist.id,
                "name": bucketlist.name,
                "date_created": bucketlist.date_created,
                "date_modified": bucketlist.date_modified
            }
            results.append(obj)
        response = jsonify(results)
        response.status_code = 200
        return response
コード例 #7
0
ファイル: __init__.py プロジェクト: Collins33/BucketList
    def bucketlists():
        #check the type of request it receives
        if request.method == "POST":
            #CREATE BUCKETLIST OBJECT BY EXTRACTING NAME FROM THE REQUEST
            name=str(request.data.get('name',''))
            if name:
                bucketlist=Bucketlist(name=name)
                #save the created bucketlist
                bucketlist.save()
                response= jsonify({
                    'id':bucketlist.id,
                    'name':bucketlist.name,
                    'date_created':bucketlist.date_created,
                    'date_modified':bucketlist.date_modified
                })
                response.status_code= 201
                return response

        #if request method is get
        else:
            bucketlists=Bucketlist.get_all()#this returns a list

            results=[] 
            #iterate over the list of bucketlists
            for bucketlist in bucketlists:
                obj={
                    'id':bucketlist.id,
                    'name':bucketlist.name,
                    'date_created':bucketlist.date_created,
                    'date_modified':bucketlist.date_modified
                }
                results.append(obj)

            response=jsonify(results)
            response.status_code=200
            return response 
コード例 #8
0
    def bucketlists():
        # Get the access token from the passed header
        auth_header = request.headers.get('Authorization')
        if auth_header:
            access_token = auth_header.split("Bearer ")[1]
            if access_token:
                # Decode the token to get the user id
                user_id = User.decode_token(access_token)
                if not isinstance(user_id, str):
                    if request.method == 'POST':
                        try:
                            title = request.json.get('title')
                            if Bucketlist.title_exists(title):
                                return jsonify({
                                        "message": "A bucketlist with that name already exists. Please use a different name"
                                    }), 417

                            bucketlist = Bucketlist(title=title, created_by=user_id)
                            bucketlist.save()

                            response = jsonify({
                                'id': bucketlist.id,
                                'title': bucketlist.title,
                                'date_created': bucketlist.date_created,
                                'date_modified': bucketlist.date_modified,
                                'created_by': user_id,
                                'message': "Yaaay! Bucketlist successfully created"
                            })
                            response.status_code = 201

                            return response               
                        except AttributeError:
                            return jsonify({
                                        "message": "The title cannot be blank"
                                    }), 417

                    else:    # If GET
                        q = request.args.get('q', ' ').strip()
                        if q:
                            items = Bucketlist.query.filter(Bucketlist.title.like("%"+q+"%"))\
                            .filter(Bucketlist.created_by==user_id).all()
                            if items:
                                results = []

                                for item in items:
                                    single = {
                                        'id': item.id,
                                        'title': item.title,
                                        'date_created': item.date_created,
                                        'date_modified': item.date_modified,
                                        'created_by': user_id
                                    }
                                    results.append(single)

                                response = jsonify(results), 200

                                if not results:
                                    return jsonify({
                                    "message": "Hey, you don't have bucketlist yet, please create one"
                                }), 404

                                return response

                            if not items:
                                return jsonify({"message": "Bucketlist not found"})

                        else:
                            # Implement pagination
                            # Get the pages parameter or set it to 1
                            raw_page = request.args.get('page')
                            if raw_page:
                                try:
                                    page = int(raw_page)
                                except ValueError:
                                    return jsonify({"message": "The page must be an integer"})
                            else:
                                page = 1    # default page

                            # Set the limit of the no of bucketlists to be viewed
                            raw_limit = request.args.get('limit')
                            if raw_limit:
                                try:
                                    limit = int(raw_limit)
                                except ValueError:
                                    return jsonify({"message": "The limit must be an integer"})
                            else:
                                limit = 10    # default limit

                            # If q has not been passed / no search query made
                            bucketlists = Bucketlist.get_all(user_id).paginate(page, limit, False)
                            results = []

                            # if not results:
                            #     return jsonify({
                            #     "message": "Hey, you don't have any bucketlist yet, please create one"
                            # }), 404

                            if bucketlists.has_next:
                                next_page_url = "?page=" + str(page + 1) + "&limit=" + str(limit)
                            else: next_page_url = ""

                            if bucketlists.has_prev:
                                prev_page_url = "?page=" + str(page - 1) + "&limit=" + str(limit)
                            else: prev_page_url = ""

                            for bucketlist in bucketlists.items:
                                item = {
                                    'id': bucketlist.id,
                                    'title': bucketlist.title,
                                    'date_created': bucketlist.date_created,
                                    'date_modified': bucketlist.date_modified,
                                    'created_by': user_id
                                }
                                results.append(item)

                            response = jsonify({
                                'next_url': next_page_url, 
                                'prev_url': prev_page_url,
                                'results': results}), 200

                            return response

                else:
                    # User_id not found, payload is an error msg
                    return jsonify({
                    "message": "Error, could not authenticate. Please login first"
                }), 401
            else:
                # No access token
                return jsonify({
                "message": "Error, access token not found, you need to login first"
            }), 401
        else:   # No auth_header
            return jsonify({
                    "message": "Error, header access token not found, you need to login first"
                }), 401
コード例 #9
0
 def bucketlists():
     return Bucketlist.get_all()
コード例 #10
0
    def bucketlists():
        if request.method == 'POST':
            name = str(request.data.get('name', ''))
            if name:
                bucketlist = Bucketlist(name=name)
                bucketlist.save()
                response = jsonify({
                    'id': bucketlist.id,
                    'name': bucketlist.name,
                    'date_created': bucketlist.date_created,
                    'date_modified': bucketlist.date_modified
                })
                response.status_code = 201
                return response
        else:
            # GET
            bucketlists = Bucketlist.get_all()
            results = {}

            for bucklist in bucketlists:
                obj = {
                    'id': bucketlist.id,
                    'name': bucketlist.name,
                    'date_created': bucketlist.date_created,
                    'date_modified': bucketlist.date_modified
                }
                results.apppend(obj)
                response = jsonify(results)
                response.status_code = 200
                return response

        @app.route('/bucketlists/<int:id>', methods=['GET','PUT','DELETE'])
        def bucketlist_manipulation(id, **kwargs):
            # Retrieve bucketlists using ID
            bucketlist = Bucketlist.query.filter_by(id=id).first()
            if not bucketlist:
                # Raise an HTTPExeption with a 404 not found status code
                abort(404)
            
            if request.method == 'DELETE':
                bucketlist.delete()
                return {
                "message": "bucketlist {} deleted successfully".format(bucketlist.id)
            }, 200

            
            elif request.method == 'PUT':
                name = str(request.data.get('name', ''))
                bucketlist.name = name
                bucketlist.save()
                response = jsonify({
                    'id': bucketlist.id,
                    'name': bucketlist.name,
                    'data_created': bucketlist.date_created,
                    'data_modified': bucketlist.date_modified
                })   
                response_status_code = 200
                return response
            else:
                # GET
                response = jsonify({
                    'id': bucketlist.id,
                    'name': bucketlist.name,
                    'data_created': bucketlist.date_created,
                    'data_modified': bucketlist.date_modified
                })   
                response.status_code = 200
                return response
        
        return app