19 lines
624 B
TypeScript
19 lines
624 B
TypeScript
import { cookies } from 'next/headers';
|
|
import { apiSuccess } from '@/lib/server/api-response';
|
|
import { verifyAccessToken } from '@/lib/server/access-token';
|
|
import { ACCESS_CODE_COOKIE_NAME } from '@/lib/server/access-token-policy';
|
|
|
|
export async function GET() {
|
|
const accessCode = process.env.ACCESS_CODE;
|
|
const enabled = !!accessCode;
|
|
|
|
let authenticated = false;
|
|
if (enabled) {
|
|
const cookieStore = await cookies();
|
|
const token = cookieStore.get(ACCESS_CODE_COOKIE_NAME)?.value;
|
|
authenticated = !!token && verifyAccessToken(token, accessCode);
|
|
}
|
|
|
|
return apiSuccess({ enabled, authenticated });
|
|
}
|