Files
calendar/packages/trpc/server/routers/viewer/dsync/teamGroupMapping/delete.handler.ts
T
+1 1b5d50c45c feat: SCIM Group Provisioning To Teams Within An Org (#13850)
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Kiran K <mailtokirankk@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
2024-03-07 16:16:53 -07:00

31 lines
837 B
TypeScript

import userCanCreateTeamGroupMapping from "@calcom/features/ee/dsync/lib/server/userCanCreateTeamGroupMapping";
import prisma from "@calcom/prisma";
import type { TrpcSessionUser } from "@calcom/trpc/server/trpc";
import type { ZDeleteInputSchema } from "./delete.schema";
type Options = {
ctx: {
user: NonNullable<TrpcSessionUser>;
};
input: ZDeleteInputSchema;
};
// Delete directory sync connection for a team
export const deleteHandler = async ({ ctx, input }: Options) => {
await userCanCreateTeamGroupMapping(ctx.user, ctx.user.organizationId, input.teamId);
await prisma.dSyncTeamGroupMapping.delete({
where: {
teamId_groupName: {
teamId: input.teamId,
groupName: input.groupName,
},
},
});
return { deletedGroupName: input.groupName };
};
export default deleteHandler;