|
18 | 18 | import nl.rijksoverheid.moz.dto.request.ContactgegevenUpdateRequest; |
19 | 19 | import nl.rijksoverheid.moz.dto.request.PartijIdentificatieRequest; |
20 | 20 | import nl.rijksoverheid.moz.dto.request.PartijRequest; |
| 21 | +import nl.rijksoverheid.moz.dto.request.TeVerwijderenOpRequest; |
21 | 22 | import nl.rijksoverheid.moz.dto.request.VoorkeurRequest; |
22 | 23 | import nl.rijksoverheid.moz.dto.request.VoorkeurUpdateRequest; |
23 | 24 | import nl.rijksoverheid.moz.dto.response.ContactgegevenResponse; |
@@ -429,6 +430,73 @@ public Response deleteVoorkeur( |
429 | 430 | return Response.noContent().build(); |
430 | 431 | } |
431 | 432 |
|
| 433 | + @PATCH |
| 434 | + @Path("/voorkeur/te-verwijderen-op") |
| 435 | + @Transactional |
| 436 | + @Operation( |
| 437 | + summary = "Stel te-verwijderen-op in voor een voorkeur (Dienstverlener)", |
| 438 | + description = "Stelt of overschrijft de te-verwijderen-op datum voor een voorkeur. Alleen toegestaan voor een Dienstverlener met een bestaande scope op de voorkeur." |
| 439 | + ) |
| 440 | + @APIResponses({ |
| 441 | + @APIResponse(responseCode = "200", description = "Te-verwijderen-op succesvol bijgewerkt"), |
| 442 | + @APIResponse(responseCode = "400", description = "Ongeldige waarde voor te-verwijderen-op"), |
| 443 | + @APIResponse(responseCode = "403", description = "Dienstverlener heeft geen scope op deze voorkeur"), |
| 444 | + @APIResponse(responseCode = "404", description = "Voorkeur of partij niet gevonden") |
| 445 | + }) |
| 446 | + @Logboek(name = "updateVoorkeurTeVerwijderenOp", processingActivityId = "https://mijnoverheidzakelijk.nl/verwerkingsactiviteiten/PS-630") |
| 447 | + public Response updateVoorkeurTeVerwijderenOp(@Valid TeVerwijderenOpRequest request) { |
| 448 | + if (request == null) return missingBody("updateVoorkeurTeVerwijderenOp"); |
| 449 | + |
| 450 | + logboekContext.setDataSubjectId(hashHelper.hashIdentifier(request.identificatieNummer)); |
| 451 | + logboekContext.setDataSubjectType(String.valueOf(request.identificatieType)); |
| 452 | + |
| 453 | + boolean updated = partijService.updateVoorkeurTeVerwijderenOpByDienstverlener(request); |
| 454 | + |
| 455 | + if (!updated) { |
| 456 | + logboekContext.setStatus(StatusCode.ERROR); |
| 457 | + LOG.warn("Voorkeur of partij niet gevonden voor te-verwijderen-op update"); |
| 458 | + return Response.status(Response.Status.NOT_FOUND).build(); |
| 459 | + } |
| 460 | + |
| 461 | + logboekContext.setStatus(StatusCode.OK); |
| 462 | + LOG.info("Te-verwijderen-op bijgewerkt voor voorkeur"); |
| 463 | + return Response.ok().build(); |
| 464 | + } |
| 465 | + |
| 466 | + @PATCH |
| 467 | + @Path("/contactgegeven/te-verwijderen-op") |
| 468 | + @Transactional |
| 469 | + @Operation( |
| 470 | + summary = "Stel te-verwijderen-op in voor een contactgegeven (Dienstverlener)", |
| 471 | + description = "Stelt of overschrijft de te-verwijderen-op datum voor een contactgegeven. Alleen toegestaan voor een Dienstverlener met een bestaande scope op het contactgegeven." |
| 472 | + ) |
| 473 | + @APIResponses({ |
| 474 | + @APIResponse(responseCode = "200", description = "Te-verwijderen-op succesvol bijgewerkt"), |
| 475 | + @APIResponse(responseCode = "400", description = "Ongeldige waarde voor te-verwijderen-op"), |
| 476 | + @APIResponse(responseCode = "403", description = "Dienstverlener heeft geen scope op dit contactgegeven"), |
| 477 | + @APIResponse(responseCode = "404", description = "Contactgegeven of partij niet gevonden") |
| 478 | + }) |
| 479 | + @Logboek(name = "updateContactgegevenTeVerwijderenOp", processingActivityId = "https://mijnoverheidzakelijk.nl/verwerkingsactiviteiten/PS-631") |
| 480 | + public Response updateContactgegevenTeVerwijderenOp(@Valid TeVerwijderenOpRequest request) { |
| 481 | + |
| 482 | + if (request == null) return missingBody("updateContactgegevenTeVerwijderenOp"); |
| 483 | + |
| 484 | + logboekContext.setDataSubjectId(hashHelper.hashIdentifier(request.identificatieNummer)); |
| 485 | + logboekContext.setDataSubjectType(String.valueOf(request.identificatieType)); |
| 486 | + |
| 487 | + boolean updated = partijService.updateContactgegevenTeVerwijderenOpByDienstverlener(request); |
| 488 | + |
| 489 | + if (!updated) { |
| 490 | + logboekContext.setStatus(StatusCode.ERROR); |
| 491 | + LOG.warn("Contactgegeven of partij niet gevonden voor te-verwijderen-op update"); |
| 492 | + return Response.status(Response.Status.NOT_FOUND).build(); |
| 493 | + } |
| 494 | + |
| 495 | + logboekContext.setStatus(StatusCode.OK); |
| 496 | + LOG.info("Te-verwijderen-op bijgewerkt voor contactgegeven"); |
| 497 | + return Response.ok().build(); |
| 498 | + } |
| 499 | + |
432 | 500 | private Response missingBody(String methode) { |
433 | 501 | logboekContext.setDataSubjectId("ONBEKEND"); |
434 | 502 | logboekContext.setDataSubjectType("ONBEKEND"); |
|
0 commit comments