def submitDialog()

in chat-client/main.py [0:0]


def submitDialog(event):
    chatUser = event["chat"]["user"]
    products = []
    categories = []
    all_products = False
    all_blogs = False
    space_id = event["chat"]["buttonClickedPayload"]["space"]["name"]
    if "formInputs" in event["commonEventObject"]:
        if "contactType" in event["commonEventObject"]["formInputs"]:
            products = event["commonEventObject"]["formInputs"]["contactType"][
                "stringInputs"
            ]["value"]
            products, all_products = handle_templatized_notes_inputs(products)
        if "blogType" in event["commonEventObject"]["formInputs"]:
            categories = event["commonEventObject"]["formInputs"]["blogType"][
                "stringInputs"
            ]["value"]
            categories, all_blogs = handle_templatized_blogs_inputs(categories)
    with futures.ThreadPoolExecutor() as executor:
        record_space_subscription_futures = [
            executor.submit(record_space_subscription, space_id, product)
            for product in products
        ]
        record_space_blogs_futures = [
            executor.submit(record_space_blogs, space_id, category)
            for category in categories
        ]
    futures.wait(record_space_subscription_futures + record_space_blogs_futures)
    record_product_subscription(space_id, products, categories)

    response = ""
    if products:  # More concise way to check if list is not empty
        product_message = f"products: {', '.join(products)}"
    else:
        product_message = "no products"  # Or a more appropriate message

    if all_products:
        product_message = "All Products"

    if categories:
        category_message = f"and categories: {', '.join(categories)}"
    else:
        category_message = "and no categories"

    if all_blogs:
        category_message = "and All Categories"

    if products or categories:  # Check if either products or categories are selected
        response = f"😄🎉 Your request has been successfully submitted!\n\nThis space is now subscribed to {product_message} {category_message}."
    else:
        response = "😄🎉 Your request has been successfully submitted!\n\nThis space is now unsubscribed from any products or categories."

    return {
        "hostAppDataAction": {
            "chatDataAction": {
                "createMessageAction": {
                    "message": {"privateMessageViewer": chatUser, "text": response}
                }
            }
        }
    }