def when_user_responded()

in UI/nl2sqlstudio_ui.py [0:0]


def when_user_responded() -> None:
    """
        Function to capture the user feedback from the
        Thumbs up/down widget
    """
    if st.session_state.user_responded:
        st.session_state.user_responded = False
        resp = st.session_state.messages[-1]['content']
        user_feedback = 'True'\
            if st.session_state.user_response == 1 else 'False'
        if user_feedback == 'True':
            info_text = ':green[👍 User feedback captured ]'
        else:
            info_text = ':red[👎 User feedback captured ]'

        st.session_state.messages[-1]['content'] = resp + " \n\n" + info_text
        genertor_endpoint = GEN_BY_CORE \
            if st.session_state.sql_generated_by == GEN_BY_CORE\
            else GEN_BY_LITE
        url = os.getenv(genertor_endpoint) + '/userfb'
        data = {"result_id": st.session_state.result_id,
                "user_feedback": user_feedback}

        logger.info(f"User reposnse data to API {data}")
        headers = {'Content-type': 'application/json',
                   'Accept': 'text/plain',
                   "Authorization": f"Bearer {st.session_state.access_token}"}
        resp = requests.post(url=url,
                             data=json.dumps(data),
                             headers=headers,
                             timeout=None)

        st.session_state.refresh = True
        get_feedback()