Files
status-monitor/ui/src/services/store.ts
T
2025-07-19 14:18:14 +02:00

35 lines
971 B
TypeScript

import type { StatusMessage } from "@/services/types";
export type TimePeriod = "realtime" | "hour" | "day" | "week" | "month" | "all";
const realtimeData: StatusMessage[] = [];
export function getLastMessage(): StatusMessage | null {
return JSON.parse(localStorage.getItem("last_message")!) as StatusMessage;
}
export function setLastMessage(message: StatusMessage) {
localStorage.setItem("last_message", JSON.stringify(message));
}
export function addDataPoint(value: StatusMessage) {
realtimeData.push(value);
}
export function getRealtimeData(): StatusMessage[] {
return realtimeData ?? [];
}
export async function getHistoricalData(
agent: string,
period: string,
): Promise<StatusMessage[]> {
return await fetch(
import.meta.env.DEV
? `http://localhost:3000/agent/${agent}/${period}`
: `/agent/${agent}`,
)
.then((res) => res.json())
.then((data) => data as StatusMessage[]);
}