Unify admin-class workspace create and restore Add-workspace UI.

Give admin the same permissions as super/fallback, occupy directoryFlow at priority 1 so the button renders without colliding with the native picker, and inject uiWorkspace for pickDirectory.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
oliver 2026-09-16 22:46:45 +08:00
parent 060500360d
commit 91d2515205
9 changed files with 211 additions and 146 deletions

View file

@ -219,8 +219,11 @@ export function createAuthMiddleware(config, sessionStore, rolesStore, hooks = {
export function requirePermission(ctx, permission) {
if (!ctx?.permissions) return false
// Legacy alias: "super_admin" means admin-class identity (超管 / 应急 / 管理员).
if (permission === 'super_admin') {
return ctx.role === ROLES.SUPER_ADMIN || ctx.role === ROLES.FALLBACK_ADMIN
return ctx.role === ROLES.SUPER_ADMIN
|| ctx.role === ROLES.FALLBACK_ADMIN
|| ctx.role === ROLES.ADMIN
}
return !!ctx.permissions[permission]
}