import React, { Suspense } from 'react'; import useFetch from 'fetch-suspense'; import { history, getDvaApp, connect } from 'umi'; import { Button } from 'antd'; import { JSON_HEADERS } from '@/pages/onnet-portal/core/services/kazoo.ts'; const MyLink = props => ( ); const FetchNameByAccount = account_id => { const redux_state = getDvaApp()._store.getState(); const API_URL_V2 = redux_state.settings.crossbarUrlV2; const url = `${API_URL_V2}/accounts/${account_id}`; const response = useFetch(url, { method: 'GET', headers: JSON_HEADERS() }); console.log('FetchNameByAccount url'); console.log(url); console.log('FetchNameByAccount response'); console.log(response); return response.data ? ( response.data.name ? ( {response.data.name} ) : ( 'N/A' ) ) : ( 'N/A' ); }; const MaybeFetchByNumber = number => { const redux_state = getDvaApp()._store.getState(); const { account_id } = redux_state.kz_login.data; const API_URL_V2 = redux_state.settings.crossbarUrlV2; const url = `${API_URL_V2}/accounts/${account_id}/phone_numbers/${number}/identify`; const response = useFetch(url, { method: 'GET', headers: JSON_HEADERS() }); return response.data.account_id ? response.data.account_id : 'N/A'; }; const MaybeFetchByRealm = realm => { const redux_state = getDvaApp()._store.getState(); const API_URL_V2 = redux_state.settings.crossbarUrlV2; const url = `${API_URL_V2}/search?t=account&q=realm&v=${realm}`; const response = useFetch(url, { method: 'GET', headers: JSON_HEADERS() }); console.log(`MaybeFetchByRealm realm: ${realm} response:`); console.log(response); console.log(response.data); console.log(response.data[0].name); return response.data[0].name ? ( {response.data[0].name} ) : ( 'N/A' ); }; const MyFetchingComponent = params => { if (params.account_id) { return FetchNameByAccount(params.account_id); } if (params.caller_id_number) { const caller_id_number_resp = MaybeFetchByNumber(params.caller_id_number); if (caller_id_number_resp !== 'N/A') { return FetchNameByAccount(caller_id_number_resp); } } if (params.callee_id_number) { const callee_id_number_resp = MaybeFetchByNumber(params.callee_id_number); if (callee_id_number_resp !== 'N/A') { return FetchNameByAccount(callee_id_number_resp); } } if (params.destination) { const destination_resp = MaybeFetchByNumber(params.destination); if (destination_resp !== 'N/A') { return FetchNameByAccount(destination_resp); } } if (params.realm) { const destination_resp = MaybeFetchByRealm(params.realm); console.log('MaybeFetchByRealm destination_resp'); console.log(destination_resp); if (destination_resp !== 'N/A') { return destination_resp; } } console.log('No param found'); console.log(params); return 'No param found'; }; const AccountName = props => { const { kz_cache } = props; return ( {kz_cache.account_name[props.account_id] ? ( kz_cache.account_name[props.account_id] ) : ( )} ); }; export default connect(({ kz_login, kz_account, kz_cache }) => ({ kz_login, kz_account, kz_cache, }))(AccountName);