feat: initial isAdmin work for events and attendees

This commit is contained in:
Agusti Fernandez Pardo committed 2022-06-15 20:43:35 +02:00
1 parent 996ec31b26
commit ed1bc8015a
9 files changed
+69 -45

No files matched your search

+1 -3
View File
@@ -4,7 +4,6 @@ import prisma from "@calcom/prisma";
import { withMiddleware } from "@lib/helpers/withMiddleware";
import type { UserResponse } from "@lib/types";
import { isAdminGuard } from "@lib/utils/isAdmin";
import {
schemaQueryIdParseInt,
withValidQueryIdTransformParseInt,
@@ -12,7 +11,7 @@ import {
import { schemaUserEditBodyParams, schemaUserReadPublic } from "@lib/validations/user";
export async function userById(
{ method, query, body, userId }: NextApiRequest,
{ method, query, body, userId, isAdmin }: NextApiRequest,
res: NextApiResponse<UserResponse>
) {
const safeQuery = schemaQueryIdParseInt.safeParse(query);
@@ -21,7 +20,6 @@ export async function userById(
res.status(400).json({ message: "Your query was invalid" });
return;
}
const isAdmin = await isAdminGuard(userId);
// Here we only check for ownership of the user if the user is not admin, otherwise we let ADMIN's edit any user
if (!isAdmin) {
if (safeQuery.data.id !== userId) res.status(401).json({ message: "Unauthorized" });
+1 -3
View File
@@ -4,7 +4,6 @@ import prisma from "@calcom/prisma";
import { withMiddleware } from "@lib/helpers/withMiddleware";
import { UserResponse, UsersResponse } from "@lib/types";
import { isAdminGuard } from "@lib/utils/isAdmin";
import { schemaUserReadPublic, schemaUserCreateBodyParams } from "@lib/validations/user";
/**
@@ -24,10 +23,9 @@ import { schemaUserReadPublic, schemaUserCreateBodyParams } from "@lib/validatio
* description: No users were found
*/
async function getAllorCreateUser(
{ userId, method, body }: NextApiRequest,
{ userId, method, body, isAdmin }: NextApiRequest,
res: NextApiResponse<UsersResponse | UserResponse>
) {
const isAdmin = await isAdminGuard(userId);
if (method === "GET") {
if (!isAdmin) {
// If user is not ADMIN, return only his data.