Files
calendar/packages/trpc/server/routers/viewer/admin/assignFeatureToTeam.handler.ts
T
sean-brydonandGitHub 67843adab9 feat: admin feature flags v3 + assign/unassign (#24428)
* Feature grouping

* Add assign/unassign logic for teams feature flags

* Fix types
2025-10-15 12:12:39 +00:00

37 lines
828 B
TypeScript

import type { PrismaClient } from "@calcom/prisma";
import type { TrpcSessionUser } from "../../../types";
import type { TAdminAssignFeatureToTeamSchema } from "./assignFeatureToTeam.schema";
type AssignFeatureOptions = {
ctx: {
user: NonNullable<TrpcSessionUser>;
prisma: PrismaClient;
};
input: TAdminAssignFeatureToTeamSchema;
};
export const assignFeatureToTeamHandler = async ({ ctx, input }: AssignFeatureOptions) => {
const { prisma, user } = ctx;
const { teamId, featureId } = input;
await prisma.teamFeatures.upsert({
where: {
teamId_featureId: {
teamId,
featureId,
},
},
create: {
teamId,
featureId,
assignedBy: `user:${user.id}`,
},
update: {},
});
return { success: true };
};
export default assignFeatureToTeamHandler;