Augusto Diaz
Space: dashboard only
5b7eaab
Raw
History Blame Contribute Delete
1.53 kB
const API_BASE = 'http://localhost:5208';
const API_KEY = 'dev-key';
class ApiService {
async request(endpoint, options = {}) {
const url = `${API_BASE}${endpoint}`;
const config = {
headers: {
'Content-Type': 'application/json',
'X-Api-Key': API_KEY,
...options.headers,
},
...options,
};
try {
const response = await fetch(url, config);
if (!response.ok) {
throw new Error(`HTTP error! status: ${response.status}`);
}
return await response.json();
} catch (error) {
console.error(`API request failed for ${endpoint}:`, error);
throw error;
}
}
// Risk assessment endpoints
async getRiskAssessment(machineId) {
return this.request(`/risk/${machineId}`);
}
async getRiskHistory(machineId, take = 20) {
return this.request(`/risk/${machineId}/history?take=${take}`);
}
// Model endpoints
async getModelMeta() {
return this.request('/model/meta');
}
// Device trust endpoints
async getTrustedDevices() {
return this.request('/trust/devices');
}
// Machine endpoints
async getMachines() {
return this.request('/machines');
}
// Demo endpoints
async seedDemo() {
return this.request('/demo/seed', { method: 'POST' });
}
async clearDemo() {
return this.request('/demo/clear', { method: 'POST' });
}
async evictStale() {
return this.request('/demo/evict', { method: 'POST' });
}
}
export const apiService = new ApiService();