Implement skeleton for patch document
This commit is contained in:
50
openapi.yml
50
openapi.yml
@ -39,6 +39,7 @@ paths:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/HelloResponse"
|
||||
|
||||
/signing-request/{id}:
|
||||
get:
|
||||
tags:
|
||||
@ -71,6 +72,41 @@ paths:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/ErrorResponse"
|
||||
|
||||
/signing-request-document/{id}:
|
||||
patch:
|
||||
tags:
|
||||
- signing-request-document
|
||||
summary: Change some data in a signing request document
|
||||
operationId: patchSigningRequestDocument
|
||||
parameters:
|
||||
- name: id
|
||||
in: path
|
||||
required: true
|
||||
description: The ID of the signing request document
|
||||
schema:
|
||||
type: string
|
||||
requestBody:
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/PatchSigningRequestDocumentRequest"
|
||||
responses:
|
||||
204:
|
||||
description: "Signing request document was patched"
|
||||
401:
|
||||
description: "Unauthorized"
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/ErrorResponse"
|
||||
404:
|
||||
description: "Signing request document was not found"
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: "#/components/schemas/ErrorResponse"
|
||||
|
||||
/signing-request-document/{id}/data:
|
||||
get:
|
||||
tags:
|
||||
@ -180,6 +216,20 @@ components:
|
||||
confirmed:
|
||||
type: boolean
|
||||
|
||||
PatchSigningRequestDocumentRequest:
|
||||
type: object
|
||||
required:
|
||||
- op
|
||||
- path
|
||||
- value
|
||||
properties:
|
||||
op:
|
||||
type: string
|
||||
path:
|
||||
type: string
|
||||
value:
|
||||
type: string
|
||||
|
||||
ErrorResponse:
|
||||
type: object
|
||||
required:
|
||||
|
6
pom.xml
6
pom.xml
@ -94,7 +94,11 @@
|
||||
<version>0.11.5</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.github.java-json-tools</groupId>
|
||||
<artifactId>json-patch</artifactId>
|
||||
<version>1.13</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
|
@ -0,0 +1,20 @@
|
||||
package ch.dlmw.swisssignchallenge.controllers;
|
||||
|
||||
import ch.dlmw.swisssignchallenge.services.SigningRequestDocumentService;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.openapitools.api.SigningRequestDocumentApi;
|
||||
import org.openapitools.model.PatchSigningRequestDocumentRequest;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
@RestController
|
||||
@AllArgsConstructor
|
||||
public class SigningRequestDocumentController implements SigningRequestDocumentApi {
|
||||
private final SigningRequestDocumentService signingRequestDocumentService;
|
||||
|
||||
@Override
|
||||
public ResponseEntity<Void> patchSigningRequestDocument(String id, PatchSigningRequestDocumentRequest patchSigningRequestDocumentRequest) {
|
||||
signingRequestDocumentService.patchSigningRequestDocument(id, patchSigningRequestDocumentRequest);
|
||||
return ResponseEntity.noContent().build();
|
||||
}
|
||||
}
|
@ -63,8 +63,8 @@ public class JwtRequestFilter extends OncePerRequestFilter {
|
||||
filterChain.doFilter(request, response);
|
||||
} catch (Exception e) {
|
||||
response.setContentType("application/json");
|
||||
response.setStatus(HttpStatus.BAD_REQUEST.value());
|
||||
response.getWriter().write(objectMapper.writeValueAsString(new ErrorResponse("Couldn't authenticate", HttpStatus.BAD_REQUEST.value())));
|
||||
response.setStatus(HttpStatus.UNAUTHORIZED.value());
|
||||
response.getWriter().write(objectMapper.writeValueAsString(new ErrorResponse("Couldn't authenticate", HttpStatus.UNAUTHORIZED.value())));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -0,0 +1,7 @@
|
||||
package ch.dlmw.swisssignchallenge.services;
|
||||
|
||||
import org.openapitools.model.PatchSigningRequestDocumentRequest;
|
||||
|
||||
public interface SigningRequestDocumentService {
|
||||
void patchSigningRequestDocument(String id, PatchSigningRequestDocumentRequest patchSigningRequestDocumentRequest);
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
package ch.dlmw.swisssignchallenge.services.impl;
|
||||
|
||||
import ch.dlmw.swisssignchallenge.repositories.SigningRequestDocumentRepository;
|
||||
import ch.dlmw.swisssignchallenge.services.SigningRequestDocumentService;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.openapitools.model.PatchSigningRequestDocumentRequest;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
@Service
|
||||
@AllArgsConstructor
|
||||
public class SigningRequestDocumentServiceImpl implements SigningRequestDocumentService {
|
||||
private final SigningRequestDocumentRepository signingRequestDocumentRepository;
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
@Override
|
||||
public void patchSigningRequestDocument(String id, PatchSigningRequestDocumentRequest patchSigningRequestDocumentRequest) {
|
||||
var document = signingRequestDocumentRepository.findById(UUID.fromString(id)).orElseThrow();
|
||||
|
||||
System.out.println(document.isConfirmed());
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user