Beispiel #1
0
    def add_actor(payload):
        body = request.get_json()

        # get all the user's inputs
        new_name = body.get('name', None)
        new_age = body.get('age', None)
        new_gender = body.get('gender', None)

        # check the user's inputs
        if new_name == '' or new_age == '' or new_gender == '':
            # unprocessable error
            abort(422)

        try:
            actor = Actors(name=new_name, age=new_age, gender=new_gender)
            actor.insert()

            total = len(Actors.query.all())

            return jsonify({
                'success': True,
                'created': actor.id,
                'totalActors': total
            })

        except BaseException:
            # unprocessable error
            abort(422)
Beispiel #2
0
 def create_actor(jwt):
     '''
     Create an endpoint to POST a new actor,
     which will require the name, age and gender
     detals
     '''
 
     # Get the request body
     body = request.get_json()
 
     new_name = body.get('name')
     new_age = body.get('age')
     new_gender = body.get('gender')
 
     if ((new_name is None) or (new_age is None) or (new_gender is None)):
         abort(422)
 
     try:
         # create the new actor
         actor = Actors(name=new_name, age=new_age, gender=new_gender)
         actor.insert()
 
         # return the new created actor if successfully created
         return jsonify({
             'success': True,
             'actor': actor.format()
         })
 
     # raise exception for any error during deleting the actor
     except:
         db.session.rollback()
         print(sys.exc_info())
         abort(404)
    def add_actor(payload):
        body = request.get_json()

        actor_name = body.get('name', None)
        actor_age = body.get('age', None)
        actor_gender = body.get('gender', None)

        if not actor_name:
            abort(422, {'message': 'Name of actor not provided'})

        if not actor_age:
            abort(422, {'message': 'Age of actor not provided'})

        if not actor_gender:
            abort(422, {'message': 'Gender of actor not provided'})

        try:
            actor = Actors(name=actor_name, age=actor_age, gender=actor_gender)

            actor.insert()

            actors = Actors.query.order_by(Actors.id).all()
            total_actors = len(actors)
            last_actor = actors[total_actors - 1].format()
            # actors_formatted = [actor.format() for actor in actors]

            return jsonify({'success': True, 'actor_added': last_actor})

        except BaseException:
            db.session.rollback()
            print(sys.exc_info())
            abort(422, {'message': 'Failed to add new actor to the database'})

        finally:
            db.session.close()
    def post_actor(payload):
        body = request.get_json()

        if not ('name' in body and 'age' in body, 'gender' in body
                and 'movie' in body):
            abort(422)

        new_name = body.get('name', None)
        new_age = body.get('age', None)
        new_gender = body.get('gender', None)
        new_movie = body.get('movie', None)

        if new_name is None or new_age is None or new_gender is None:
            abort(400)

        try:
            actor = Actors(name=new_name,
                           age=new_age,
                           gender=new_gender,
                           movie_id=new_movie)
            if Actors.query.filter_by(name=actor.name).count():
                abort(409)
            actor.insert()

            return jsonify({
                'success': True,
                'actor': actor.format(),
                'total_actors': len(Actors.query.all())
            })

        except AttributeError:
            abort(422)
Beispiel #5
0
 def test_get_actors(self):
     actor = Actors(name='Elsa Montanha', age=21, gender='Female')
     actor.insert()
     response = self.client().get('/actors', headers=self.assistant)
     data = json.loads(response.data)
     self.assertEqual(response.status_code, 200)
     self.assertEqual(data['success'], True)
Beispiel #6
0
    def add_actors(jwt):
        #--Get request json
        body = request.get_json()
        if body is None:
            abort(400)  #--does not contain valid json

        try:
            #--get form values to variables--#
            new_name = body.get('name', '')
            new_age = body.get('age', '')
            new_gender = body.get('gender', '')

            if not (new_gender and new_age and new_name):
                abort(422)  #--no data provided--#

            new_actor = Actors(name=new_name, age=new_age, gender=new_gender)
            new_actor.insert()

            return jsonify(
                {
                    'success': True,
                    'id': new_actor.id,
                    'name': new_actor.name
                }, 200)

        except Exception as e:
            print(e)
            abort(422)
Beispiel #7
0
    def post_actors(payload):
        add_actor = request.get_json()
        actor_name = add_actor.get('name')
        actor_gender = add_actor.get('gender')
        actor_age = add_actor.get('age')

        if actor_name is None:
            abort(422)

        if actor_gender is None:
            abort(422)

        if actor_age is None:
            abort(422)

        try:
            new_actor = Actors(name=actor_name,
                               gender=actor_gender,
                               age=actor_age)
            new_actor.insert()

            return jsonify({
                "success": True,
                "actor-added": new_actor.id
            })

        except Exception:
            abort(422)
Beispiel #8
0
    def create_actors(payload):
        req = request.get_json()

        new_name = req.get('name')
        new_age = req.get('age')
        new_gender = req.get('gender')
        new_movie_id = req.get('movies_id')

        try:
            new_actor = Actors(name=new_name,
                               age=new_age,
                               gender=new_gender,
                               movies_id=new_movie_id)
            new_actor.insert()

            return jsonify({
                'success': True,
                'new_actor': [new_actor.format()]
            }), 200

        except BaseException:
            abort(405)

        finally:
            db.session.close()
    def add_actor():
        error = False
        new_name = request.form['name']
        new_age = request.form['age']
        new_gender = request.form['gender']
        new_image_link = request.form['image_link']
        new_description = request.form['description']

        try:
            actor = Actors(name=new_name,
                           age=new_age,
                           gender=new_gender,
                           image_link=new_image_link,
                           description=new_description)

            actor.insert()
            flash('Artist ' + request.form['name'] +
                  ' successfully created 🚀')

        except Exception:
            rollback()
            error = True
            abort(400)
            flash('An error occurred. ' + actor.name + ' could not be listed.')

        return redirect(url_for('get_actors'))
Beispiel #10
0
    def create_actor(f):
        body = request.get_json()

        if body is None:
            abort(422)

        required_params = ['name', 'age', 'gender']

        for param in required_params:
            if param not in body:
                abort(422)

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

        if gender != "female" and gender != "male":
            abort(22)

        try:
            new_actor = Actors(name=name, age=age, gender=gender)
            new_actor.insert()
        except:
            abort(422)

        return jsonify({'success': True, 'created': new_actor.id})
Beispiel #11
0
    def save_actor(jwt):
        #gets the body from request
        body = request.get_json()

        name = body['name']
        #name is not given
        if name is None:
            abort(422)

        age = body['age']
        #age is not given
        if age is None:
            abort(422)

        Gender = body['Gender']
        #gender is not given
        if Gender is None:
            abort(422)

        actor = Actors(name=name, age=age, Gender=Gender)

        try:
            actor.insert()
        except:
            abort(500)

        return jsonify({'success': True, 'actor_id': actor.actor_id})
def post_actors(payload):
    """ POST api to create a new actor in db """
    body = request.get_json()  # Read post data
    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)

    # Convert age to int
    age = int(age)
    try:
        # Create an actor
        actor = Actors(name=name, age=age, gender=gender)
        actor.insert()
        return jsonify({
            'success': True,
            'created': actor.id
        }), 201
    except Exception as err:
        print(err)
        db.session.rollback()
        abort(422)
    finally:
        db.session.close()
Beispiel #13
0
    def patch(self, user_type):
        """"
        Casting Assistants cannot edit actors nor movies
        """
        data = ['actors', 'movies']
        for entity_type in data:

            if entity_type == 'actors':
                actor_data = {"name": "Clarece", "gender": "f", "age": 88}
                actor = Actors(**actor_data)
                actor.insert()

                actors_response = self.user_patch(user_type, entity_type, 1,
                                                  {"name": "Amanda"})

                if user_type is 'CA':
                    self.assertEqual(actors_response.json['code'], 401)
                else:
                    self.assertEqual(
                        actors_response.json, {
                            f'{entity_type}': [{
                                'name': 'Amanda',
                                'gender': 'Female',
                                'id': 1,
                                'age': 88,
                                'movies': []
                            }],
                            'success':
                            True
                        })

            if entity_type == 'movies':
                movie_data = {
                    "title": "The Big One",
                    "release_date":
                    datetime.fromisoformat('2020-03-22 22:23:11')
                }
                movie = Movies(**movie_data)
                movie.insert()

                movies_response = self.user_patch(user_type, entity_type, 1,
                                                  {"title": "The Little One"})

                if user_type is 'CA':
                    self.assertEqual(movies_response.json['code'], 401)
                else:
                    self.assertEqual(
                        movies_response.json, {
                            'success':
                            True,
                            'movies': [{
                                'id': 1,
                                'title': "The Little One",
                                'release_date': 'Sun Mar 22 22:23:11 2020',
                                'actors': []
                            }]
                        })
Beispiel #14
0
 def test_400_update_actor(self):
     actor = Actors(name='Elsa Montanha', age=21, gender='Female')
     actor.insert()
     actor_id = actor.id
     response = self.client().patch('/actors/' + str(actor_id) + '',
                                    headers=self.director)
     data = json.loads(response.data)
     self.assertEqual(response.status_code, 400)
     self.assertEqual(data['success'], False)
Beispiel #15
0
def post_actor(jwt):
    # Gets the JSON body
    data = request.get_json()
    # print(data)

    # Checks that the JSON contains the complete details
    if 'firstname' not in data:
        abort(422)
    if 'lastname' not in data:
        abort(422)
    if 'gender' not in data:
        abort(422)
    if 'age' not in data:
        abort(422)

    # Checks that the age is an integer
    try:
        int(data.get('age'))
    except Exception:
        abort(400)

    # Gets each actor detail
    actor_firstname = data.get('firstname')
    actor_lastname = data.get('lastname')
    actor_age = int(data.get('age'))
    actor_gender = data.get('gender')

    # Checks that the details are not empty
    if actor_firstname is None:
        abort(400)
    if actor_lastname is None:
        abort(400)
    if actor_age is None:
        abort(400)
    if actor_gender is None:
        abort(400)

    # Initiates an instance of the Actors row
    new_actor = Actors(
        firstname=actor_firstname,
        lastname=actor_lastname,
        age=actor_age,
        gender=actor_gender
    )

    try:
        # Insert the new actor details into the database
        new_actor.insert()
    except Exception:
        abort(422)

    actor = new_actor.details()

    return jsonify({
        "success": True,
        "actor": actor
    }), 200
Beispiel #16
0
 def add_actor():
     data = request.get_json()
     new_name = data.get('name', None)
     new_age = data.get('age', None)
     new_gender = data.get('gender', None)
     new_actor = Actors(name=new_name, age=new_age, gender=new_gender)
     Actors.insert(new_actor)
     list_of_actors = Actors.query.all()
     return jsonify({'success': True, 'actors': list_of_actors})
Beispiel #17
0
    def test_delete_actor(self):
        actor = Actors(name='Elsa Montanha', age=21, gender='Female')

        actor.insert()
        actor_id = actor.id
        response = self.client().delete('/actors/' + str(actor_id) + '',
                                        headers=self.producer)
        data = json.loads(response.data)
        self.assertEqual(response.status_code, 200)
        self.assertEqual(data['success'], True)
Beispiel #18
0
 def post_actor_details(payload):
     body = request.get_json()
     name = body['name']
     age = body['age']
     gender = body['gender']
     movie = body['movie']
     new_actor = Actors(name=name, age=age, gender=gender, movie=movie)
     new_actor.insert()
     new_actor_data = Actors.query.order_by(-Actors.id).first().format()
     return jsonify({'success': True, 'actors': new_actor_data})
Beispiel #19
0
    def create_actor(payload):

        body = request.get_json()

        new_actor = Actors(name=body.get('name', ''),
                           age=body.get('age', ''),
                           gender=body.get('gender', ''))

        new_actor.insert()

        return jsonify({'status': 'successful'}), 200
Beispiel #20
0
    def test_executive_delete_actors(self):
        test_actor = Actors(name="Marcos test", age=20, gender="male")
        test_actor.insert()

        headers = {'Authorization': 'Bearer {}'.format(TOKEN_EXECUTIVE)}
        res = self.client().delete('/actors/{}'.format(test_actor.id),
                                   headers=headers)
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertTrue(data['deleted'])
Beispiel #21
0
    def test_delete_actors(self):
        new_actor = Actors(name='Sara', age='35', gender='female')
        new_actor.insert()
        actor_id = new_actor.id

        res = self.client().delete(
            '/actors/{}'.format(actor_id),
            headers={'Authorization': 'Bearer ' + test_token})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
Beispiel #22
0
    def addActor(jwt):
        parser = request.get_json()
        newName = parser['Name']
        newAge = parser['Age']
        newGender = parser['Gender']

        newActor = Actors(name=newName, age=newAge, gender=newGender)
        newActor.insert()

        return jsonify({
            'Success': True
        })
Beispiel #23
0
 def insert_Actors(payload):
     body = request.get_json()
     try:
         actor = Actors(name=body['name'],
                        age=body['age'],
                        email=body['email'],
                        salary=body['salary'])
         #print(actor,flush=True)
         actor.insert()
         return jsonify({'success': True})
     except Exception:
         abort(404)
Beispiel #24
0
def post_actor(token):
    post_data = request.get_json()
    if 'name' in post_data and 'age' in post_data and 'gender' in post_data:
        new_actor = Actors(name=post_data['name'],
                           age=post_data['age'],
                           gender=post_data['gender'])
        try:
            new_actor.insert()
            return jsonify({'id': new_actor.id, 'success': True})
        except SQLAlchemyError:
            db.session.rollback()
            abort(400)
    abort(400)
Beispiel #25
0
 def create_actor(payload):
     body = request.get_json()
     if "name" not in body:
         abort(422)
     try:
         new_actor = Actors(name=body['name'],
                            age=body['age'],
                            gender=body['gender'])
         new_actor.insert()
         actor_form = new_actor.format()
         return jsonify({'success': True, 'actor': actor_form}), 200
     except BaseException:
         abort(400)
Beispiel #26
0
    def post_actors(payload):
        body = request.get_json()
        try:
            req_name = body.get("name", None)
            req_age = int(body.get('age', None))
            req_gender = body.get('gender', None)
            actor = Actors(name=req_name, age=req_age, gender=req_gender)

            actor.insert()

            return jsonify({'success': True, 'actors': actor.id}), 200
        except BaseException:
            abort(422)
    def test_delete_actor(self):
        newActor = Actors(name="new actor", age=15, gender="male")
        newActor.insert()
        actor_id = newActor.id

        res = self.client().delete(
            f'/actors/{actor_id}',
            headers={"Authorization": "bearer " + director_token})
        data = json.loads(res.data)

        self.assertEqual(data['success'], True)
        self.assertEqual(data['actor'], actor_id)
        self.assertEqual(res.status_code, 200)
Beispiel #28
0
    def test_executive_patch_actors(self):
        test_actor = Actors(name="Marcos test", age=20, gender="male")
        test_actor.insert()

        headers = {'Authorization': 'Bearer {}'.format(TOKEN_EXECUTIVE)}
        res = self.client().patch('/actors/{}'.format(test_actor.id),
                                  headers=headers,
                                  json={"title": "Marcos BR Santana"})
        data = json.loads(res.data)

        self.assertEqual(res.status_code, 200)
        self.assertEqual(data['success'], True)
        self.assertTrue(data['updated'])
Beispiel #29
0
 def test_update_actor(self):
     actor = Actors(name='Elsa Montanha', age=21, gender='Female')
     actor.insert()
     actor_id = actor.id
     response = self.client().patch('/actors/' + str(actor_id) + '',
                                    headers=self.director,
                                    json={
                                        'name': 'Onnys Menete',
                                        'age': 21,
                                        'gender': 'Male'
                                    })
     data = json.loads(response.data)
     self.assertEqual(response.status_code, 200)
Beispiel #30
0
def add_actors(permission):
    data = request.get_json()
    actor = Actors(name=data['name'],
                   age=data['age'],
                   gender=data['gender'],
                   image_link=data['image_link'])
    actor.insert()
    actor = Actors.query.order_by(Actors.id.desc()).first()
    return jsonify({
        'success': True,
        'id': actor.id,
        'message': 'Actor ' + actor.name + ' added successfully.'
    })