Просмотр исходного кода

return scopes depends on isAdmin

NaokiHigashi28 1 год назад
Родитель
Сommit
382a40d3e5

+ 1 - 1
apps/app/src/client/components/Me/AccessTokenScopeSelect.tsx

@@ -22,7 +22,7 @@ type AccessTokenScopeSelectProps = {
 export const AccessTokenScopeSelect: React.FC<AccessTokenScopeSelectProps> = ({ register }) => {
   return (
     <div className="border rounded">
-      <AccessTokenScopeList scopeObject={parseScopes(SCOPE)} register={register} />
+      <AccessTokenScopeList scopeObject={parseScopes({ scopes: SCOPE, isAdmin: true })} register={register} />
     </div>
   );
 };

+ 6 - 1
apps/app/src/client/util/scope-util.ts

@@ -53,7 +53,7 @@ function parseSubScope(
   return result;
 }
 
-export function parseScopes(scopes: ScopesInput): ScopeMap {
+export function parseScopes({ scopes, isAdmin = false }: { scopes: ScopesInput ; isAdmin?: boolean }): ScopeMap {
   const actions = Object.keys(scopes);
   const topKeys = new Set<string>();
 
@@ -65,6 +65,11 @@ export function parseScopes(scopes: ScopesInput): ScopeMap {
   const result: ScopeMap = {};
 
   for (const key of topKeys) {
+    // Skip 'ADMIN' key if isAdmin is true
+    if (!isAdmin && key === 'ADMIN') {
+      continue;
+    }
+
     if (key === 'ALL') {
       const allObj: ScopeMap = {};
       for (const action of actions) {