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