From a94b9683035548e48b9f09d51d80406388bbd25b Mon Sep 17 00:00:00 2001 From: Hariom Balhara Date: Tue, 17 May 2022 18:48:57 +0530 Subject: [PATCH] Fix Ts errors and deletion failure message --- apps/web/lib/event.ts | 9 ++++++--- apps/web/pages/event-types/index.tsx | 11 +++++++++-- apps/web/server/routers/viewer.tsx | 1 - apps/web/server/routers/viewer/eventTypes.tsx | 2 +- .../20220305052238_adds_event_creator/migration.sql | 5 ----- 5 files changed, 16 insertions(+), 12 deletions(-) delete mode 100644 packages/prisma/migrations/20220305052238_adds_event_creator/migration.sql diff --git a/apps/web/lib/event.ts b/apps/web/lib/event.ts index 0d4ad86edb..1cebac85f5 100644 --- a/apps/web/lib/event.ts +++ b/apps/web/lib/event.ts @@ -39,6 +39,11 @@ export function canEventBeEdited({ } | null; }; }) { + // I am the creator of the event. + if (eventType.userId === user.id) { + return true; + } + // Check if he is the owner of the team to which event belongs if (eventType.team) { return eventType.team.members @@ -48,7 +53,5 @@ export function canEventBeEdited({ .map((member) => member.userId) .includes(user.id); } - - // Fallback case for Events with creatorId default value - return eventType.userId === user.id || eventType.users.find((user) => user.id === user.id); + return eventType.users.find((user) => user.id === user.id); } diff --git a/apps/web/pages/event-types/index.tsx b/apps/web/pages/event-types/index.tsx index 5365a5a6b9..78dcc98188 100644 --- a/apps/web/pages/event-types/index.tsx +++ b/apps/web/pages/event-types/index.tsx @@ -189,10 +189,17 @@ export const EventTypeList = ({ group, groupIndex, types, profile }: EventTypeLi showToast(t("event_type_deleted_successfully"), "success"); }, onError: (err) => { + let message: string; if (err instanceof HttpError) { - const message = `${err.statusCode}: ${err.message}`; - showToast(message, "error"); + message = `${err.statusCode}: ${err.message}`; } + + if (err.data?.code === "UNAUTHORIZED") { + message = `${err.data.code}: You are not able to delete this event`; + } else { + message = "Some Error Occurred"; + } + showToast(message, "error"); }, }); diff --git a/apps/web/server/routers/viewer.tsx b/apps/web/server/routers/viewer.tsx index c164d2bcdf..9724e502c9 100644 --- a/apps/web/server/routers/viewer.tsx +++ b/apps/web/server/routers/viewer.tsx @@ -240,7 +240,6 @@ const loggedInViewerRouter = createProtectedRouter() }; metadata: { membershipCount: number; - readonly: boolean; }; eventTypes: (typeof user.eventTypes[number] & { $disabled?: boolean; readOnly?: boolean })[]; }; diff --git a/apps/web/server/routers/viewer/eventTypes.tsx b/apps/web/server/routers/viewer/eventTypes.tsx index 940743ad1d..7c1edcd6b1 100644 --- a/apps/web/server/routers/viewer/eventTypes.tsx +++ b/apps/web/server/routers/viewer/eventTypes.tsx @@ -117,7 +117,7 @@ export const eventTypesRouter = createProtectedRouter() const data: Prisma.EventTypeCreateInput = { ...rest, - userId: teamId ? undefined : userId, + userId: userId, users: { connect: { id: userId, diff --git a/packages/prisma/migrations/20220305052238_adds_event_creator/migration.sql b/packages/prisma/migrations/20220305052238_adds_event_creator/migration.sql deleted file mode 100644 index b5eb9a2c5e..0000000000 --- a/packages/prisma/migrations/20220305052238_adds_event_creator/migration.sql +++ /dev/null @@ -1,5 +0,0 @@ --- AlterTable -ALTER TABLE "EventType" ADD COLUMN "creatorId" INTEGER; - --- AddForeignKey -ALTER TABLE "EventType" ADD CONSTRAINT "EventType_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "users"("id") ON DELETE SET NULL ON UPDATE CASCADE; \ No newline at end of file