From f4112670ed454e9aebe9855e54a74edd009eb244 Mon Sep 17 00:00:00 2001 From: dylan Date: Thu, 30 Jan 2025 21:15:47 +0100 Subject: [PATCH] Return name only. Path will be calculated from the name and the files will be stored on disk --- openapi.yml | 18 ++++++++++++++++-- .../controllers/SigningRequestController.java | 9 +++++++++ .../entities/SigningRequestDocument.java | 5 ----- src/main/resources/db/migration/V1__init.sql | 3 +-- .../resources/db/migration/V2__data_insert.sql | 5 ++++- 5 files changed, 30 insertions(+), 10 deletions(-) diff --git a/openapi.yml b/openapi.yml index f3a21cf..19a8bef 100644 --- a/openapi.yml +++ b/openapi.yml @@ -130,13 +130,27 @@ components: properties: id: type: string - signingRequestDocumentIds: + signingRequestDocuments: type: array items: - type: string + $ref: "#/components/schemas/GetSigningRequestResponseSigningRequestDocument" signed: type: boolean + GetSigningRequestResponseSigningRequestDocument: + type: object + required: + - id + - name + - confirmed + properties: + id: + type: string + name: + type: string + confirmed: + type: boolean + ErrorResponse: type: object required: diff --git a/src/main/java/ch/dlmw/swisssignchallenge/controllers/SigningRequestController.java b/src/main/java/ch/dlmw/swisssignchallenge/controllers/SigningRequestController.java index f2eb183..9c13edb 100644 --- a/src/main/java/ch/dlmw/swisssignchallenge/controllers/SigningRequestController.java +++ b/src/main/java/ch/dlmw/swisssignchallenge/controllers/SigningRequestController.java @@ -4,6 +4,7 @@ import ch.dlmw.swisssignchallenge.services.impl.SigningRequestService; import lombok.AllArgsConstructor; import org.openapitools.api.SigningRequestApi; import org.openapitools.model.GetSigningRequestResponse; +import org.openapitools.model.GetSigningRequestResponseSigningRequestDocument; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; @@ -16,6 +17,14 @@ public class SigningRequestController implements SigningRequestApi { var signingRequest = signingRequestService.getSigningRequest(id); var response = new GetSigningRequestResponse(signingRequest.getId().toString(), signingRequest.isSigned()); + for (var doc : signingRequest.getDocuments()) { + response.addSigningRequestDocumentsItem(new GetSigningRequestResponseSigningRequestDocument( + doc.getId().toString(), + doc.getName(), + doc.isConfirmed() + )); + } + return ResponseEntity.ok(response); } } diff --git a/src/main/java/ch/dlmw/swisssignchallenge/entities/SigningRequestDocument.java b/src/main/java/ch/dlmw/swisssignchallenge/entities/SigningRequestDocument.java index d4c26b8..1868989 100644 --- a/src/main/java/ch/dlmw/swisssignchallenge/entities/SigningRequestDocument.java +++ b/src/main/java/ch/dlmw/swisssignchallenge/entities/SigningRequestDocument.java @@ -3,7 +3,6 @@ package ch.dlmw.swisssignchallenge.entities; import jakarta.persistence.*; import lombok.Getter; import lombok.Setter; -import org.hibernate.annotations.Type; import java.util.UUID; @@ -26,8 +25,4 @@ public class SigningRequestDocument { @Column(name = "confirmed", nullable = false) private boolean confirmed; - -// @Lob -// @Column(name = "data", nullable = false, columnDefinition = "BYTEA") -// private byte[] data; } \ No newline at end of file diff --git a/src/main/resources/db/migration/V1__init.sql b/src/main/resources/db/migration/V1__init.sql index 60a316d..3596ba3 100644 --- a/src/main/resources/db/migration/V1__init.sql +++ b/src/main/resources/db/migration/V1__init.sql @@ -13,6 +13,5 @@ CREATE TABLE signing_request_document ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), signing_request_id UUID NOT NULL REFERENCES signing_request(id) ON DELETE CASCADE, name VARCHAR(255) NOT NULL, - confirmed BOOLEAN NOT NULL DEFAULT FALSE, - data BYTEA NOT NULL + confirmed BOOLEAN NOT NULL DEFAULT FALSE ); \ No newline at end of file diff --git a/src/main/resources/db/migration/V2__data_insert.sql b/src/main/resources/db/migration/V2__data_insert.sql index b587a36..2777e9a 100644 --- a/src/main/resources/db/migration/V2__data_insert.sql +++ b/src/main/resources/db/migration/V2__data_insert.sql @@ -3,4 +3,7 @@ VALUES ('6313d131-f8b6-41f0-8e1c-c07adc6e0cc1', 'john', '$2a$10$urXz.BOEG0BtbvU7 INSERT INTO signing_request (id, signed) VALUES - ('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11', FALSE); \ No newline at end of file + ('a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11', FALSE); + +INSERT INTO signing_request_document (id, signing_request_id, name, confirmed) +VALUES ('a618c940-05a5-4396-a379-b42fbf0a8839', 'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11', 'cv-actual.pdf', false); \ No newline at end of file