From a33facfe138ebca33d2421f2bfc49b695eb328ca Mon Sep 17 00:00:00 2001 From: kizaonline Date: Wed, 15 Nov 2023 15:26:10 +1100 Subject: [PATCH] ON-36307 # Add `GeneratePdfFromSubmissionData` function to `PdfClient` class --- .vscode/extensions.json | 8 +++++ CHANGELOG.md | 4 +++ OneBlink.SDK/PdfClient.cs | 7 ++++ .../GeneratePDFFromSubmissionDataRequest.cs | 30 +++++++++++++++++ docs/pdf-client.md | 32 +++++++++++++++++++ 5 files changed, 81 insertions(+) create mode 100644 .vscode/extensions.json create mode 100644 OneBlink.SDK/models/GeneratePDFFromSubmissionDataRequest.cs diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..838b263 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,8 @@ +{ + "recommendations": [ + "ms-dotnettools.csdevkit", + "ms-dotnettools.csharp", + "ms-dotnettools.vscodeintellicode-csharp", + "MS-CST-E.vscode-devskim" + ] +} diff --git a/CHANGELOG.md b/CHANGELOG.md index c6402ee..1148178 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,10 @@ ## Unreleased +### Added + +- `GeneratePdfFromSubmissionData` function to `PdfClient` class + ## 5.1.1 (2023-11-01) ### Added diff --git a/OneBlink.SDK/PdfClient.cs b/OneBlink.SDK/PdfClient.cs index 1d18207..7831db6 100644 --- a/OneBlink.SDK/PdfClient.cs +++ b/OneBlink.SDK/PdfClient.cs @@ -1,3 +1,4 @@ +#pragma warning disable IDE1006 // T is already uses throughout the codebase using System.Threading.Tasks; using System.IO; using OneBlink.SDK.Model; @@ -39,5 +40,11 @@ public async Task GeneratePdf(GeneratePdfOptionsRequest options) string url = "/pdf-document"; return await this.oneBlinkPdfClient.PostRequest(url, options); } + + public async Task GeneratePdfFromSubmissionData(GeneratePDFFromSubmissionDataRequest options) + { + string url = "/generate-pdf"; + return await this.oneBlinkPdfClient.PostRequest(url, options); + } } } diff --git a/OneBlink.SDK/models/GeneratePDFFromSubmissionDataRequest.cs b/OneBlink.SDK/models/GeneratePDFFromSubmissionDataRequest.cs new file mode 100644 index 0000000..cdd08c7 --- /dev/null +++ b/OneBlink.SDK/models/GeneratePDFFromSubmissionDataRequest.cs @@ -0,0 +1,30 @@ +#pragma warning disable IDE1006 // Naming is dictated by OneBlink API +using System; +using System.Collections.Generic; + +namespace OneBlink.SDK.Model +{ + public class GeneratePDFFromSubmissionDataRequest + { + public FormSubmission submissionData + { + get; set; + } + public long formsAppId + { + get; set; + } + public List excludedElementIds + { + get; set; + } + public bool? usePagesAsBreaks + { + get; set; + } + public List excludedCSSClasses + { + get; set; + } + } +} \ No newline at end of file diff --git a/docs/pdf-client.md b/docs/pdf-client.md index da20304..b215a12 100644 --- a/docs/pdf-client.md +++ b/docs/pdf-client.md @@ -3,6 +3,8 @@ ## Instance Functions - [`GetSubmissionPdf()`](#getSubmissionpdf) +- [`GeneratePdf()`](#generatepdf) +- [`GeneratePdfFromSubmissionData()`](#generatepdffromsubmissiondata) ## Constructor @@ -81,3 +83,33 @@ Stream response = await pdfClient.GeneratePdf(pdfOptionsRequest); ### Result A `Stream` object + +## `GeneratePdfFromSubmissionData()` + +### Example + +```c# +MySubmissionDataType submissionData = new MySubmissionDataType(); +// populuate submissionData here +long formsAppId = 1; +GeneratePDFFromSubmissionDataRequest options = new GeneratePDFFromSubmissionDataRequest(); +options.submissionData = submissionData; +options.formsAppId = formsAppId; +PdfClient pdfClient = new PdfClient(ACCESS_KEY, SECRET_KEY); +Stream response = await pdfClient.GeneratePdfFromSubmissionData(options); +``` + +### Parameters + +| Parameter | Required | Type | Description | +| --------- | -------- | -------------------------------------- | ---------------------------------------------------------------------------------------- | +| `options` | Yes | `GeneratePDFFromSubmissionDataRequest` | Includes various PDF configuration options and the submission data to be used in the PDF | + +### Throws + +- `OneBlinkAPIException` +- `Exception` + +### Result + +A `Stream` object