diff options
author | Thomas <> | 2023-01-11 23:23:30 +0100 |
---|---|---|
committer | Thomas <> | 2023-01-11 23:23:30 +0100 |
commit | 42e68c8f3e53b34663d2fe9c434b0b034ff9ddf0 (patch) | |
tree | de9aceb59655ff02fcbc4100f07fe33d035f34f1 /pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing | |
parent | 989f7685e730255a08c32e7a10c090f2ffc22d26 (diff) | |
download | pdf-as-4-42e68c8f3e53b34663d2fe9c434b0b034ff9ddf0.tar.gz pdf-as-4-42e68c8f3e53b34663d2fe9c434b0b034ff9ddf0.tar.bz2 pdf-as-4-42e68c8f3e53b34663d2fe9c434b0b034ff9ddf0.zip |
feat(web): add bulk-light functionality into PDF-AS-Web
Diffstat (limited to 'pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing')
5 files changed, 164 insertions, 0 deletions
diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/CoreSignParams.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/CoreSignParams.java new file mode 100644 index 00000000..f86e93b6 --- /dev/null +++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/CoreSignParams.java @@ -0,0 +1,32 @@ +package at.gv.egiz.pdfas.api.processing; + +import java.io.Serializable; +import java.util.Map; + +import at.gv.egiz.pdfas.api.ws.PDFASSignParameters.Connector; +import lombok.Data; + +@Data +public class CoreSignParams implements Serializable { + + private static final long serialVersionUID = 947480605651880556L; + + String transactionId; + + Connector connector; + + String invokeUrl; + + String invokeTarget; + + String invokeErrorUrl; + + String keyIdentifier; + + Map<String,String> preprocessor; + + Map<String,String> overrides; + + Map<String,String> signatureBlockParameters; + +} diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/DocumentToSign.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/DocumentToSign.java new file mode 100644 index 00000000..6cc3a933 --- /dev/null +++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/DocumentToSign.java @@ -0,0 +1,22 @@ +package at.gv.egiz.pdfas.api.processing; + +import java.io.Serializable; + +import lombok.Data; + +@Data +public class DocumentToSign implements Serializable { + + private static final long serialVersionUID = 551977730667465367L; + + byte[] inputData; + + String fileName; + + String position; + + String qrCodeContent; + + String profile; + +} diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/PdfasSignRequest.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/PdfasSignRequest.java new file mode 100644 index 00000000..b36b5a4c --- /dev/null +++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/PdfasSignRequest.java @@ -0,0 +1,62 @@ +package at.gv.egiz.pdfas.api.processing; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import at.gv.egiz.pdfas.api.ws.VerificationLevel; +import lombok.Getter; +import lombok.Setter; + +@Getter +public class PdfasSignRequest implements Serializable, Iterator<DocumentToSign> { + + private static final long serialVersionUID = -7245405996920651806L; + + @Setter + String requestID; + + @Setter + CoreSignParams coreParams; + + @Setter + VerificationLevel verificationLevel; + + List<DocumentToSign> input; + + /** + * Add single PDF for signing. + * + * @param pdf PDF to sign + */ + public void addDocumentToSign(DocumentToSign pdf) { + if (input == null) { + input = new ArrayList<>(); + + } + input.add(pdf); + + } + + + /** + * <code>true</code> if there is one or more {@link DocumentToSign}, otherwise <code>false</code>. + */ + @Override + public boolean hasNext() { + return input != null && !input.isEmpty(); + + } + + /** + * Get next {@link DocumentToSign}. + */ + @Override + public synchronized DocumentToSign next() { + return input.remove(0); + + } + + +} diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/PdfasSignResponse.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/PdfasSignResponse.java new file mode 100644 index 00000000..3618715f --- /dev/null +++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/PdfasSignResponse.java @@ -0,0 +1,23 @@ +package at.gv.egiz.pdfas.api.processing; + +import java.io.Serializable; +import java.util.List; + +import lombok.Builder; +import lombok.Data; +import lombok.Singular; + +@Data +@Builder(toBuilder = true) +public class PdfasSignResponse implements Serializable { + + private static final long serialVersionUID = -3235466827933651452L; + + String requestId; + + String transactionId; + + @Singular + List<SignedDocument> signedPdfs; + +} diff --git a/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/SignedDocument.java b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/SignedDocument.java new file mode 100644 index 00000000..348746df --- /dev/null +++ b/pdf-as-common/src/main/java/at/gv/egiz/pdfas/api/processing/SignedDocument.java @@ -0,0 +1,25 @@ +package at.gv.egiz.pdfas.api.processing; + +import java.io.Serializable; + +import at.gv.egiz.pdfas.api.ws.PDFASVerificationResponse; +import lombok.Builder; +import lombok.Data; + +@Data +@Builder +public class SignedDocument implements Serializable { + + private static final long serialVersionUID = 5409915106152807937L; + + Long signingTimestamp; + + byte[] outputData; + + String fileName; + + String signerCertificate; + + PDFASVerificationResponse verificationResponse; + +} |