28 lines
938 B
TypeScript
28 lines
938 B
TypeScript
import { NextRequest, NextResponse } from "next/server";
|
|
import { getUserFromSession } from "@/lib/auth/get-user";
|
|
import { checkSubscriptionStatus } from "@/lib/subscription/check-status";
|
|
|
|
export async function GET(req: NextRequest) {
|
|
try {
|
|
const user = await getUserFromSession();
|
|
if (!user) {
|
|
return NextResponse.json({ error: "Unauthorized" }, { status: 401 });
|
|
}
|
|
|
|
const status = await checkSubscriptionStatus(user.id);
|
|
|
|
return NextResponse.json({
|
|
status: status.status,
|
|
isActive: status.isActive,
|
|
daysRemainingInTrial: status.daysRemainingInTrial,
|
|
trialEndsAt: status.trialEndsAt?.toISOString() || null,
|
|
subscriptionEndsAt: status.subscriptionEndsAt?.toISOString() || null,
|
|
});
|
|
} catch (error: any) {
|
|
console.error("❌ [SUBSCRIPTION STATUS] Error:", error.message);
|
|
return NextResponse.json(
|
|
{ error: error.message },
|
|
{ status: 500 }
|
|
);
|
|
}
|
|
}
|