21 lines
630 B
TypeScript
21 lines
630 B
TypeScript
import { NextResponse } from "next/server";
|
|
import { getApiRateLimitStatus } from "@/lib/api-rate-limit";
|
|
import { hasProFeatures } from "@/lib/edition";
|
|
import { getSessionUser } from "@/lib/session";
|
|
|
|
export async function GET() {
|
|
const user = await getSessionUser();
|
|
if (!user) {
|
|
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
|
|
}
|
|
if (!hasProFeatures(user.plan)) {
|
|
return NextResponse.json(
|
|
{ error: "API rate limits are available on the Pro plan only" },
|
|
{ status: 403 },
|
|
);
|
|
}
|
|
|
|
const status = await getApiRateLimitStatus(user.id);
|
|
return NextResponse.json(status);
|
|
}
|