Files
calendar/packages/trpc/server/routers/viewer/admin/lockUserAccount.handler.ts
T
c818ef3188 feat: implements basic user locking for admins (#12393)
* feat: implements basic user locking for admins

* Update sendPasswordReset.handler.ts

* check fixes

* Update packages/features/ee/users/components/UsersTable.tsx

Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>

---------

Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
2023-11-17 16:06:29 +00:00

37 lines
674 B
TypeScript

import { prisma } from "@calcom/prisma";
import type { TrpcSessionUser } from "../../../trpc";
import type { TAdminLockUserAccountSchema } from "./lockUserAccount.schema";
type GetOptions = {
ctx: {
user: NonNullable<TrpcSessionUser>;
};
input: TAdminLockUserAccountSchema;
};
const lockUserAccountHandler = async ({ input }: GetOptions) => {
const { userId, locked } = input;
const user = await prisma.user.update({
where: {
id: userId,
},
data: {
locked,
},
});
if (!user) {
throw new Error("User not found");
}
return {
success: true,
userId,
locked,
};
};
export default lockUserAccountHandler;