def process_request()

in functions/source/bot_fulfillment/bot_fulfillment.py [0:0]


def process_request(event):
    response_type = 'table'
    logger.info(
        'dispatch userId={}, intentName={}'.format(event['userId'], event['currentIntent']['name']))
    intent_name = event['currentIntent']['name']
    # Dispatch to your bot's intent handlers
    param_formatter = ParamFormatter()
    slots = get_lowercase_values(event['currentIntent'])
    if 'orders_revenue' in slots and slots['orders_revenue'] == 'order':
        slots['orders_revenue'] = 'orders'
    event['currentIntent']['slots'] = slots
    slots['currentIntent'] = intent_name
    response = ''
    content, is_valid = validate_slots(event['currentIntent'])
    if not is_valid:
        response = invalid_slots_response(slots, content, param_formatter)
    elif intent_name == intent_prefix+'sales_team_size_office':
        response = get_sales_team_size_office(response_type, slots)
    elif intent_name == intent_prefix+'sales_metrics_performing':
        if slots['product_salesteams'] in sales_list:
            if slots['orders_revenue'] is None:
                slots['orders_revenue'] = 'revenue'
            response = get_top_sales_person(param_formatter, response_type, slots)
        else:
            response = get_top_products_revenue_orders(param_formatter, response_type, slots)
    elif intent_name == intent_prefix+'sales_metrics_general':
        revenue_type_array = get_splited_revenue_type(slots)
        if len(set(revenue_type_array).intersection(average_revenue_type)) > 0:
            response = get_average_revenue_orders(param_formatter, slots)
        elif len(set(revenue_type_array).intersection(overall_revenue_type)) > 0:
            response = get_total_revenue_orders(param_formatter, slots)
    elif intent_name == intent_prefix+'help':
        response = get_help()
    return response