fix: 内置角色旧权限迁移不生效 — 移除 builtin skip
迁移循环中 `if (builtinNames.has(r.name)) continue` 导致 editor/viewer 内置角色的旧 assets:write 权限永远不会被迁移。移除该限制,让权限迁移 对所有角色生效(admin 因持有 * 不受影响)。
This commit is contained in:
parent
dbc7600a59
commit
5d841a56a6
|
|
@ -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')
|
||||
|
|
|
|||
Loading…
Reference in New Issue