aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
33 lines • 1.46 kB
TypeScript
import { Request, Response, NextFunction } from 'express';
import { AuthService, TokenPayload, Permission } from './auth-service';
declare global {
namespace Express {
interface Request {
user?: TokenPayload;
apiKey?: string;
}
}
}
export declare class AuthMiddleware {
private authService;
constructor(authService?: AuthService);
authenticate: (req: Request, res: Response, next: NextFunction) => Promise<void>;
authenticateOptional: (req: Request, res: Response, next: NextFunction) => Promise<void>;
authenticateApiKey: (req: Request, res: Response, next: NextFunction) => Promise<void>;
requirePermission: (permission: Permission) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
requireAnyPermission: (permissions: Permission[]) => (req: Request, res: Response, next: NextFunction) => Promise<void>;
requireRole: (role: "user" | "admin" | "developer") => (req: Request, res: Response, next: NextFunction) => Promise<void>;
private extractToken;
private extractApiKey;
}
export declare const createRateLimiter: (options?: {
windowMs?: number;
max?: number;
message?: string;
skipSuccessfulRequests?: boolean;
}) => any;
export declare const aiRateLimiter: any;
export declare const authRateLimiter: any;
export declare const uploadRateLimiter: any;
export declare const searchRateLimiter: any;
//# sourceMappingURL=middleware.d.ts.map