diff --git a/packages/app-store/zapier/api/index.ts b/packages/app-store/zapier/api/index.ts index f3f3d07ad7..d32a6d07b0 100644 --- a/packages/app-store/zapier/api/index.ts +++ b/packages/app-store/zapier/api/index.ts @@ -2,3 +2,4 @@ export { default as add } from "./add"; export { default as listBookings } from "./subscriptions/listBookings"; export { default as deleteSubscription } from "./subscriptions/deleteSubscription"; export { default as addSubscription } from "./subscriptions/addSubscription"; +export { default as me } from "./subscriptions/me"; diff --git a/packages/app-store/zapier/api/subscriptions/listBookings.ts b/packages/app-store/zapier/api/subscriptions/listBookings.ts index 8751b06bea..161c86c84a 100644 --- a/packages/app-store/zapier/api/subscriptions/listBookings.ts +++ b/packages/app-store/zapier/api/subscriptions/listBookings.ts @@ -29,7 +29,6 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse) endTime: true, title: true, location: true, - cancellationReason: true, attendees: { select: { name: true, diff --git a/packages/app-store/zapier/api/subscriptions/me.ts b/packages/app-store/zapier/api/subscriptions/me.ts new file mode 100644 index 0000000000..1131873042 --- /dev/null +++ b/packages/app-store/zapier/api/subscriptions/me.ts @@ -0,0 +1,35 @@ +import type { NextApiRequest, NextApiResponse } from "next"; + +import findValidApiKey from "@calcom/ee/lib/api/findValidApiKey"; +import prisma from "@calcom/prisma"; + +export default async function handler(req: NextApiRequest, res: NextApiResponse) { + const apiKey = req.query.apiKey as string; + + if (!apiKey) { + return res.status(401).json({ message: "No API key provided" }); + } + + const validKey = await findValidApiKey(apiKey, "zapier"); + + if (!validKey) { + return res.status(401).json({ message: "API key not valid" }); + } + + if (req.method === "GET") { + try { + const user = await prisma.user.findFirst({ + where: { + id: validKey.userId, + }, + select: { + username: true, + }, + }); + res.status(201).json(user); + } catch (error) { + console.error(error); + return res.status(500).json({ message: "Unable to get User." }); + } + } +}