import { deleteAvatarImage } from './avatarImage.js'; /** * 사용자 계정과 개인 데이터를 영구 삭제하고 저장 덱은 익명으로 보존한다. * @param {import('better-sqlite3').Database} db * @param {number} userId * @returns {{deleted: boolean, retainedDeckCount: number, avatarDeleted: boolean}} */ export function deleteUserAccount(db, userId) { const user = db.prepare('SELECT id FROM users WHERE id = ?').get(userId); if (!user) { return { deleted: false, retainedDeckCount: 0, avatarDeleted: false, }; } const retainedDeckCount = db.prepare(` SELECT COUNT(*) AS count FROM decks WHERE user_id = ? `).get(userId).count; db.prepare('DELETE FROM users WHERE id = ?').run(userId); const avatarDeleted = deleteAvatarImage(userId); return { deleted: true, retainedDeckCount, avatarDeleted, }; }