Skip to content

Commit f6d277d

Browse files
committed
fixes
1 parent 02256ea commit f6d277d

File tree

7 files changed

+21
-19
lines changed

7 files changed

+21
-19
lines changed

src/containers/Header/Header.tsx

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ import {createDeveloperUIInternalPageHref} from '../../utils/developerUI/develop
1515
import {useTypedSelector} from '../../utils/hooks';
1616
import {useDatabaseFromQuery} from '../../utils/hooks/useDatabaseFromQuery';
1717
import {
18-
useIsOnlyDatabaseUser,
1918
useIsUserAllowedToMakeChanges,
19+
useIsViewerUser,
2020
} from '../../utils/hooks/useIsUserAllowedToMakeChanges';
2121

2222
import {getBreadcrumbs} from './breadcrumbs';
@@ -30,7 +30,7 @@ function Header() {
3030
const {page, pageBreadcrumbsOptions} = useTypedSelector((state) => state.header);
3131
const singleClusterMode = useTypedSelector((state) => state.singleClusterMode);
3232
const isUserAllowedToMakeChanges = useIsUserAllowedToMakeChanges();
33-
const isOnlyDatabaseUser = useIsOnlyDatabaseUser();
33+
const isViewerUser = useIsViewerUser();
3434

3535
const {title: clusterTitle} = useClusterBaseInfo();
3636

@@ -43,7 +43,11 @@ function Header() {
4343
useAddClusterFeatureAvailable() && uiFactory.onAddCluster !== undefined;
4444

4545
const breadcrumbItems = React.useMemo(() => {
46-
let options = {...pageBreadcrumbsOptions, singleClusterMode, isOnlyDatabaseUser};
46+
let options = {
47+
...pageBreadcrumbsOptions,
48+
singleClusterMode,
49+
isViewerUser,
50+
};
4751

4852
if (clusterTitle) {
4953
options = {
@@ -57,7 +61,7 @@ function Header() {
5761
return breadcrumbs.map((item) => {
5862
return {...item, action: () => {}};
5963
});
60-
}, [clusterTitle, page, pageBreadcrumbsOptions, singleClusterMode, isOnlyDatabaseUser]);
64+
}, [clusterTitle, page, pageBreadcrumbsOptions, singleClusterMode, isViewerUser]);
6165

6266
const renderRightControls = () => {
6367
const elements: React.ReactNode[] = [];

src/containers/Header/breadcrumbs.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ const getQueryForTenant = (type: 'nodes' | 'tablets') => ({
4747
});
4848

4949
const getClustersBreadcrumbs: GetBreadcrumbs<ClustersBreadcrumbsOptions> = (options) => {
50-
if (options.isOnlyDatabaseUser) {
50+
if (!options.isViewerUser) {
5151
return [];
5252
}
5353
return [
@@ -59,9 +59,9 @@ const getClustersBreadcrumbs: GetBreadcrumbs<ClustersBreadcrumbsOptions> = (opti
5959
};
6060

6161
const getClusterBreadcrumbs: GetBreadcrumbs<ClusterBreadcrumbsOptions> = (options, query = {}) => {
62-
const {clusterName, clusterTab, singleClusterMode, isOnlyDatabaseUser} = options;
62+
const {clusterName, clusterTab, singleClusterMode, isViewerUser} = options;
6363

64-
if (isOnlyDatabaseUser) {
64+
if (!isViewerUser) {
6565
return [];
6666
}
6767

src/store/reducers/authentication/authentication.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,7 @@ export const slice = createSlice({
2626
}
2727
},
2828
setUser: (state, action: PayloadAction<TUserToken>) => {
29-
const {UserSID, AuthType, IsMonitoringAllowed, IsDatabaseAllowed, IsViewerAllowed} =
30-
action.payload;
29+
const {UserSID, AuthType, IsMonitoringAllowed, IsViewerAllowed} = action.payload;
3130

3231
state.user = AuthType === 'Login' ? UserSID : undefined;
3332

@@ -36,20 +35,19 @@ export const slice = createSlice({
3635
// Otherwise every user is allowed to make changes
3736
// Anyway there will be guards on backend
3837
state.isUserAllowedToMakeChanges = IsMonitoringAllowed !== false;
39-
state.isOnlyDatabaseUser = IsDatabaseAllowed && IsViewerAllowed === false;
38+
state.isViewerUser = IsViewerAllowed;
4039
},
4140
},
4241
selectors: {
4342
selectIsUserAllowedToMakeChanges: (state) => state.isUserAllowedToMakeChanges,
44-
selectIsOnlyDatabaseUser: (state) => state.isOnlyDatabaseUser,
43+
selectIsViewerUser: (state) => state.isViewerUser,
4544
selectUser: (state) => state.user,
4645
},
4746
});
4847

4948
export default slice.reducer;
5049
export const {setIsAuthenticated, setUser} = slice.actions;
51-
export const {selectIsUserAllowedToMakeChanges, selectIsOnlyDatabaseUser, selectUser} =
52-
slice.selectors;
50+
export const {selectIsUserAllowedToMakeChanges, selectIsViewerUser, selectUser} = slice.selectors;
5351

5452
export const authenticationApi = api.injectEndpoints({
5553
endpoints: (build) => ({
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
export interface AuthenticationState {
22
isAuthenticated: boolean;
33
isUserAllowedToMakeChanges?: boolean;
4-
isOnlyDatabaseUser?: boolean;
4+
isViewerUser?: boolean;
55
user: string | undefined;
66
}

src/store/reducers/header/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export type Page =
1616
| undefined;
1717

1818
export interface ClustersBreadcrumbsOptions {
19-
isOnlyDatabaseUser?: boolean;
19+
isViewerUser?: boolean;
2020
}
2121

2222
export interface ClusterBreadcrumbsOptions extends ClustersBreadcrumbsOptions {

src/types/api/whoami.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export interface TUserToken {
1111

1212
/** Is user allowed to view only database specific data */
1313
IsDatabaseAllowed?: boolean;
14-
/** Is user allowed to view data */
14+
/** Is user allowed to view data (includes IsDatabaseAllowed rights) */
1515
IsViewerAllowed?: boolean;
1616
/** Is user allowed to view deeper and make simple changes */
1717
IsMonitoringAllowed?: boolean;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import {
2-
selectIsOnlyDatabaseUser,
32
selectIsUserAllowedToMakeChanges,
3+
selectIsViewerUser,
44
} from '../../store/reducers/authentication/authentication';
55

66
import {useTypedSelector} from './useTypedSelector';
77

88
export function useIsUserAllowedToMakeChanges() {
99
return useTypedSelector(selectIsUserAllowedToMakeChanges);
1010
}
11-
export function useIsOnlyDatabaseUser() {
12-
return useTypedSelector(selectIsOnlyDatabaseUser);
11+
export function useIsViewerUser() {
12+
return useTypedSelector(selectIsViewerUser);
1313
}

0 commit comments

Comments
 (0)