+16









Carina Wollendorfer
GitHub
Alex van Andel
sajanlamsal
CarinaWolli
alannnc
Leo Giovanetti
Peer Richelsen
Hariom Balhara
Udit Takkar
Nitin Panghal
Omar López
Peer Richelsen
Shivam Kalra
Richard Poelderl
Crowdin Bot
Joe Au-Yeung
Nafees Nazik
Chiranjeev Vishnoi
Denzil Samuel
Syed Ali Shahbaz
nitinpanghal
Ahmad
Annlee Fores
Keith Williams
Vijay
68bd877c5b
Co-authored-by: Alex van Andel <me@alexvanandel.com> Co-authored-by: sajanlamsal <saznlamsal@gmail.com> Co-authored-by: CarinaWolli <wollencarina@gmail.com> Co-authored-by: alannnc <alannnc@gmail.com> Co-authored-by: Leo Giovanetti <hello@leog.me> Co-authored-by: Peer Richelsen <peeroke@gmail.com> Co-authored-by: Hariom Balhara <hariombalhara@gmail.com> Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Co-authored-by: Nitin Panghal <nitin.panghal@unthinkable.co> Co-authored-by: Omar López <zomars@me.com> Co-authored-by: Peer Richelsen <peer@cal.com> Co-authored-by: zomars <zomars@me.com> Co-authored-by: Shivam Kalra <shivamkalra98@gmail.com> Co-authored-by: Richard Poelderl <richard.poelderl@gmail.com> Co-authored-by: Crowdin Bot <support+bot@crowdin.com> Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Co-authored-by: Nafees Nazik <84864519+G3root@users.noreply.github.com> Co-authored-by: Chiranjeev Vishnoi <66114276+Chiranjeev-droid@users.noreply.github.com> Co-authored-by: Denzil Samuel <71846487+samueldenzil@users.noreply.github.com> Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com> Co-authored-by: nitinpanghal <43965732+nitinpanghal@users.noreply.github.com> Co-authored-by: Ahmad <57593864+Ahmadkashif@users.noreply.github.com> Co-authored-by: Annlee Fores <annleefores@gmail.com> Co-authored-by: Keith Williams <keithwillcode@gmail.com> Co-authored-by: Vijay <vijayraghav22@gmail.com>
20 lines
850 B
TypeScript
20 lines
850 B
TypeScript
import type { NextApiRequest } from "next";
|
|
|
|
import isAuthorized from "@calcom/features/auth/lib/oAuthAuthorization";
|
|
import findValidApiKey from "@calcom/features/ee/api-keys/lib/findValidApiKey";
|
|
import { HttpError } from "@calcom/lib/http-error";
|
|
|
|
export async function validateAccountOrApiKey(req: NextApiRequest, requiredScopes: string[] = []) {
|
|
const apiKey = req.query.apiKey as string;
|
|
|
|
if (!apiKey) {
|
|
const authorizedAccount = await isAuthorized(req, requiredScopes);
|
|
if (!authorizedAccount) throw new HttpError({ statusCode: 401, message: "Unauthorized" });
|
|
return { account: authorizedAccount, appApiKey: undefined };
|
|
}
|
|
|
|
const validKey = await findValidApiKey(apiKey, "zapier");
|
|
if (!validKey) throw new HttpError({ statusCode: 401, message: "API key not valid" });
|
|
return { account: null, appApiKey: validKey };
|
|
}
|