/** * Service for managing events and alarms */ import { UnifiClient } from '../client/UnifiClient.js'; export interface Event { _id: string; key?: string; msg?: string; time?: number; [key: string]: any; } export interface Alarm { _id: string; key?: string; msg?: string; time?: number; archived?: boolean; [key: string]: any; } export class EventsService { constructor(private client: UnifiClient) {} /** * List events (Private API) */ async listEvents(limit?: number): Promise { const response = await this.client.request('GET', '/stat/event', { params: limit ? { _limit: limit } : undefined, }); return Array.isArray(response) ? response : []; } /** * List alarms (Private API) */ async listAlarms(archived: boolean = false): Promise { const response = await this.client.request('GET', '/rest/alarm', { params: { archived: archived.toString() }, }); return Array.isArray(response) ? response : []; } }