Files
FrozenFriendsYume/packages/backend/built/server/api/endpoints/i/delete-account.js
T
2026-07-26 18:25:37 +09:00

37 lines
970 B
JavaScript

import { UserProfiles, Users } from "../../../../models/index.js";
import { deleteAccount } from "../../../../services/delete-account.js";
import define from "../../define.js";
import { comparePassword } from "../../../../misc/password.js";
export const meta = {
requireCredential: true,
secure: true
};
export const paramDef = {
type: "object",
properties: {
password: {
type: "string"
}
},
required: [
"password"
]
};
export default define(meta, paramDef, async (ps, user)=>{
const profile = await UserProfiles.findOneByOrFail({
userId: user.id
});
const userDetailed = await Users.findOneByOrFail({
id: user.id
});
if (userDetailed.isDeleted) {
return;
}
// Compare password
const same = await comparePassword(ps.password, profile.password);
if (!same) {
throw new Error("incorrect password");
}
await deleteAccount(user);
});