jormungandr-bite/packages/backend/src/services/delete-account.ts

24 lines
586 B
TypeScript
Raw Normal View History

2023-01-12 21:40:33 -07:00
import { Users } from "@/models/index.js";
import { createDeleteAccountJob } from "@/queue/index.js";
import { publishUserEvent } from "./stream.js";
import { doPostSuspend } from "./suspend-user.js";
export async function deleteAccount(user: {
id: string;
host: string | null;
}): Promise<void> {
// 物理削除する前にDelete activityを送信する
2023-01-12 21:40:33 -07:00
await doPostSuspend(user).catch((e) => {});
createDeleteAccountJob(user, {
soft: false,
});
await Users.update(user.id, {
isDeleted: true,
});
// Terminate streaming
2023-01-12 21:40:33 -07:00
publishUserEvent(user.id, "terminate", {});
}