'use server' import { getSessionData } from '@/app/actions/session'; import { API_BASE_URL } from '@/app/actions/definitions'; export async function setMonitoring(fileId: string, monitoringType: string) { 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: 30007, message_body: { monitoring_type: monitoringType, file_id: fileId, auth_token: token } }), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' } }); if (response.ok) { let parsed = await response.json(); if (parsed.message_code === 0) { return { success: true, errorMessage: null }; } else { throw parsed; } } else { throw (`${response.status}`); } } catch (error) { return { success: false, 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(); if (parsed?.message_body?.searches_by_status) { return parsed.message_body; } } return null; } catch (error) { return null } } export async function fetchLastMonitoringCheck() { 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, limit: 1 } }), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' } }); if (response.ok) { const parsed = await response.json(); if (parsed?.message_body?.searches_by_status) { return parsed.message_body; } } } catch (error) { return null } } export async function fetchMonitoringInfo() { 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: 30027, message_body: { authToken: token } }), headers: { 'Content-Type': 'application/json', 'Accept': 'application/json' } }); if (response.ok) { const parsed = await response.json(); if (parsed?.message_body) { return parsed.message_body; } } } catch (error) { return null } }