Search in sources :

Example 26 with User

use of org.pmiops.workbench.db.model.User in project workbench by all-of-us.

the class AuthDomainController method removeUserFromAuthDomain.

@Override
@AuthorityRequired({ Authority.MANAGE_GROUP })
public ResponseEntity<Void> removeUserFromAuthDomain(String groupName, AuthDomainRequest request) {
    User user = userDao.findUserByEmail(request.getEmail());
    DataAccessLevel previousAccess = user.getDataAccessLevel();
    try {
        fireCloudService.removeUserFromGroup(request.getEmail(), groupName);
    } catch (ApiException e) {
        ExceptionUtils.convertFirecloudException(e);
    }
    // TODO(calbach): Teardown any active clusters here.
    user.setDataAccessLevel(DataAccessLevel.REVOKED);
    user.setDisabled(true);
    userDao.save(user);
    userService.logAdminUserAction(user.getUserId(), "user access to  " + groupName + " domain", previousAccess, DataAccessLevel.REVOKED);
    return ResponseEntity.status(HttpStatus.NO_CONTENT).build();
}
Also used : User(org.pmiops.workbench.db.model.User) DataAccessLevel(org.pmiops.workbench.model.DataAccessLevel) ApiException(org.pmiops.workbench.firecloud.ApiException) AuthorityRequired(org.pmiops.workbench.annotations.AuthorityRequired)

Example 27 with User

use of org.pmiops.workbench.db.model.User in project workbench by all-of-us.

the class UserService method createServiceAccountUser.

public User createServiceAccountUser(String email) {
    User user = new User();
    user.setDataAccessLevel(DataAccessLevel.PROTECTED);
    user.setEmail(email);
    user.setDisabled(false);
    user.setEmailVerificationStatus(EmailVerificationStatus.UNVERIFIED);
    user.setFreeTierBillingProjectStatus(BillingProjectStatus.NONE);
    try {
        userDao.save(user);
    } catch (DataIntegrityViolationException e) {
        user = userDao.findUserByEmail(email);
        if (user == null) {
            throw e;
        }
    // If a user already existed (due to multiple requests trying to create a user simultaneously)
    // just return it.
    }
    return user;
}
Also used : User(org.pmiops.workbench.db.model.User) DataIntegrityViolationException(org.springframework.dao.DataIntegrityViolationException)

Aggregations

User (org.pmiops.workbench.db.model.User)27 Test (org.junit.Test)8 Workspace (org.pmiops.workbench.model.Workspace)8 ApiException (org.pmiops.workbench.firecloud.ApiException)7 DataJpaTest (org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest)6 ResearchPurpose (org.pmiops.workbench.model.ResearchPurpose)5 Before (org.junit.Before)4 AuthorityRequired (org.pmiops.workbench.annotations.AuthorityRequired)4 WorkspaceUserRole (org.pmiops.workbench.db.model.WorkspaceUserRole)4 BadRequestException (org.pmiops.workbench.exceptions.BadRequestException)4 ConflictException (org.pmiops.workbench.exceptions.ConflictException)4 ShareWorkspaceResponse (org.pmiops.workbench.model.ShareWorkspaceResponse)4 UserRole (org.pmiops.workbench.model.UserRole)4 Timestamp (java.sql.Timestamp)3 ArrayList (java.util.ArrayList)3 CdrVersion (org.pmiops.workbench.db.model.CdrVersion)3 WorkspaceACLUpdate (org.pmiops.workbench.firecloud.model.WorkspaceACLUpdate)3 WorkspaceACLUpdateResponseList (org.pmiops.workbench.firecloud.model.WorkspaceACLUpdateResponseList)3 Profile (org.pmiops.workbench.model.Profile)3 ShareWorkspaceRequest (org.pmiops.workbench.model.ShareWorkspaceRequest)3