When creating a new version of a DMP return the Id of the new DMP
This commit is contained in:
parent
fc7f8d4278
commit
e4713d60bd
|
@ -224,12 +224,12 @@ public class DMPs extends BaseController {
|
||||||
|
|
||||||
@RequestMapping(method = RequestMethod.POST, value = {"/new/{id}"}, consumes = "application/json", produces = "application/json")
|
@RequestMapping(method = RequestMethod.POST, value = {"/new/{id}"}, consumes = "application/json", produces = "application/json")
|
||||||
public @ResponseBody
|
public @ResponseBody
|
||||||
ResponseEntity<ResponseItem<DMP>> newVersion(@PathVariable UUID id, @Valid @RequestBody eu.eudat.models.data.dmp.DataManagementPlanNewVersionModel dataManagementPlan, Principal principal) throws Exception {
|
ResponseEntity<ResponseItem<UUID>> newVersion(@PathVariable UUID id, @Valid @RequestBody eu.eudat.models.data.dmp.DataManagementPlanNewVersionModel dataManagementPlan, Principal principal) throws Exception {
|
||||||
try {
|
try {
|
||||||
this.dataManagementPlanManager.newVersion(id, dataManagementPlan, principal);
|
UUID result = this.dataManagementPlanManager.newVersion(id, dataManagementPlan, principal);
|
||||||
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<DMP>().status(ApiMessageCode.NO_MESSAGE));
|
return ResponseEntity.status(HttpStatus.OK).body(new ResponseItem<UUID>().status(ApiMessageCode.NO_MESSAGE).payload(result));
|
||||||
} catch (DMPNewVersionException exception) {
|
} catch (DMPNewVersionException exception) {
|
||||||
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseItem<DMP>().status(ApiMessageCode.ERROR_MESSAGE).message(exception.getMessage()));
|
return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(new ResponseItem<UUID>().status(ApiMessageCode.ERROR_MESSAGE).message(exception.getMessage()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -503,7 +503,7 @@ public class DataManagementPlanManager {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void newVersion(UUID uuid, DataManagementPlanNewVersionModel dataManagementPlan, Principal principal) throws Exception {
|
public UUID newVersion(UUID uuid, DataManagementPlanNewVersionModel dataManagementPlan, Principal principal) throws Exception {
|
||||||
DMP oldDmp = databaseRepository.getDmpDao().find(uuid);
|
DMP oldDmp = databaseRepository.getDmpDao().find(uuid);
|
||||||
if (!isUserOwnerOfDmp(oldDmp, principal)) {
|
if (!isUserOwnerOfDmp(oldDmp, principal)) {
|
||||||
throw new Exception("User not being the creator is not authorized to perform this action.");
|
throw new Exception("User not being the creator is not authorized to perform this action.");
|
||||||
|
@ -553,7 +553,7 @@ public class DataManagementPlanManager {
|
||||||
newDmp.setDataset(new HashSet<>(databaseRepository.getDatasetDao().getWithCriteria(criteria1).toList()));
|
newDmp.setDataset(new HashSet<>(databaseRepository.getDatasetDao().getWithCriteria(criteria1).toList()));
|
||||||
|
|
||||||
this.updateGroupIndex(newDmp.getGroupId());
|
this.updateGroupIndex(newDmp.getGroupId());
|
||||||
|
return newDmp.getId();
|
||||||
} else {
|
} else {
|
||||||
throw new DMPNewVersionException("Version to update not the latest.");
|
throw new DMPNewVersionException("Version to update not the latest.");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue