implement update user, update password and delete account
This commit is contained in:
@ -1,24 +0,0 @@
|
||||
import { NotFoundError, SecurePassword, resolver } from "blitz";
|
||||
|
||||
import db from "../../../db";
|
||||
import { authenticateUser } from "./login";
|
||||
import { ChangePassword } from "../validations";
|
||||
|
||||
export default resolver.pipe(
|
||||
resolver.zod(ChangePassword),
|
||||
resolver.authorize(),
|
||||
async ({ currentPassword, newPassword }, ctx) => {
|
||||
const user = await db.user.findFirst({ where: { id: ctx.session.userId! } });
|
||||
if (!user) throw new NotFoundError();
|
||||
|
||||
await authenticateUser(user.email, currentPassword);
|
||||
|
||||
const hashedPassword = await SecurePassword.hash(newPassword.trim());
|
||||
await db.user.update({
|
||||
where: { id: user.id },
|
||||
data: { hashedPassword },
|
||||
});
|
||||
|
||||
return true;
|
||||
},
|
||||
);
|
@ -1,4 +1,4 @@
|
||||
import { Ctx } from "blitz";
|
||||
import type { Ctx } from "blitz";
|
||||
|
||||
export default async function logout(_ = null, ctx: Ctx) {
|
||||
return await ctx.session.$revoke();
|
||||
|
Reference in New Issue
Block a user