import { request, withQuery } from '../core/httpClient'; import type { SecurityAlert, SecurityBlock, SecurityOverview, SecurityProtectedNetwork, SecurityRule } from '../types'; export const adminSecurityDetectionApi = { getSecurityOverview: (range = '24h') => request(withQuery('/admin/security-detection/overview', { range })), listSecurityAlerts: (query: Record = {}) => request<{ items: SecurityAlert[]; total: number }> (withQuery('/admin/security-detection/alerts', query)), listSecurityRules: () => request('/admin/security-detection/rules'), updateSecurityRule: (id: string, body: Partial) => request(`/admin/security-detection/rules/${id}`, { method: 'PUT', body: JSON.stringify(body) }), blockSecurityAlert: (id: string, body: { durationSeconds: number; reason: string }) => request(`/admin/security-detection/alerts/${id}/block`, { method: 'POST', body: JSON.stringify(body) }), ignoreSecurityAlert: (id: string, reason: string) => request<{ success: boolean }>(`/admin/security-detection/alerts/${id}/ignore`, { method: 'POST', body: JSON.stringify({ reason }) }), listSecurityBlocks: () => request('/admin/security-detection/blocks'), unblockSecurityBlock: (id: string, reason: string) => request(`/admin/security-detection/blocks/${id}/unblock`, { method: 'POST', body: JSON.stringify({ reason }) }), listProtectedNetworks: () => request('/admin/security-detection/protected-networks'), addProtectedNetwork: (body: { network: string; name: string; reason: string }) => request('/admin/security-detection/protected-networks', { method: 'POST', body: JSON.stringify(body) }), };