import { API_BASE_URL } from '../../../shared/services/apiConfig'; async function request(path, options = {}) { const response = await fetch(`${API_BASE_URL}${path}`, { headers: { 'Content-Type': 'application/json', ...options.headers, }, ...options, }); if (!response.ok) { let message = 'Falha ao consultar base de conhecimento.'; try { const payload = await response.json(); message = Array.isArray(payload?.message) ? payload.message.join(' ') : payload?.message || payload?.error || message; } catch { // Mantem a mensagem padrao quando a API nao devolve JSON. } throw new Error(message); } return response.json(); } export function listRoutingKeywords(areaId) { const query = areaId ? `?areaId=${encodeURIComponent(areaId)}` : ''; return request(`/admin/knowledge/routing-keywords${query}`); } export function getBotFlow() { return request('/admin/knowledge/bot-flow'); } export function listBotFlowVersions() { return request('/admin/knowledge/bot-flow/versions'); } export function createBotFlowNode(payload) { return request('/admin/knowledge/bot-flow/nodes', { method: 'POST', body: JSON.stringify(payload), }); } export function updateBotFlowNode(id, payload) { return request(`/admin/knowledge/bot-flow/nodes/${id}`, { method: 'PUT', body: JSON.stringify(payload), }); } export function deleteBotFlowNode(id) { return request(`/admin/knowledge/bot-flow/nodes/${id}`, { method: 'DELETE', }); } export function publishBotFlow() { return request('/admin/knowledge/bot-flow/publish', { method: 'POST', }); } export function getTriageFlow() { return request('/admin/knowledge/triage-flow'); } export function updateTriageFlow(payload) { return request('/admin/knowledge/triage-flow', { method: 'PUT', body: JSON.stringify(payload), }); } export function createTriageAudience(payload) { return request('/admin/knowledge/triage-flow/audiences', { method: 'POST', body: JSON.stringify(payload), }); } export function updateTriageAudience(id, payload) { return request(`/admin/knowledge/triage-flow/audiences/${id}`, { method: 'PUT', body: JSON.stringify(payload), }); } export function createTriageIntent(payload) { return request('/admin/knowledge/triage-flow/intents', { method: 'POST', body: JSON.stringify(payload), }); } export function updateTriageIntent(id, payload) { return request(`/admin/knowledge/triage-flow/intents/${id}`, { method: 'PUT', body: JSON.stringify(payload), }); } export function createRoutingKeyword(payload) { return request('/admin/knowledge/routing-keywords', { method: 'POST', body: JSON.stringify(payload), }); } export function updateRoutingKeyword(id, payload) { return request(`/admin/knowledge/routing-keywords/${id}`, { method: 'PUT', body: JSON.stringify(payload), }); } export function deleteRoutingKeyword(id) { return request(`/admin/knowledge/routing-keywords/${id}`, { method: 'DELETE', }); }