public async Task <IViewComponentResult> InvokeAsync(int groupId, int?credentialId, string item, CancellationToken cancellationToken)
        {
            var user = await _authService.GetCurrentUser(HttpContext, cancellationToken);

            if (user == null)
            {
                throw new UnauthorizedAccessException("No user in session");
            }

            if (!await _groupMemberService.GetUserHasRole_Any(user.ID, groupId, new List <GroupRoles> {
                GroupRoles.UserAdmin, GroupRoles.UserAdmin_ReadOnly
            }, true, cancellationToken))
            {
                throw new UnauthorizedAccessException("User does not have required role.");
            }

            GroupCredential credential = credentialId.HasValue
                ? await _groupService.GetGroupCredential(groupId, credentialId.Value)
                : await GetItemDescription(groupId, item, cancellationToken);

            return(View("WhatIsThisCredentialPopup", credential));
        }
 public AnnotatedGroupCredential(GroupCredential groupCredential, List <int> userCredentials)
 {
     GroupCredential   = groupCredential;
     UserHasCredential = userCredentials.Contains(groupCredential.CredentialID);
 }
 public AnnotatedGroupCredential(GroupCredential groupCredential, bool userHasCredential)
 {
     GroupCredential   = groupCredential;
     UserHasCredential = userHasCredential;
 }