UNPKG

editia-core

Version:

Core services and utilities for Editia applications - Authentication, Monetization, Video Generation Types, and Database Management

47 lines 1.66 kB
/** * Express Authentication Middleware * Based on analysis of server-analyzer patterns */ import { Request, Response, NextFunction } from 'express'; import { DatabaseUser } from '../../types/auth'; declare global { namespace Express { interface Request { user?: DatabaseUser; } } } /** * Authentication middleware for Express * Verifies Clerk JWT and ensures user exists in database * @param req Express request object * @param res Express response object * @param next Express next function */ export declare function authenticateUser(req: Request, res: Response, next: NextFunction): Promise<void>; /** * Pro subscription middleware - requires Pro/Premium tier * For features that require Pro subscription * @param req Express request object * @param res Express response object * @param next Express next function */ export declare function requireProAccess(req: Request, res: Response, next: NextFunction): Promise<void>; /** * Optional authentication - for endpoints that work with or without auth * @param req Express request object * @param res Express response object * @param next Express next function */ export declare function optionalAuth(req: Request, _res: Response, next: NextFunction): Promise<void>; /** * Create authentication middleware with custom options * @param options Middleware options * @returns Authentication middleware function */ export declare function createAuthMiddleware(options?: { requireAuth?: boolean; requirePro?: boolean; optional?: boolean; }): (_req: Request, _res: Response, next: NextFunction) => void; //# sourceMappingURL=authenticate.d.ts.map