juntekim.com/stripe_to_invoice/app/api/subscription/status/route.ts
2026-02-21 11:19:06 +00:00

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 }
);
}
}