Beispiel #1
0
    def post_actors(jwk):
        body = request.get_json()

        add_actor = Actor()

        name = body.get('name')  # I get the name
        age = body.get('age')  # I get the age
        gender = body.get('gender')  # I get the gender
        if (name is None) or (age is None) or (
                gender is None
        ):  # if there is no age-name-gender I want to give 422 error
            abort(422)
        try:
            if name is not None:  # if the name is not None (thats mean if the name exist)
                add_actor.name = name
            if age is not None:
                add_actor.age = age
            if gender is not None:
                add_actor.age = age

            add_actor.insert()  # I insert the data to the database
        except Exception:
            abort(500)
        return jsonify({
            "success": True,
            "created_actor": add_actor.format()
        }), 200
Beispiel #2
0
    def test_delete_actor_casting_director_success(self):
        total_actors_before = len(Actor.query.all())

        actor = Actor()
        actor.name = 'Dwight Schrute'
        actor.age = 50
        actor.gender = 'Male'
        actor.insert()

        total_actors_after = len(Actor.query.all())
        self.assertEqual(total_actors_after, total_actors_before + 1)

        res = self.client().delete('/actors/' + str(actor.id),
                                   headers={
                                       "Authorization":
                                       "Bearer {}".format(
                                           self.casting_director)
                                   })
        data = json.loads(res.data)

        total_actors_after = len(Actor.query.all())

        self.assertEqual(data['success'], True)
        self.assertEqual(data['delete'], actor.id)
        self.assertEqual(res.status_code, 200)
        self.assertEqual(total_actors_after, total_actors_before)
Beispiel #3
0
def retrieve_actors(payload):
    current_actors = Actor.query.order_by(Actor.id).all()

    if len(current_actors) == 0:
        print("None")
        abort(404)

    print('Actors Retrieved:' + str(len(Actor.query.all())))
    actors = []
    strTable = "<table>"
    strTable += "<tr><th>ID</th><th>Name</th><th>Age</th><th>Gender</th></tr>"
    for actor in current_actors:
        d = Actor()
        d.id = actor.id
        d.name = actor.name
        d.age = actor.age
        d.gender = actor.gender
        print(d)
        actors.append(d)
        strTable += "<tr><td>" + str(
            actor.id
        ) + "</td><td>" + actor.name + "</td><td>" + actor.age + "</td><td>" + actor.gender + "</td></tr>"

    strTable += "</table>"
    return strTable
Beispiel #4
0
    def create_actor(payload):
        req = request.get_json()

        if req is None:
            abort(400)

        name = req['name']
        age = req['age']
        gender = req['gender']

        if name is None:
            abort(400)
        try:
            actor = Actor()
            actor.name = name
            actor.age = age
            actor.gender = gender

            print(actor)
            actor.insert()
            new_actor = actor.to_dict()

            return jsonify({'success': True, 'new_actor': new_actor}), 200
        except Exception:
            abort(422)
def create_actor(jwt_payload):
    actor = Actor()
    data = request.json
    actor.name = data['name']
    actor.age = data['age']
    actor.gender = data['gender'].lower()
    db.session.add(actor)
    db.session.flush()
    if 'movies' in data:
        movies = Movie.query.filter(Movie.id.in_(data['movies'])).all()
        for movie in movies:
            actor.movies.append(movie)
    db.session.commit()
    return jsonify(actor.long()), 201
Beispiel #6
0
    def create_actor(payload):
        """This endpoint will allow the creation of a new actor."""
        data = request.get_json()

        try:
            new_actor = Actor()
            new_actor.name = data['name']
            new_actor.age = data['age']
            new_actor.gender = data['gender']

            new_actor.insert()

        except BaseException:
            abort(400)

        return jsonify({'success': True, 'actor': new_actor.format()}), 200
Beispiel #7
0
 def add_actor(payload):
     req = request.get_json()
     actor = Actor()
     if 'name' not in req:
         abort(400)
     if 'age' not in req:
         abort(400)
     if 'gender' not in req:
         abort(400)
     actor.name = req['name']
     actor.age = req['age']
     actor.gender = req['gender']
     actor.insert()
     return jsonify({
         'success': True,
         'actor': actor.format()
     })
Beispiel #8
0
    def test_delete_actor_casting_assistant_not_authorized(self):
        actor = Actor()
        actor.name = 'Dwight Schrute'
        actor.age = 50
        actor.gender = 'Male'
        actor.insert()

        res = self.client().delete('/actors/' + str(actor.id),
                                   headers={
                                       "Authorization":
                                       "Bearer {}".format(
                                           self.casting_assistant)
                                   })
        data = json.loads(res.data)

        self.assertEqual(data['success'], False)
        self.assertEqual(data['error'], 401)
        self.assertEqual(data['message'], 'Permission not found')
        self.assertEqual(res.status_code, 401)
Beispiel #9
0
    def test_update_actor_casting_director_success(self):
        actor = Actor()
        actor.name = 'Dwight Schrute'
        actor.age = 50
        actor.gender = 'Male'
        actor.insert()

        update_actor = {'age': 51}

        res = self.client().patch('/actors/' + str(actor.id),
                                  headers={
                                      "Authorization":
                                      "Bearer {}".format(self.casting_director)
                                  },
                                  json=update_actor)
        data = json.loads(res.data)

        self.assertEqual(data['success'], True)
        self.assertEqual(data['actor'][0]['age'], 51)
        self.assertEqual(res.status_code, 200)
Beispiel #10
0
    def post_actors(jwk):
        body = request.get_json()
        new_actor = Actor()

        name = body.get('name')
        age = body.get('age')
        gender = body.get('gender')

        if name is None or age is None or gender is None:
            abort(400)
        try:

            new_actor.name = name
            new_actor.age = age
            new_actor.gender = gender

            new_actor.insert()
        except Exception:
            abort(500)

        return (jsonify({
            'success': True,
            'created_actor': new_actor.format()
        }), 200)
Beispiel #11
0
    """
    
    upactor = request.get_json()
    name = upactor.get('name')
    age = upactor.get('age')
    gender = upactor.get('gender')

    actor = Actor.query.get(id)

    if actor is None:
        abort(404)
    if name is None or age is None or gender is None:
        abort (400)
    
    actor.name = name
    actor.age = age
    actor.gender = gender

    try:
        actor.update()
        return jsonify({
            'actor':actor,
            'success':True
        }),200 

    except Exception:
        abort(500)

@app.route('/actors/,<int:id>',methods=['DELETE'])
@requires_models('delete:actors')
def delete_actor(payload):