authLog.d.ts 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. export interface AuthLog {
  2. id?: number;
  3. clientid: string;
  4. username: string;
  5. ip_address: string;
  6. operation_type: 'connect' | 'publish' | 'subscribe' | 'disconnect';
  7. result: 'success' | 'failure';
  8. reason?: string;
  9. topic?: string;
  10. created_at?: Date;
  11. }
  12. export declare class AuthLogModel {
  13. static getAll(limit?: number, offset?: number): Promise<AuthLog[]>;
  14. static getById(id: number): Promise<AuthLog | null>;
  15. static getByClientid(clientid: string, limit?: number, offset?: number): Promise<AuthLog[]>;
  16. static getByUsername(username: string, limit?: number, offset?: number): Promise<AuthLog[]>;
  17. static getByOperationType(operationType: string, limit?: number, offset?: number): Promise<AuthLog[]>;
  18. static getByResult(result: string, limit?: number, offset?: number): Promise<AuthLog[]>;
  19. static getByTimeRange(startTime: Date, endTime: Date, limit?: number, offset?: number): Promise<AuthLog[]>;
  20. static getCount(): Promise<number>;
  21. static getOperationTypeStats(startTime?: Date, endTime?: Date): Promise<any[]>;
  22. static getResultStats(startTime?: Date, endTime?: Date): Promise<any[]>;
  23. static getDailyStats(days?: number): Promise<any[]>;
  24. static getHourlyStats(hours?: number): Promise<any[]>;
  25. static getTopClients(limit?: number): Promise<any[]>;
  26. static getTopIps(limit?: number): Promise<any[]>;
  27. static create(authLog: Omit<AuthLog, 'id' | 'created_at'>): Promise<AuthLog>;
  28. static search(searchTerm: string, limit?: number, offset?: number): Promise<AuthLog[]>;
  29. static getSearchCount(searchTerm: string): Promise<number>;
  30. static cleanup(daysToKeep?: number): Promise<number>;
  31. static getRecent(limit?: number): Promise<AuthLog[]>;
  32. static cleanupOldLogs(daysToKeep?: number): Promise<number>;
  33. static getFullStats(): Promise<any>;
  34. static getOperationStats(startTime?: Date, endTime?: Date): Promise<any[]>;
  35. static getCountByMultipleConditions(conditions: {
  36. [key: string]: any;
  37. }, startTime?: Date, endTime?: Date, fuzzyFields?: string[]): Promise<number>;
  38. static getByMultipleConditions(conditions: {
  39. [key: string]: any;
  40. }, startTime?: Date, endTime?: Date, limit?: number, offset?: number, fuzzyFields?: string[]): Promise<AuthLog[]>;
  41. static getCountByTimeRange(startTime: Date, endTime: Date): Promise<number>;
  42. static getCountByResult(result: string): Promise<number>;
  43. static getCountByIpAddress(ipAddress: string): Promise<number>;
  44. static getCountByOperationType(operationType: string): Promise<number>;
  45. static getCountByUsername(username: string): Promise<number>;
  46. static getByIpAddress(ipAddress: string, limit?: number, offset?: number): Promise<AuthLog[]>;
  47. static getCountByClientid(clientid: string): Promise<number>;
  48. }
  49. //# sourceMappingURL=authLog.d.ts.map