def new_story(payload): data = request.get_json() if data is None: return abort(400) authors = Author.query.all() for author in authors: #Checks if the logged-in user is the one posting if payload['sub'].split("auth0|")[1] == author.user_id: if 'title' in data and 'type' in data and 'category' in data and 'content' in data: story = Story(title=data['title'], type=data['type'], category=data['category'], content=data['content'], author=author.id) story.insert() temp_res = story.format() res = { 'success': True, 'code': 200, 'message': 'Story {} written by {} {} was successfully added'. format(story.title, author.fname, author.lname) } return jsonify(res) msg = 'Some information is missing or a wrong formed request.' return abort(400, msg) return abort(401)
def create_story(payload): data = request.get_json() # DONE: get user e-mail from JWT token & allow only owner to edit post # https://stackoverflow.com/questions/3368969/find-string-between-two-substrings get_email = json.dumps(payload['https://tellatale.com/email']) email = (get_email.split('"')[1].split('"')[0]) user_exists = User.query.filter_by(email=email).first() if not user_exists: temp_name = (email.split("@")[0]) new_user = User(email=email, name=temp_name) new_user.insert() author_id = new_user.id else: author_id = user_exists.id title = data.get('title') cover_image = data.get('cover_image') genre = data.get('genre') content = data.get('content') release_date = data.get('release_date') release_status = data.get('released') read_time = data.get('read_time') if (not title or not content or not genre or not release_date or not release_status): abort(422) try: new_story = Story(title=title, cover_image=cover_image, genre=genre, content=content, release_date=release_date, release_status=release_status, read_time=read_time, author_id=author_id) new_story.insert() return jsonify({ 'success': True, 'message': 'Your story has been Created' }), 201 except Exception: print(sys.exc_info()) abort(422)