import permissions from 'constants/permissions' import { gql } from '@apollo/client' import { useQueryWithErrorHandling } from './errorHandling' import { useReactOidc } from '@axa-fr/react-oidc-context'; import { includes } from 'ramda'; const { viewSettings} = permissions const GET_USER_DATA = gql` query userData($externalId: ID!){ userData(externalId: $externalId){ id userName rights } } ` export function useUserData() { const { oidcUser } = useReactOidc(); const externalUserId = oidcUser?.profile?.sub; const { data, ...res } = useQueryWithErrorHandling(GET_USER_DATA, { variables: { externalId: externalUserId }, skip: !externalUserId }) return { ...res, userData: data?.userData }; } export const useRights = () => { const { oidcUser } = useReactOidc(); const externalUserId = oidcUser?.profile?.sub; const { data } = useQueryWithErrorHandling(GET_USER_DATA, { variables: { externalId: externalUserId }, skip: !externalUserId }) const rights = data?.userData?.rights return rights ? { canViewSettings: includes(viewSettings, rights) } : {} }