Skip to content

Commit

Permalink
Merge pull request #1752 from kekey1/OCD-4753
Browse files Browse the repository at this point in the history
OCD-4753: Save activity for created and deleted invitations
  • Loading branch information
kekey1 authored Dec 19, 2024
2 parents 12f22e5 + 02f4a3e commit ba98f88
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,8 @@ public CognitoUserInvitation inviteUser(@RequestBody CognitoUserInvitation invit
case CognitoGroups.CHPL_CMS_STAFF:
createdInvitiation = cognitoInvitationManager.inviteCmsUser(invitation);
break;
default:
LOGGER.error("Invitation group name not handled: " + invitation.getGroupName());
}
return createdInvitiation;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ public enum ActivityConcept implements Serializable {
CORRECTIVE_ACTION_PLAN,
DEVELOPER,
FUNCTIONALITY_TESTED,
INVITATION,
LISTING_UPLOAD,
PENDING_CERTIFIED_PRODUCT,
PENDING_SURVEILLANCE,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ public UUID createUser(CreateUserFromInvitationRequest userInfo)
} else {
cognitoApiWrapper.addUserToGroup(userInfo.getUser().getEmail(), groupNameForEnvironment);
}
cognitoInvitationManager.deleteToken(UUID.fromString(userInfo.getHash()));
cognitoInvitationManager.deleteInvitation(invitation);
cognitoConfirmEmailEmailer.sendConfirmationEmail(credentials);

User createdUser = cognitoApiWrapper.getUserNoCache(credentials.getCognitoId());
Expand Down Expand Up @@ -199,7 +199,7 @@ public User addOrganizationToUser(UUID invitationToken, String accessToken) thro
}

cognitoApiWrapper.addOrgToUser(originalUser, invitation.getOrganizationId());
cognitoInvitationManager.deleteToken(invitationToken);
cognitoInvitationManager.deleteInvitation(invitation);

User updatedUser = cognitoApiWrapper.getUserNoCache(originalUser.getCognitoId());
activityManager.addUserActivity(updatedUser.getCognitoId(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,13 @@
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import gov.healthit.chpl.domain.activity.ActivityConcept;
import gov.healthit.chpl.exception.ActivityException;
import gov.healthit.chpl.exception.UserCreationException;
import gov.healthit.chpl.exception.UserPermissionRetrievalException;
import gov.healthit.chpl.exception.UserRetrievalException;
import gov.healthit.chpl.exception.ValidationException;
import gov.healthit.chpl.manager.ActivityManager;
import gov.healthit.chpl.service.InvitationEmailer;
import lombok.extern.log4j.Log4j2;

Expand All @@ -23,14 +26,17 @@ public class CognitoInvitationManager {
private CognitoUserInvitationDAO userInvitationDAO;
private InvitationEmailer invitationEmailer;
private CognitoInvitationValidator cognitoInvitationValidator;
private ActivityManager activityManager;

@Autowired
public CognitoInvitationManager(CognitoUserInvitationDAO userInvitationDAO, InvitationEmailer invitationEmailer,
CognitoInvitationValidator cognitoInvitationValidator) {
CognitoInvitationValidator cognitoInvitationValidator,
ActivityManager activityManager) {

this.userInvitationDAO = userInvitationDAO;
this.invitationEmailer = invitationEmailer;
this.cognitoInvitationValidator = cognitoInvitationValidator;
this.activityManager = activityManager;
}

@Transactional
Expand Down Expand Up @@ -111,8 +117,15 @@ public CognitoUserInvitation inviteCmsUser(CognitoUserInvitation invitation)
}

@Transactional
public void deleteToken(UUID invitationToken) {
userInvitationDAO.deleteByToken(invitationToken);
public void deleteInvitation(CognitoUserInvitation invitation) {
userInvitationDAO.deleteByToken(invitation.getInvitationToken());

try {
activityManager.addActivity(ActivityConcept.INVITATION, invitation.getId(),
"Deleted invitation for " + invitation.getEmail(), invitation, null);
} catch (ActivityException ex) {
LOGGER.error("Could not write activity about creating an invitation for " + invitation.getEmail());
}
}

public CognitoUserInvitation getByToken(UUID invitationToken) {
Expand All @@ -124,6 +137,13 @@ private CognitoUserInvitation createUserInvitation(CognitoUserInvitation origInv

CognitoUserInvitation invitation = userInvitationDAO.create(origInvitation);

try {
activityManager.addActivity(ActivityConcept.INVITATION, invitation.getId(),
"Created invitation for " + invitation.getEmail(), null, invitation);
} catch (ActivityException ex) {
LOGGER.error("Could not write activity about creating an invitation for " + invitation.getEmail());
}

invitationEmailer.emailInvitedUser(invitation);
return invitation;
}
Expand Down

0 comments on commit ba98f88

Please sign in to comment.