Exemplo n.º 1
0
    def subscription(jwt):
        data = request.get_json()
        method = request.method

        if method == 'POST':
            nutritionist_id = data.get('nutritionist_id')
            client_id = data.get('client_id')
            subscription_status = True

            check_nutritionist = Nutritionist.query.get(nutritionist_id)
            check_client = Client.query.get(client_id)

            subscription_check = Subscription.query.filter(
                Subscription.client_id == client_id,
                Subscription.nutritionist_id == nutritionist_id).all()

            if not check_nutritionist or not check_client or not subscription_status:
                abort(412)
                return jsonify({
                    'success':
                    False,
                    'message':
                    'provide accurate data for required fields'
                }), 412
            elif subscription_check:
                abort(422)
                return jsonify({
                    'success':
                    False,
                    'message':
                    'Client already subscribed to this nutritionist'
                }), 422
            else:
                try:
                    subscription = Subscription(
                        nutritionist_id=nutritionist_id,
                        client_id=client_id,
                        subscription_status=subscription_status)
                    subscription.insert()

                    return jsonify({
                        'success': True,
                        'message': 'Client subscription added'
                    })

                except:
                    abort(422)