|
|
@@ -51,12 +51,26 @@ export function usePermissions({
|
|
|
const [error, setError] = useState<string | null>(null)
|
|
|
|
|
|
const fetchPermissions = useCallback(async () => {
|
|
|
- if (!workspaceId || !isAuthenticated || !user) {
|
|
|
+ if (!isAuthenticated || !user) {
|
|
|
setPermissions([])
|
|
|
setUserGroups([])
|
|
|
return
|
|
|
}
|
|
|
|
|
|
+ // Superadmins always get wildcard permission (for system-level permissions)
|
|
|
+ if (user.is_superadmin) {
|
|
|
+ setPermissions(['*'])
|
|
|
+ }
|
|
|
+
|
|
|
+ // If no workspaceId, we can only check superadmin status
|
|
|
+ if (!workspaceId) {
|
|
|
+ if (!user.is_superadmin) {
|
|
|
+ setPermissions([])
|
|
|
+ }
|
|
|
+ setUserGroups([])
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
setIsLoading(true)
|
|
|
setError(null)
|
|
|
|