Skip to content

Commit d53b170

Browse files
authored
fix: check meta/whoami availability (#3004)
1 parent 85ba867 commit d53b170

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

src/store/reducers/capabilities/hooks.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,3 +184,7 @@ export const useDatabasesAvailable = () => {
184184
export const useMetaLoginAvailable = () => {
185185
return useGetMetaFeatureVersion('/meta/login') >= 1;
186186
};
187+
188+
export const useMetaWhoAmIAvailable = () => {
189+
return useGetMetaFeatureVersion('/meta/whoami') >= 1;
190+
};

src/types/api/capabilities.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,5 @@ export type MetaCapability =
5454
| '/meta/delete_cluster'
5555
| '/meta/events'
5656
| '/meta/login'
57+
| '/meta/whoami'
5758
| '/meta/databases';

src/utils/hooks/useMetaAuth.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,28 @@
11
import {useLocation} from 'react-router-dom';
22

33
import {checkIsClustersPage} from '../../routes';
4-
import {useMetaLoginAvailable} from '../../store/reducers/capabilities/hooks';
4+
import {
5+
useMetaLoginAvailable,
6+
useMetaWhoAmIAvailable,
7+
} from '../../store/reducers/capabilities/hooks';
58

69
function useMetaAuthState() {
710
const location = useLocation();
811
const isClustersPage = checkIsClustersPage(location.pathname);
912
const metaLoginAvailable = useMetaLoginAvailable();
13+
const metaWhoAmIAvailable = useMetaWhoAmIAvailable();
1014

11-
return {isClustersPage, metaLoginAvailable};
15+
return {isClustersPage, metaAuthAvailable: metaLoginAvailable && metaWhoAmIAvailable};
1216
}
1317

1418
export function useMetaAuth() {
15-
const {isClustersPage, metaLoginAvailable} = useMetaAuthState();
19+
const {isClustersPage, metaAuthAvailable} = useMetaAuthState();
1620

17-
return isClustersPage && metaLoginAvailable;
21+
return isClustersPage && metaAuthAvailable;
1822
}
1923

2024
export function useMetaAuthUnavailable() {
21-
const {isClustersPage, metaLoginAvailable} = useMetaAuthState();
25+
const {isClustersPage, metaAuthAvailable} = useMetaAuthState();
2226

23-
return isClustersPage && !metaLoginAvailable;
27+
return isClustersPage && !metaAuthAvailable;
2428
}

0 commit comments

Comments
 (0)