fix(editor): Replace isInstanceOwner checks with scopes where applicable (#7858)

Co-authored-by: Alex Grozav <alex@grozav.com>
This commit is contained in:
Csaba Tuncsik
2023-12-04 10:02:54 +01:00
committed by GitHub
parent 39fa8d21bb
commit 132d691cbf
21 changed files with 111 additions and 67 deletions

View File

@@ -0,0 +1,26 @@
import { useUsersStore } from '@/stores/users.store';
import { isInstanceOwner } from '@/rbac/checks/isInstanceOwner';
vi.mock('@/stores/users.store', () => ({
useUsersStore: vi.fn(),
}));
describe('Checks', () => {
describe('isInstanceOwner()', () => {
it('should return false if user not logged in', () => {
vi.mocked(useUsersStore).mockReturnValue({ isInstanceOwner: false } as ReturnType<
typeof useUsersStore
>);
expect(isInstanceOwner()).toBe(false);
});
it('should return true if user is default user', () => {
vi.mocked(useUsersStore).mockReturnValue({ isInstanceOwner: true } as unknown as ReturnType<
typeof useUsersStore
>);
expect(isInstanceOwner()).toBe(true);
});
});
});

View File

@@ -2,6 +2,7 @@ export * from './hasRole';
export * from './hasScope';
export * from './isAuthenticated';
export * from './isDefaultUser';
export * from './isInstanceOwner';
export * from './isEnterpriseFeatureEnabled';
export * from './isGuest';
export * from './isValid';

View File

@@ -0,0 +1,5 @@
import { useUsersStore } from '@/stores/users.store';
import type { DefaultUserMiddlewareOptions, RBACPermissionCheck } from '@/types/rbac';
export const isInstanceOwner: RBACPermissionCheck<DefaultUserMiddlewareOptions> = () =>
useUsersStore().isInstanceOwner;