calcom/pages/api/me.ts
Alex van Andel bc97237858
Remove image from session, add /api/me, update Avatar component (#493)
* Remove image from session, add /api/me, update Avatar component

* Fixed Avatar on Desktop

* Added emailMd5 to session + load md5 from props on /settings/profile

* Explicitly select which fields to expose in /api/me

* Abstracted Gravatar, defaults avatar for /api/me, removed session dep from UserDropdown

* Delete md5.js :)

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-08-22 14:16:42 +01:00

40 lines
951 B
TypeScript

import type { NextApiRequest, NextApiResponse } from "next";
import prisma from "@lib/prisma";
import { getSession } from "@lib/auth";
import { defaultAvatarSrc } from "@lib/profile";
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
const session = await getSession({ req: req });
if (!session) {
res.status(401).json({ message: "Not authenticated" });
return;
}
const user: User = await prisma.user.findUnique({
where: {
id: session.user.id,
},
select: {
id: true,
username: true,
name: true,
email: true,
bio: true,
timeZone: true,
weekStart: true,
startTime: true,
endTime: true,
bufferTime: true,
theme: true,
createdDate: true,
hideBranding: true,
avatar: true,
},
});
user.avatar = user.avatar || defaultAvatarSrc({ email: user.email });
res.status(200).json({
user,
});
}