fix: 内置角色旧权限迁移不生效 — 移除 builtin skip

迁移循环中 `if (builtinNames.has(r.name)) continue` 导致 editor/viewer
内置角色的旧 assets:write 权限永远不会被迁移。移除该限制,让权限迁移
对所有角色生效(admin 因持有 * 不受影响)。
This commit is contained in:
gitadmin 2026-05-14 17:49:09 +08:00
parent dbc7600a59
commit 5d841a56a6
1 changed files with 1 additions and 2 deletions

View File

@ -126,10 +126,9 @@ export function initDatabase() {
}
}
// 迁移自定义角色中遗留的旧 assets:export 权限(拆分为 selected/all
// 迁移旧权限(所有角色,包括内置角色
const allRoles = db.prepare('SELECT id, name, permissions FROM roles').all() as { id: number; name: string; permissions: string }[]
for (const r of allRoles) {
if (builtinNames.has(r.name)) continue
const perms: string[] = JSON.parse(r.permissions)
if (perms.includes('assets:export')) {
const upgraded = perms.filter(p => p !== 'assets:export')