Skip to content

Commit

Permalink
[#10966] Pass additional params for agent-list api in v3
Browse files Browse the repository at this point in the history
  • Loading branch information
binDongKim committed May 8, 2024
1 parent ecb18c7 commit dd53b87
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
currentServerAtom,
currentNodeStatisticsAtom,
currentServerAgentIdAtom,
serverMapDataAtom,
} from '@pinpoint-fe/atoms';
import { END_POINTS, GetServerMap, SearchApplication, BASE_PATH } from '@pinpoint-fe/constants';
import { convertParamsToQueryString, getParsedDate } from '@pinpoint-fe/utils';
Expand All @@ -18,20 +19,42 @@ export interface ServerListFetcherProps extends ServerListProps {
}

export const ServerListFetcher = ({ disableFetch }: ServerListFetcherProps) => {
const { search, searchParameters } = useSearchParameters();
const { searchParameters } = useSearchParameters();
const currentTargetData = useAtomValue(serverMapCurrentTargetDataAtom) as GetServerMap.NodeData;
const currentNodeStatistics = useAtomValue(currentNodeStatisticsAtom);
const setCurrentServer = useSetAtom(currentServerAtom);
const currentServerAgent = useAtomValue(currentServerAgentIdAtom);
const serverMapData = useAtomValue(serverMapDataAtom);
const applicationPairs = serverMapData?.applicationMapData?.linkDataArray.reduce(
(acc, curr) => {
if (curr.from === currentTargetData?.key) {
acc?.to.push([curr.targetInfo.applicationName, curr.targetInfo.serviceTypeCode]);
} else if (curr.to === currentTargetData?.key) {
acc?.from.push([curr.sourceInfo.applicationName, curr.sourceInfo.serviceTypeCode]);
}
return acc;
},
{ from: [], to: [] } as { from: [string, number][]; to: [string, number][] },
);

const [queryParams, setQueryParams] = React.useState<SearchApplication.Parameters>({
const queryParams: SearchApplication.Parameters = {
application: currentTargetData?.applicationName,
serviceTypeName: currentTargetData?.serviceType,
serviceTypeCode: currentTargetData?.serviceTypeCode,
sortBy: 'AGENT_ID_ASC',
from: getParsedDate(searchParameters.from).getTime(),
to: getParsedDate(searchParameters.to).getTime(),
});
applicationPairs: JSON.stringify(applicationPairs),
};
const getQueryString = React.useCallback(() => {
if (queryParams.from && queryParams.to && queryParams.application && queryParams.sortBy) {
if (
queryParams.from &&
queryParams.to &&
queryParams.application &&
queryParams.sortBy &&
queryParams.serviceTypeCode &&
queryParams.applicationPairs
) {
return '?' + convertParamsToQueryString(queryParams);
}

Expand All @@ -44,21 +67,6 @@ export const ServerListFetcher = ({ disableFetch }: ServerListFetcherProps) => {
swrConfigs,
);

React.useEffect(() => {
setQueryParams((prev: SearchApplication.Parameters) => ({
...prev,
from: getParsedDate(searchParameters.from).getTime(),
to: getParsedDate(searchParameters.to).getTime(),
}));
}, [search]);

React.useEffect(() => {
setQueryParams((prev: SearchApplication.Parameters) => ({
...prev,
application: currentTargetData?.applicationName,
}));
}, [currentTargetData]);

React.useEffect(() => {
if (data) {
const servers = getServers();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ export namespace SearchApplication {

export interface Parameters {
application: string;
serviceTypeName?: string;
serviceTypeCode?: number;
applicationPairs?: string;
from: number;
to: number;
sortBy: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,13 @@ export const useGetAgentList = ({ sortBy = AGENT_LIST_SORT.ID }: UseGetAgentList
const from = dateRange.from.getTime();
const to = dateRange.to.getTime();
const applicationName = application?.applicationName;
const serviceTypeName = application?.serviceType

const queryString = getQueryString({
from,
to,
application: applicationName,
serviceTypeName,
sortBy,
});

Expand Down

0 comments on commit dd53b87

Please sign in to comment.