mirror of
https://github.com/csehviktor/status-monitor.git
synced 2026-04-28 16:27:34 +02:00
35 lines
971 B
TypeScript
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[]);
|
|
}
|