def delete(self, todo_id): data = request.get_json() user_details = Auth.login_info(request) todo = Todo.query.filter_by(id=todo_id, author=user_details["user_id"]).first() if not todo: return {"error": "Todo's not found!"}, 404 db.session.delete(todo) db.session.commit() return {'message': 'Todo item deleted!'}, 201
def put(self, todo_id): data = request.get_json() user_details = Auth.login_info(request) todo = Todo.query.filter_by(id=todo_id, author=user_details["user_id"]).first() if not todo: return {"error": "Todo's not found!"}, 404 todo.complete = True todo.text = data["text"] db.session.commit() return {'message': 'Todo item has been completed!'}, 201
def get(self, todo_id): user_details = Auth.login_info(request) todo = Todo.query.filter_by(id=todo_id, author=user_details["user_id"]).first() if not todo: return {"error": "Todo's not found!"}, 404 todo_data = {} # todo_data['id'] = todo.id todo_data['text'] = todo.text todo_data['complete'] = todo.complete return todo_data
def get(self): """List all Todo's""" user_details = Auth.login_info(request) todos = Todo.query.filter_by(author=user_details["user_id"]).all() output = [] for todo in todos: todo_data = {} todo_data['id'] = todo.id todo_data['text'] = todo.text todo_data['complete'] = todo.complete output.append(todo_data) return {"todos": output}, 201
def save_new_todo(data): user_details = Auth.login_info(request) new_user = Todo(public_id=str(uuid.uuid4()), email=data['text'], username=data['username'], password=data['password'], registered_on=datetime.datetime.utcnow()) save_changes(new_user) response_object = { 'status': 'success', 'message': 'Successfully registered.' } return response_object, 201
def post(self): """Create new Todo's""" user_details = Auth.login_info(request) data = request.get_json() new_todo = Todo(text=data["text"], complete=False, author=user_details["user_id"], datecreated=datetime.datetime.utcnow()) db.session.add(new_todo) db.session.commit() response_object = {'status': 'success', 'message': "Todo created!"} return response_object, 201