UNPKG

errsole-mongodb

Version:

MongoDB storage plugin for Errsole

81 lines (71 loc) 2.4 kB
declare module 'errsole-mongodb' { import { MongoClientOptions } from 'mongodb'; interface Log { id?: string; hostname: string; pid: number; source: string; timestamp: Date; level: string; message: string; meta?: string; errsole_id?: number; } interface LogFilter { hostname?: string; pid?: number; level_json?: { source: string; level: string }[]; sources?: string[]; levels?: string[]; lt_id?: string; gt_id?: string; lte_timestamp?: Date; gte_timestamp?: Date; limit?: number; errsole_id?: number; } interface Config { id: string; key: string; value: string; } interface User { id: string; name: string; email: string; role: string; } interface Notification { id?: string; errsole_id: number; hostname: string; hashed_message: string; created_at?: Date; updated_at?: Date; } class ErrsoleMongoDB { constructor(uri: string, dbNameOrOptions: string | MongoClientOptions, options?: MongoClientOptions); getConfig(key: string): Promise<{ item: Config }>; setConfig(key: string, value: string): Promise<{ item: Config }>; deleteConfig(key: string): Promise<{}>; postLogs(logEntries: Log[]): Promise<{}>; getLogs(filters?: LogFilter): Promise<{ items: Log[] }>; searchLogs(searchTerms: string[], filters?: LogFilter): Promise<{ items: Log[], filters: LogFilter[] }>; deleteAllLogs(): Promise<{}>; getHostnames(): Promise<{ items: string[] }>; getMeta(id: string): Promise<{ item: { id: string; meta: string } }>; 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: string): Promise<{}>; insertNotificationItem(notification: Notification): Promise<{ previousNotificationItem: Notification | null; todayNotificationCount: number; }>; } export default ErrsoleMongoDB; }