use of com.odysseusinc.arachne.portal.api.v1.dto.ApproveDTO in project ArachneCentralAPI by OHDSI.
the class BaseUserController method invitationAccept.
private JsonResult<UserProfileDTO> invitationAccept(InvitationActionDTO invitationActionDTO, U user) throws NotExistException, AlreadyExistException, IOException {
checkIfUserExists(user);
final Boolean invitationAccepted = invitationActionDTO.getAccepted();
final Long invitationId = invitationActionDTO.getId();
switch(invitationActionDTO.getType()) {
case InvitationType.COLLABORATOR:
{
userService.processInvitation(user, invitationId, invitationAccepted, invitationActionDTO.getComment());
break;
}
case InvitationType.DATA_OWNER:
{
studyService.processDataSourceInvitation(user, invitationId, invitationAccepted, invitationActionDTO.getComment());
break;
}
case InvitationType.UNLOCK_ANALYSIS:
{
analysisService.processAnalysisUnlockRequest(user, invitationId, invitationAccepted);
break;
}
case InvitationType.APPROVE_EXECUTE_SUBMISSION:
submissionService.approveSubmission(invitationId, invitationAccepted, invitationActionDTO.getComment(), user);
break;
case InvitationType.APPROVE_PUBLISH_SUBMISSION:
ApproveDTO dto = new ApproveDTO(invitationId, invitationAccepted, Boolean.TRUE, invitationActionDTO.getComment());
submissionService.approveSubmissionResult(invitationId, dto, user);
break;
default:
{
throw new IllegalArgumentException();
}
}
return new JsonResult<>(NO_ERROR, conversionService.convert(userService.getByIdInAnyTenantAndInitializeCollections(user.getId()), UserProfileDTO.class));
}
use of com.odysseusinc.arachne.portal.api.v1.dto.ApproveDTO in project ArachneCentralAPI by OHDSI.
the class AnalysisSubmissionControllerTests method testApproveSubmissionByNonOwner.
@Test
@WithUserDetails(DATA_NODE_USER)
@DatabaseSetups({ @DatabaseSetup("/data/analysis/submission/submission-pending.xml") })
@ExpectedDatabase(value = "/data/analysis/submission/submission-pending.xml", assertionMode = NON_STRICT)
public void testApproveSubmissionByNonOwner() throws Exception {
ApproveDTO approveDTO = new ApproveDTO(SUBMISSION_ID, true, null, null);
prepareAnalysisFile(STUDY_ID, ANALYSIS_ID);
prepareSubmissionGroupFile(STUDY_ID, ANALYSIS_ID, SUBMISSION_GROUP_ID);
mvc.perform(post("/api/v1/analysis-management/submissions/{submissionId}/approve", 1).contentType(APPLICATION_JSON).content(objectMapper.writeValueAsBytes(approveDTO))).andExpect(PERMISSION_DENIED_CODE);
}
use of com.odysseusinc.arachne.portal.api.v1.dto.ApproveDTO in project ArachneCentralAPI by OHDSI.
the class AnalysisSubmissionControllerTests method testApproveSubmissionResultByNonOwner.
@Test
@WithUserDetails(STUDY_LEAD)
@DatabaseSetups({ @DatabaseSetup("/data/analysis/submission/submission-executed.xml") })
@ExpectedDatabase(value = "/data/analysis/submission/submission-executed.xml", assertionMode = NON_STRICT)
public void testApproveSubmissionResultByNonOwner() throws Exception {
ApproveDTO approveDTO = new ApproveDTO(SUBMISSION_ID, true, null, null);
prepareAnalysisFile(STUDY_ID, ANALYSIS_ID);
prepareSubmissionGroupFile(STUDY_ID, ANALYSIS_ID, SUBMISSION_GROUP_ID);
mvc.perform(post("/api/v1/analysis-management/submissions/{submissionId}/approveresult", 1).contentType(APPLICATION_JSON).content(objectMapper.writeValueAsBytes(approveDTO))).andExpect(PERMISSION_DENIED_CODE);
}
use of com.odysseusinc.arachne.portal.api.v1.dto.ApproveDTO in project ArachneCentralAPI by OHDSI.
the class BaseSubmissionController method approveSubmissionResult.
@ApiOperation("Approve submission results for show to owner")
@PostMapping("/api/v1/analysis-management/submissions/{submissionId}/approveresult")
public JsonResult<DTO> approveSubmissionResult(Principal principal, @PathVariable("submissionId") Long submissionId, @RequestBody @Valid ApproveDTO approveDTO) throws PermissionDeniedException, NotExistException {
// ToDo remove after front will be changed
approveDTO.setIsSuccess(true);
Submission updatedSubmission = submissionService.approveSubmissionResult(submissionId, approveDTO, userService.getByUsername(principal.getName()));
DTO submissionDTO = conversionService.convert(updatedSubmission, getSubmissionDTOClass());
return new JsonResult<>(NO_ERROR, submissionDTO);
}
use of com.odysseusinc.arachne.portal.api.v1.dto.ApproveDTO in project ArachneCentralAPI by OHDSI.
the class BaseSubmissionController method approveSubmission.
@ApiOperation("Approve submission for execute")
@PostMapping("/api/v1/analysis-management/submissions/{submissionId}/approve")
public JsonResult<DTO> approveSubmission(Principal principal, @PathVariable("submissionId") Long id, @RequestBody @Valid ApproveDTO approveDTO) throws PermissionDeniedException, NotExistException, IOException {
Boolean isApproved = approveDTO.getIsApproved();
IUser user = getUser(principal);
T updatedSubmission = submissionService.approveSubmission(id, isApproved, approveDTO.getComment(), user);
DTO updatedSubmissionDTO = conversionService.convert(updatedSubmission, getSubmissionDTOClass());
return new JsonResult<>(NO_ERROR, updatedSubmissionDTO);
}
Aggregations