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)
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
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
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
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
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
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
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
def bucketlists(): return Bucketlist.get_all()
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