From 27998bd783e9a930b5e271bc614f2fc44737cd2f Mon Sep 17 00:00:00 2001 From: lsocha Date: Mon, 11 Sep 2023 15:52:46 +0200 Subject: [PATCH] feat: Add `iframeable_embed_url` field to `BoxSignRequestSigner` class Closes: SDK-3318 --- .../com/box/sdk/BoxSignRequestSigner.java | 28 +++++++++++++++++++ .../BoxSignRequest/CreateSignRequest200.json | 3 +- .../BoxSignRequest/GetAllSignRequests200.json | 3 +- .../BoxSignRequest/GetSignRequest200.json | 3 +- .../java/com/box/sdk/BoxSignRequestTest.java | 7 +++++ 5 files changed, 41 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/box/sdk/BoxSignRequestSigner.java b/src/main/java/com/box/sdk/BoxSignRequestSigner.java index 1052ceb01..c35a104a9 100644 --- a/src/main/java/com/box/sdk/BoxSignRequestSigner.java +++ b/src/main/java/com/box/sdk/BoxSignRequestSigner.java @@ -25,6 +25,7 @@ public class BoxSignRequestSigner extends BoxJSONObject { private String embedUrl; private String redirectUrl; private String declinedRedirectUrl; + private String iframeableEmedUrl; private BoxAPIConnection api; /** @@ -247,6 +248,30 @@ public BoxSignRequestSigner setDeclinedRedirectUrl(String declinedRedirectUrl) { return this; } + /** + * Gets the URL designed for signing documents within an HTML iframe tag. + * It will be returned in the response only if the embedUrlExternalUserId parameter was passed + * in the create sign request call. + * + * @return url for signing documents within an HTML iframe tag. + */ + public String getIframeableEmedUrl() { + return this.iframeableEmedUrl; + } + + /** + * Sets the URL designed for signing documents within an HTML iframe tag. + * It will be returned in the response only if the embedUrlExternalUserId parameter was passed + * in the create sign request call. + * + * @param iframeableEmedUrl url for signing documents within an HTML iframe tag. + * @return this BoxSignRequestSigner object for chaining. + */ + public BoxSignRequestSigner setIframeableEmedUrl(String iframeableEmedUrl) { + this.iframeableEmedUrl = iframeableEmedUrl; + return this; + } + /** * {@inheritDoc} */ @@ -298,6 +323,9 @@ void parseJSONMember(JsonObject.Member member) { case "declined_redirect_url": this.declinedRedirectUrl = value.asString(); break; + case "iframeable_embed_url": + this.iframeableEmedUrl = value.asString(); + break; default: return; } diff --git a/src/test/Fixtures/BoxSignRequest/CreateSignRequest200.json b/src/test/Fixtures/BoxSignRequest/CreateSignRequest200.json index 9a66d8985..dca84dd2f 100644 --- a/src/test/Fixtures/BoxSignRequest/CreateSignRequest200.json +++ b/src/test/Fixtures/BoxSignRequest/CreateSignRequest200.json @@ -32,7 +32,8 @@ ], "embed_url": "https://example.com", "redirect_url": "https://box.com/redirect_url_signer_1", - "declined_redirect_url": "https://box.com/declined_redirect_url_signer_1" + "declined_redirect_url": "https://box.com/declined_redirect_url_signer_1", + "iframeable_embed_url": "https://app.box.com/embed/sign/document/gfhr4222-a331-494b-808b-79bc7f3992a3/f14d7098-a331-494b-808b-79bc7f3992a4" } ], "source_files": [ diff --git a/src/test/Fixtures/BoxSignRequest/GetAllSignRequests200.json b/src/test/Fixtures/BoxSignRequest/GetAllSignRequests200.json index a31ef68ac..add5988e3 100644 --- a/src/test/Fixtures/BoxSignRequest/GetAllSignRequests200.json +++ b/src/test/Fixtures/BoxSignRequest/GetAllSignRequests200.json @@ -54,7 +54,8 @@ ], "embed_url": "https://example.com", "redirect_url": "https://box.com/redirect_url_signer_1", - "declined_redirect_url": "https://box.com/declined_redirect_url_signer_1" + "declined_redirect_url": "https://box.com/declined_redirect_url_signer_1", + "iframeable_embed_url": "https://app.box.com/embed/sign/document/gfhr4222-a331-494b-808b-79bc7f3992a3/f14d7098-a331-494b-808b-79bc7f3992a4" } ], "source_files": [ diff --git a/src/test/Fixtures/BoxSignRequest/GetSignRequest200.json b/src/test/Fixtures/BoxSignRequest/GetSignRequest200.json index af64b2b4d..7c8fe3c88 100644 --- a/src/test/Fixtures/BoxSignRequest/GetSignRequest200.json +++ b/src/test/Fixtures/BoxSignRequest/GetSignRequest200.json @@ -50,7 +50,8 @@ ], "embed_url": "https://example.com", "redirect_url": "https://box.com/redirect_url_signer_1", - "declined_redirect_url": "https://box.com/declined_redirect_url_signer_1" + "declined_redirect_url": "https://box.com/declined_redirect_url_signer_1", + "iframeable_embed_url": "https://app.box.com/embed/sign/document/gfhr4222-a331-494b-808b-79bc7f3992a3/f14d7098-a331-494b-808b-79bc7f3992a4" } ], "source_files": [ diff --git a/src/test/java/com/box/sdk/BoxSignRequestTest.java b/src/test/java/com/box/sdk/BoxSignRequestTest.java index 6129fbb7e..2ca64ec0f 100644 --- a/src/test/java/com/box/sdk/BoxSignRequestTest.java +++ b/src/test/java/com/box/sdk/BoxSignRequestTest.java @@ -46,6 +46,7 @@ public void createSignRequestSucceeds() { final String prepareUrl = "https://prepareurl.com"; final String redirectUrl = "https://box.com/redirect_url"; final String declinedRedirectUrl = "https://box.com/declined_redirect_url"; + final String iframeableEmedUrl = "https://app.box.com/embed/sign/document/gfhr4222-a331-494b-808b-79bc7f3992a3/f14d7098-a331-494b-808b-79bc7f3992a4"; final String signerRedirectUrl = "https://box.com/redirect_url_signer_1"; final String signerDeclinedRedirectUrl = "https://box.com/declined_redirect_url_signer_1"; @@ -63,6 +64,7 @@ public void createSignRequestSucceeds() { List signers = new ArrayList<>(); BoxSignRequestSigner newSigner = new BoxSignRequestSigner("signer@mail.com"); + newSigner.setEmbedUrlExternalUserId("1234"); signers.add(newSigner); String parentFolderId = "55555"; @@ -77,6 +79,7 @@ public void createSignRequestSucceeds() { BoxSignRequestSigner signer = signRequestInfo.getSigners().get(0); BoxSignerInput input = signer.getInputs().get(0); assertEquals(signerRedirectUrl, signer.getRedirectUrl()); + assertEquals(iframeableEmedUrl, signer.getIframeableEmedUrl()); assertEquals(signerDeclinedRedirectUrl, signer.getDeclinedRedirectUrl()); assertEquals(prepareUrl, signRequestInfo.getPrepareUrl()); @@ -102,6 +105,7 @@ public void getSignRequestInfoSucceeds() { final String prepareUrl = "https://prepareurl.com"; final String redirectUrl = "https://box.com/redirect_url"; final String declinedRedirectUrl = "https://box.com/declined_redirect_url"; + final String iframeableEmedUrl = "https://app.box.com/embed/sign/document/gfhr4222-a331-494b-808b-79bc7f3992a3/f14d7098-a331-494b-808b-79bc7f3992a4"; final String signerRedirectUrl = "https://box.com/redirect_url_signer_1"; final String signerDeclinedRedirectUrl = "https://box.com/declined_redirect_url_signer_1"; @@ -125,6 +129,7 @@ public void getSignRequestInfoSucceeds() { BoxSignerInput input = signer.getInputs().get(0); assertEquals(signerRedirectUrl, signer.getRedirectUrl()); assertEquals(signerDeclinedRedirectUrl, signer.getDeclinedRedirectUrl()); + assertEquals(iframeableEmedUrl, signer.getIframeableEmedUrl()); assertEquals(prepareUrl, signRequestInfo.getPrepareUrl()); assertEquals(redirectUrl, signRequestInfo.getRedirectUrl()); @@ -148,6 +153,7 @@ public void getAllSignRequestsSucceeds() { final String prepareUrl = "https://prepareurl.com"; final String redirectUrl = "https://box.com/redirect_url"; final String declinedRedirectUrl = "https://box.com/declined_redirect_url"; + final String iframeableEmedUrl = "https://app.box.com/embed/sign/document/gfhr4222-a331-494b-808b-79bc7f3992a3/f14d7098-a331-494b-808b-79bc7f3992a4"; final String signerRedirectUrl = "https://box.com/redirect_url_signer_1"; final String signerDeclinedRedirectUrl = "https://box.com/declined_redirect_url_signer_1"; @@ -170,6 +176,7 @@ public void getAllSignRequestsSucceeds() { BoxSignerInput input = signer.getInputs().get(0); assertEquals(signerRedirectUrl, signer.getRedirectUrl()); assertEquals(signerDeclinedRedirectUrl, signer.getDeclinedRedirectUrl()); + assertEquals(iframeableEmedUrl, signer.getIframeableEmedUrl()); assertEquals(prepareUrl, firstSignRequest.getPrepareUrl()); assertEquals(redirectUrl, firstSignRequest.getRedirectUrl());