DM-502: Dossier Endpoint returns all dossiers regardless of the set dossierTemplateId
This commit is contained in:
parent
bfa88fd082
commit
f8231a6499
@ -1,5 +1,16 @@
|
|||||||
package com.iqser.red.persistence.service.v2.external.api.impl.controller;
|
package com.iqser.red.persistence.service.v2.external.api.impl.controller;
|
||||||
|
|
||||||
|
import static com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException.DOSSIER_NOT_FOUND_MESSAGE;
|
||||||
|
import static com.iqser.red.service.persistence.service.v2.api.external.resource.DossierTemplateResource.DOSSIER_TEMPLATE_ID_PARAM;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
|
||||||
|
import org.springframework.http.ResponseEntity;
|
||||||
|
import org.springframework.web.bind.annotation.PathVariable;
|
||||||
|
import org.springframework.web.bind.annotation.RequestBody;
|
||||||
|
import org.springframework.web.bind.annotation.RequestParam;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierController;
|
import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierController;
|
||||||
import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierTemplateController;
|
import com.iqser.red.persistence.service.v1.external.api.impl.controller.DossierTemplateController;
|
||||||
import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException;
|
import com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException;
|
||||||
@ -9,19 +20,10 @@ import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemp
|
|||||||
import com.iqser.red.service.persistence.service.v2.api.external.model.DocuMineDossierRequest;
|
import com.iqser.red.service.persistence.service.v2.api.external.model.DocuMineDossierRequest;
|
||||||
import com.iqser.red.service.persistence.service.v2.api.external.model.DossierList;
|
import com.iqser.red.service.persistence.service.v2.api.external.model.DossierList;
|
||||||
import com.iqser.red.service.persistence.service.v2.api.external.resource.DossierResource;
|
import com.iqser.red.service.persistence.service.v2.api.external.resource.DossierResource;
|
||||||
|
|
||||||
import io.swagger.v3.oas.annotations.Parameter;
|
import io.swagger.v3.oas.annotations.Parameter;
|
||||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.http.ResponseEntity;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestParam;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
|
|
||||||
import static com.iqser.red.service.persistence.management.v1.processor.exception.DossierNotFoundException.DOSSIER_NOT_FOUND_MESSAGE;
|
|
||||||
import static com.iqser.red.service.persistence.service.v2.api.external.resource.DossierTemplateResource.DOSSIER_TEMPLATE_ID_PARAM;
|
|
||||||
|
|
||||||
import java.util.Set;
|
|
||||||
|
|
||||||
@RestController
|
@RestController
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@ -31,6 +33,7 @@ public class DossierControllerV2 implements DossierResource {
|
|||||||
private final DossierTemplateController dossierTemplateController;
|
private final DossierTemplateController dossierTemplateController;
|
||||||
private final DossierController dossierController;
|
private final DossierController dossierController;
|
||||||
|
|
||||||
|
|
||||||
public DossierList getDossiers(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
|
public DossierList getDossiers(@PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
|
||||||
@RequestParam(name = INCLUDE_ACTIVE_PARAM, defaultValue = "true", required = false) boolean includeActive,
|
@RequestParam(name = INCLUDE_ACTIVE_PARAM, defaultValue = "true", required = false) boolean includeActive,
|
||||||
@RequestParam(name = INCLUDE_ARCHIVED_PARAM, defaultValue = "false", required = false) boolean includeArchived,
|
@RequestParam(name = INCLUDE_ARCHIVED_PARAM, defaultValue = "false", required = false) boolean includeArchived,
|
||||||
@ -38,7 +41,7 @@ public class DossierControllerV2 implements DossierResource {
|
|||||||
|
|
||||||
dossierTemplateController.getDossierTemplate(dossierTemplateId);
|
dossierTemplateController.getDossierTemplate(dossierTemplateId);
|
||||||
|
|
||||||
var dossiers = dossierController.getDossiers(includeArchived, includeSoftDeleted);
|
var dossiers = dossierController.getDossiersForDossierTemplate(dossierTemplateId, includeArchived, includeSoftDeleted);
|
||||||
|
|
||||||
if (!includeActive) {
|
if (!includeActive) {
|
||||||
return new DossierList(dossiers.stream().filter(dossier -> dossier.getSoftDeletedTime() != null || dossier.getArchivedTime() != null).toList());
|
return new DossierList(dossiers.stream().filter(dossier -> dossier.getSoftDeletedTime() != null || dossier.getArchivedTime() != null).toList());
|
||||||
@ -74,6 +77,7 @@ public class DossierControllerV2 implements DossierResource {
|
|||||||
return dossierController.createDossierOrUpdateDossier(mapToDossierRequest(dossierTemplateId, dossier));
|
return dossierController.createDossierOrUpdateDossier(mapToDossierRequest(dossierTemplateId, dossier));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void deleteDossier(@Parameter(name = DOSSIER_TEMPLATE_ID_PARAM, description = "The identifier of the dossier template that is used for the dossier.", required = true) @PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
|
public void deleteDossier(@Parameter(name = DOSSIER_TEMPLATE_ID_PARAM, description = "The identifier of the dossier template that is used for the dossier.", required = true) @PathVariable(DOSSIER_TEMPLATE_ID_PARAM) String dossierTemplateId,
|
||||||
@Parameter(name = DOSSIER_ID_PARAM, description = "The identifier of the dossier to retrieve.", required = true) @PathVariable(DOSSIER_ID_PARAM) String dossierId) {
|
@Parameter(name = DOSSIER_ID_PARAM, description = "The identifier of the dossier to retrieve.", required = true) @PathVariable(DOSSIER_ID_PARAM) String dossierId) {
|
||||||
|
|
||||||
@ -82,7 +86,9 @@ public class DossierControllerV2 implements DossierResource {
|
|||||||
dossierController.deleteDossier(dossierId);
|
dossierController.deleteDossier(dossierId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static DossierRequest mapToDossierRequest(String dossierTemplateId, DocuMineDossierRequest dossier) {
|
private static DossierRequest mapToDossierRequest(String dossierTemplateId, DocuMineDossierRequest dossier) {
|
||||||
|
|
||||||
return DossierRequest.builder()
|
return DossierRequest.builder()
|
||||||
.dossierId(dossier.getId())
|
.dossierId(dossier.getId())
|
||||||
.dossierName(dossier.getName())
|
.dossierName(dossier.getName())
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user