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 }[]
|
const allRoles = db.prepare('SELECT id, name, permissions FROM roles').all() as { id: number; name: string; permissions: string }[]
|
||||||
for (const r of allRoles) {
|
for (const r of allRoles) {
|
||||||
if (builtinNames.has(r.name)) continue
|
|
||||||
const perms: string[] = JSON.parse(r.permissions)
|
const perms: string[] = JSON.parse(r.permissions)
|
||||||
if (perms.includes('assets:export')) {
|
if (perms.includes('assets:export')) {
|
||||||
const upgraded = perms.filter(p => p !== 'assets:export')
|
const upgraded = perms.filter(p => p !== 'assets:export')
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue