/** 用户删除确认模型(任务 51):删除确认文案 + 不可删原因,镜像 Java deleteUser 约束。 */ import type { AdminUser } from '../../types/admin' /** 删除二次确认文案(对齐 admin.js:970 原文:半角引号、无补充句)。 */ export function deleteConfirmMessage(user: AdminUser | null | undefined): string { const username = user?.username || '' return `确定删除用户 "${username}" 吗?` } /** 返回不可删除原因;可删除时返回 undefined。 */ export function deleteBlockReason( user: AdminUser | null | undefined, currentUserId?: number | null, ): string | undefined { if (!user) return '用户信息缺失,无法删除' if (currentUserId != null && user.id === currentUserId) return '不能删除当前登录账号' if ((user.role || '').trim().toLowerCase() === 'super_admin') return '不能删除超级管理员' return undefined } /** 该用户当前是否允许删除(非缺失/非自己/非超管)。 */ export function isDeletableUser(user: AdminUser | null | undefined, currentUserId?: number | null): boolean { return deleteBlockReason(user, currentUserId) === undefined }