fix: use middleware, refactor into _get

pull/9078/head
Agusti Fernandez Pardo 2022-09-05 21:31:12 +02:00
parent 4d74a6c896
commit 731288bcb6
3 changed files with 30 additions and 20 deletions

View File

@ -1,20 +0,0 @@
import type { NextApiRequest, NextApiResponse } from "next";
import { defaultHandler, defaultResponder } from "@calcom/lib/server";
import { User } from ".prisma/client";
async function handler(
req: NextApiRequest,
// eslint-disable-next-line @typescript-eslint/no-unused-vars
_res: NextApiResponse<Response>
): Promise<{ error?: string; user?: Partial<User> }> {
if (!prisma) return { error: "Cant connect to database" };
const user = await prisma.user.findUniqueOrThrow({ where: { id: req.userId } });
if (!user) return { error: "You need to pass apiKey" };
return { user };
}
export default defaultHandler({
GET: Promise.resolve({ default: defaultResponder(handler) }),
});

21
pages/api/me/_get.ts Normal file
View File

@ -0,0 +1,21 @@
import type { NextApiRequest } from "next";
import { defaultHandler, defaultResponder } from "@calcom/lib/server";
import { schemaUserReadPublic } from "@lib/validations/user";
import { User } from ".prisma/client";
async function handler(req: NextApiRequest): Promise<{ error?: string; user?: Partial<User> }> {
if (!prisma) return { error: "Cant connect to database" };
console.log(req);
if (!req.userId) return { error: "No user id found" };
const data = await prisma.user.findUniqueOrThrow({ where: { id: req.userId } });
if (!data) return { error: "You need to pass apiKey" };
const user = schemaUserReadPublic.parse(data);
return { user };
}
export default defaultHandler({
GET: Promise.resolve({ default: defaultResponder(handler) }),
});

9
pages/api/me/index.ts Normal file
View File

@ -0,0 +1,9 @@
import { defaultHandler } from "@calcom/lib/server";
import { withMiddleware } from "@lib/helpers/withMiddleware";
export default withMiddleware("HTTP_GET")(
defaultHandler({
GET: import("./_get"),
})
);