Exemple #1
0
    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)
Exemple #2
0
    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)