MCPcopy Create free account
hub / github.com/dfinity/orbit / hasRequiredSession

Function hasRequiredSession

apps/wallet/src/utils/auth.utils.ts:6–26  ·  view source on GitHub ↗
(
  requiredSessionState: RequiredSessionState,
  session = useSessionStore(),
)

Source from the content-addressed store, hash-verified

4import { unreachable } from '~/utils/helper.utils';
5
6export const hasRequiredSession = (
7 requiredSessionState: RequiredSessionState,
8 session = useSessionStore(),
9): boolean => {
10 switch (requiredSessionState) {
11 case RequiredSessionState.Guest:
12 return !session.isAuthenticated;
13 case RequiredSessionState.AuthenticatedNoStation:
14 return session.isAuthenticated && !session.data.stations.length;
15 case RequiredSessionState.AuthenticatedHasStations:
16 return session.isAuthenticated && session.data.stations.length > 0;
17 case RequiredSessionState.Authenticated:
18 return session.isAuthenticated;
19 case RequiredSessionState.ConnectedToStation:
20 return session.data.selected.hasAccess;
21 case RequiredSessionState.Any:
22 return true;
23 default:
24 return unreachable(requiredSessionState);
25 }
26};
27
28export const hasRequiredPrivilege = (
29 {

Callers 2

NavigationClass · 0.90
routeAccessGuardFunction · 0.90

Calls 1

unreachableFunction · 0.90

Tested by

no test coverage detected