jormungandr-bite/packages/backend/src/services/delete-account.ts
ThatOneCalculator 2aab2de38d refactor: 🎨 rome
2023-01-12 20:40:33 -08:00

23 lines
586 B
TypeScript

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を送信する
await doPostSuspend(user).catch((e) => {});
createDeleteAccountJob(user, {
soft: false,
});
await Users.update(user.id, {
isDeleted: true,
});
// Terminate streaming
publishUserEvent(user.id, "terminate", {});
}