Files
litlyx/dashboard/server/api/payments/upgrade.ts
2025-11-28 16:49:20 +01:00

27 lines
714 B
TypeScript

import { PremiumModel } from "~/shared/schema/PremiumSchema";
export default defineEventHandler(async event => {
const ctx = await getRequestContext(event, 'flag:allowAnonRegistered');
//TODO: SELFHOST
const { user_id } = ctx;
const { plan_tag } = getQuery(event);
const tRpc = useTRPC();
const premiumData = await PremiumModel.findOne({ user_id })
if (!premiumData) throw createError({ status: 400, message: 'Cannot get premium data. Please contact support.' });
const preview = await tRpc.payments.subscription.createUpgrade.mutate({
user_id,
customer_id: premiumData.customer_id,
plan_tag: plan_tag as string
});
return preview;
});