import { NextRequest, NextResponse } from 'next/server'; import { getPortalSession, type PortalSession } from './auth'; type PortalRouteHandler = ( req: NextRequest, session: PortalSession, params: Record, ) => Promise; export function withPortalAuth(handler: PortalRouteHandler) { return async (req: NextRequest, routeContext: { params: Promise> }) => { const session = await getPortalSession(); if (!session) { return NextResponse.json({ error: 'Portal authentication required' }, { status: 401 }); } const params = await routeContext.params; return handler(req, session, params); }; }