Adds conditions for upgrading team from API

This commit is contained in:
zomars
2022-11-18 16:55:34 -07:00
parent 030f1c6990
commit 5793901b03
2 changed files with 10 additions and 5 deletions
+5 -3
View File
@@ -4,7 +4,7 @@ import { z } from "zod";
import { getRequestedSlugError } from "@calcom/app-store/stripepayment/lib/team-billing";
import stripe from "@calcom/features/ee/payments/server/stripe";
import { ensureSession } from "@calcom/lib/auth";
import { getSession } from "@calcom/lib/auth";
import { WEBAPP_URL } from "@calcom/lib/constants";
import { HttpError } from "@calcom/lib/http-error";
import { defaultHandler, defaultResponder } from "@calcom/lib/server";
@@ -18,8 +18,6 @@ const querySchema = z.object({
});
async function handler(req: NextApiRequest, res: NextApiResponse) {
await ensureSession({ req });
const { team: id, session_id } = querySchema.parse(req.query);
const checkoutSession = await stripe.checkout.sessions.retrieve(session_id, {
@@ -65,6 +63,10 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
closeComUpdateTeam(prevTeam, team);
}
const session = await getSession({ req });
if (!session) return { message: "Team upgraded successfully" };
// redirect to team screen
res.redirect(302, `${WEBAPP_URL}/settings/teams/${team.id}/profile?upgraded=true`);
}
@@ -603,7 +603,7 @@ export const viewerTeamsRouter = router({
code: "INTERNAL_SERVER_ERROR",
message: "Failed retrieving a checkout session URL.",
});
return { url: checkoutSession.url };
return { url: checkoutSession.url, message: "Payment required to publish team" };
}
if (!metadata.data?.requestedSlug) {
@@ -629,7 +629,10 @@ export const viewerTeamsRouter = router({
// Sync Services: Close.com
closeComUpdateTeam(prevTeam, updatedTeam);
return { url: `${WEBAPP_URL}/settings/teams/${updatedTeam.id}/profile` };
return {
url: `${WEBAPP_URL}/settings/teams/${updatedTeam.id}/profile`,
message: "Team published succesfully",
};
}),
/** This is a temporal endpoint so we can progressively upgrade teams to the new billing system. */
getUpgradeable: authedProcedure.query(async ({ ctx }) => {