12 lines
618 B
TypeScript
12 lines
618 B
TypeScript
import { requireCommissionUser } from '@/lib/commission/server';
|
|
import { createRedisNamedEventResponse } from '@/lib/events/redis-stream';
|
|
import { errorResponse } from '@/lib/security/http';
|
|
import { limitRequest, trustedClientAddress } from '@/lib/security/rate-limit';
|
|
export async function GET(request: Request) {
|
|
try {
|
|
const user = await requireCommissionUser();
|
|
await limitRequest('stream-open', trustedClientAddress(request.headers), 60);
|
|
return await createRedisNamedEventResponse(`notifications:user:${user.id}`, 'changed', request.signal);
|
|
} catch (cause) { return errorResponse(cause); }
|
|
}
|