UNPKG

errsole-sqlite

Version:

SQLite storage plugin for Errsole

79 lines (66 loc) 2.3 kB
declare module 'errsole-sqlite' { import { Database } from 'sqlite3'; interface Config { id?: number; key: string; value: string; } interface User { id?: number; name: string; email: string; role: string; } interface Log { id?: number; errsole_id?: number; timestamp: Date; hostname: string; pid: number; source: string; level: string; message: string; meta?: string; } interface LogFilter { lt_id?: number; gt_id?: number; lte_timestamp?: Date; gte_timestamp?: Date; hostnames?: string[]; level_json?: { source: string; level: string }[]; errsole_id?: number; limit?: number; } interface Notification { id?: number; errsole_id: number; hostname: string; hashed_message: string; created_at?: Date; updated_at?: Date; } class ErrsoleSQLite { constructor(filename: string); getConfig(key: string): Promise<{ item: Config }>; setConfig(key: string, value: string): Promise<{ item: Config }>; deleteConfig(key: string): Promise<{}>; createUser(user: { name: string; email: string; password: string; role: string }): Promise<{ item: User }>; verifyUser(email: string, password: string): Promise<{ item: User }>; getUserCount(): Promise<{ count: number }>; getAllUsers(): Promise<{ items: User[] }>; getUserByEmail(email: string): Promise<{ item: User }>; updateUserByEmail(email: string, updates: Partial<User>): Promise<{ item: User }>; updatePassword(email: string, currentPassword: string, newPassword: string): Promise<{ item: User }>; deleteUser(id: number): Promise<{}>; postLogs(logEntries: Log[]): Promise<{}>; flushLogs(): Promise<{}>; getLogs(filters?: LogFilter): Promise<{ items: Log[] }>; searchLogs(searchTerms: string[], filters?: LogFilter): Promise<{ items: Log[], filters: LogFilter[] }>; deleteAllLogs(): Promise<{}>; getMeta(id: number): Promise<{ item: { id: number, meta: string } }>; insertNotificationItem(notification: Notification): Promise<{ previousNotificationItem: Notification | null, todayNotificationCount: number }>; getHostnames(): Promise<{ items: string[] }>; } export default ErrsoleSQLite; }