diff --git a/src/app/actions/monitoringActions.ts b/src/app/actions/monitoringActions.ts index 0e284da..7b48667 100644 --- a/src/app/actions/monitoringActions.ts +++ b/src/app/actions/monitoringActions.ts @@ -44,4 +44,48 @@ export async function setMonitoring(fileId: string, monitoringType: string) { errorMessage: 'error' }; } +} + +export interface MonitoringStats { + total_searches: number; + searches_by_status: { + processing: number; + completed: number; + failed: number; + total: number; + }; + recent_searches: any[]; +} + +export async function fetchMonitoringStats(): Promise { + const token = await getSessionData('token'); + + try { + const response = await fetch(`${API_BASE_URL}/api/v1/data`, { + method: 'POST', + body: JSON.stringify({ + version: 1, + msg_id: 30011, + message_body: { + token: token + } + }), + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json' + } + }); + + if (response.ok) { + const parsed = await response.json(); + console.log(parsed); + if (parsed?.message_body?.searches_by_status) { + return parsed.message_body; + } + } + + return null; + } catch (error) { + return null + } } \ No newline at end of file diff --git a/src/app/hooks/react-query/useMonitoringStats.ts b/src/app/hooks/react-query/useMonitoringStats.ts new file mode 100644 index 0000000..12ddead --- /dev/null +++ b/src/app/hooks/react-query/useMonitoringStats.ts @@ -0,0 +1,29 @@ +import { useQuery } from '@tanstack/react-query'; +import { fetchMonitoringStats } from '@/app/actions/monitoringActions'; + +interface MonitoringStats { + total_searches: number; + searches_by_status: { + processing: number; + completed: number; + failed: number; + total: number; + }; + recent_searches: any[]; +} + +export const useMonitoringStats = () => { + return useQuery({ + queryKey: ['monitoringStats'], + queryFn: () => { + return fetchMonitoringStats() + }, + select: (data: MonitoringStats | null) => { + if (!data) { + return null + } + return data; + }, + retry: false + }); +}; \ No newline at end of file diff --git a/src/app/ui/payment/user-usage.tsx b/src/app/ui/payment/user-usage.tsx index 664fd5c..2cd6d1f 100644 --- a/src/app/ui/payment/user-usage.tsx +++ b/src/app/ui/payment/user-usage.tsx @@ -11,7 +11,7 @@ export default function UserUsage() { useEffect(() => { console.log('log from user-usage'); console.log(userData); - }, [userData]) + }, [userData]); return (
diff --git a/src/app/ui/reports/final-summary.tsx b/src/app/ui/reports/final-summary.tsx index fece977..03e2d4f 100644 --- a/src/app/ui/reports/final-summary.tsx +++ b/src/app/ui/reports/final-summary.tsx @@ -4,11 +4,13 @@ import { useUserFilesInfo } from '@/app/hooks/react-query/useUserFilesInfo'; import { useTranslations } from 'next-intl'; import { useEffect } from 'react'; import { useViolationStatistic } from '@/app/hooks/react-query/useViolationStatistic'; +import {useMonitoringStats} from '@/app/hooks/react-query/useMonitoringStats'; export default function FinalSummary() { const t = useTranslations('Global'); const { data: filesInfo, isLoading, isError, error } = useUserFilesInfo(); const { data: violationStatistic } = useViolationStatistic(); + const { data: monitoringStats } = useMonitoringStats(); return (
@@ -23,7 +25,10 @@ export default function FinalSummary() {
{/*
🔍
*/} -
{filesInfo?.total.check ? filesInfo?.total.check : 0}
+
+ {monitoringStats?.total_searches ? monitoringStats?.total_searches : 0} + {/* {filesInfo?.total.check ? filesInfo?.total.check : 0} */} +
{t('total-number-of-checks')}
diff --git a/src/app/ui/reports/reports-info.tsx b/src/app/ui/reports/reports-info.tsx index f88f584..df14927 100644 --- a/src/app/ui/reports/reports-info.tsx +++ b/src/app/ui/reports/reports-info.tsx @@ -4,11 +4,18 @@ import { useTranslations } from 'next-intl'; import { useUserFilesInfo } from '@/app/hooks/react-query/useUserFilesInfo'; import { IconDocument, IconSearch, IconWarning, IconGraph } from '@/app/ui/icons/icons'; import { useViolationStatistic } from '@/app/hooks/react-query/useViolationStatistic'; +import { useMonitoringStats } from '@/app/hooks/react-query/useMonitoringStats'; +import { useEffect } from 'react'; export default function ReportsInfo() { const t = useTranslations("Global"); const { data: filesInfo, isLoading, isError, error } = useUserFilesInfo(); const { data: violationStatistic } = useViolationStatistic(); + const { data: monitoringStats } = useMonitoringStats(); + + useEffect(() => { + console.log(monitoringStats) + }, [monitoringStats]); return ( <> @@ -39,7 +46,10 @@ export default function ReportsInfo() {
-
{filesInfo?.total.check ? filesInfo?.total.check : 0}
+
+ {/* {filesInfo?.total.check ? filesInfo?.total.check : 0} */} + {monitoringStats?.total_searches ? monitoringStats?.total_searches : 0} +
{t('monitoring')}