UNPKG

nestjs-security-cli

Version:

Advanced IP blocking, role-based security, and attack detection for NestJS applications

27 lines (26 loc) 1.1 kB
import { Model } from 'mongoose'; import type { Cache } from 'cache-manager'; import { BlacklistedIp } from '../schemas/blacklisted-ip.schema'; import { SecurityConfigInterface } from '../interfaces/security-config.interface'; export declare class SecurityService { private readonly cache; private readonly blacklistedIpModel?; private readonly config?; constructor(cache: Cache, blacklistedIpModel?: Model<BlacklistedIp>, config?: SecurityConfigInterface); blacklistIp(ip: string, durationHours?: number, reason?: string, blockedBy?: string, attackDetails?: { userAgent?: string; requestUrl?: string; attackPattern?: string; }): Promise<void>; isBlacklisted(ip: string): Promise<boolean>; cleanupExpiredBlocks(): Promise<void>; removeFromBlacklist(ip: string): Promise<void>; getBlacklistedIps(options?: { active?: boolean; limit?: number; skip?: number; sortBy?: 'createdAt' | 'expiresAt'; sortOrder?: 'asc' | 'desc'; }): Promise<any[]>; getSecurityAnalytics(days?: number): Promise<any>; }