Skip to content

Commit 703d501

Browse files
committed
Release 3.10.0: Update example project to show new properties
1 parent 1c07134 commit 703d501

File tree

3 files changed

+67
-2
lines changed

3 files changed

+67
-2
lines changed

examples/doc-scan/src/main/java/com/yoti/docscan/demo/controller/DocScanController.java

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,14 @@
11
package com.yoti.docscan.demo.controller;
22

3+
import java.util.List;
4+
35
import javax.servlet.http.HttpSession;
46

57
import com.yoti.api.client.Media;
68
import com.yoti.api.client.docs.DocScanClient;
79
import com.yoti.api.client.docs.DocScanException;
810
import com.yoti.api.client.docs.session.create.CreateSessionResult;
11+
import com.yoti.api.client.docs.session.devicemetadata.MetadataResponse;
912
import com.yoti.api.client.docs.session.retrieve.GetSessionResult;
1013
import com.yoti.docscan.demo.service.DocScanService;
1114

@@ -23,6 +26,7 @@
2326
import org.springframework.web.bind.annotation.RequestMapping;
2427
import org.springframework.web.bind.annotation.RequestMethod;
2528
import org.springframework.web.bind.annotation.RequestParam;
29+
import org.springframework.web.bind.annotation.ResponseBody;
2630
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
2731
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
2832
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@@ -68,8 +72,13 @@ public String getIndex(final Model model, HttpSession httpSession) {
6872
}
6973

7074
@RequestMapping(value = "/success", method = RequestMethod.GET)
71-
public String getUserSession(final Model model, HttpSession httpSession) {
72-
String sessionId = (String) httpSession.getAttribute(DOC_SCAN_SESSION_ID);
75+
public String getUserSession(@RequestParam(value = "sessionId") String sessionIdQueryParam, final Model model, HttpSession httpSession) {
76+
String sessionId;
77+
if (sessionIdQueryParam != null) {
78+
sessionId = sessionIdQueryParam;
79+
} else {
80+
sessionId = (String) httpSession.getAttribute(DOC_SCAN_SESSION_ID);
81+
}
7382

7483
if (sessionId == null || sessionId.equals("")) {
7584
return "redirect:/";
@@ -117,6 +126,11 @@ public ResponseEntity<byte[]> getMedia(
117126
return new ResponseEntity<>(media.getContent(), headers, HttpStatus.OK);
118127
}
119128

129+
@RequestMapping(value = "/tracked-devices", method = RequestMethod.GET)
130+
public @ResponseBody List<MetadataResponse> getTrackedDevices(@RequestParam(value = "sessionId") String sessionId) throws DocScanException {
131+
return docScanService.getTrackedDevices(sessionId);
132+
}
133+
120134
@RequestMapping(value = "/privacy-policy", method = RequestMethod.GET)
121135
public String showPrivacyPolicyPage() {
122136
return "privacy";

examples/doc-scan/src/main/java/com/yoti/docscan/demo/service/DocScanService.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.yoti.docscan.demo.service;
22

33
import java.util.Arrays;
4+
import java.util.List;
45

56
import com.yoti.api.client.Media;
67
import com.yoti.api.client.docs.DocScanClient;
@@ -22,6 +23,7 @@
2223
import com.yoti.api.client.docs.session.create.objective.ProofOfAddressObjective;
2324
import com.yoti.api.client.docs.session.create.task.RequestedIdDocTextExtractionTask;
2425
import com.yoti.api.client.docs.session.create.task.RequestedSupplementaryDocTextExtractionTask;
26+
import com.yoti.api.client.docs.session.devicemetadata.MetadataResponse;
2527
import com.yoti.api.client.docs.session.retrieve.GetSessionResult;
2628
import com.yoti.api.client.spi.remote.call.YotiConstants;
2729

@@ -148,4 +150,8 @@ public String getIframeUrl(CreateSessionResult createSessionResult) {
148150
public Media getMedia(String sessionId, String mediaId) throws DocScanException {
149151
return docScanClient.getMediaContent(sessionId, mediaId);
150152
}
153+
154+
public List<MetadataResponse> getTrackedDevices(String sessionId) throws DocScanException {
155+
return docScanClient.getTrackedDevices(sessionId);
156+
}
151157
}

examples/doc-scan/src/main/resources/templates/success.html

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -446,6 +446,40 @@ <h5>Media</h5>
446446
</div>
447447
</div>
448448

449+
<!-- Expanded Document Fields -->
450+
<div class="card" th:if="${document.getExpandedDocumentFields() != null}">
451+
<div class="card-header" th:id="${'expanded-document-fields-' + iter.index}">
452+
<h4 class="mb-0">
453+
<button class="btn btn-link" type="button" data-toggle="collapse"
454+
th:attr="data-target='#collapse-expanded-document-fields-' + ${iter.index}"
455+
th:attrappend="aria-controls='collapse-expanded-document-fields-' + ${iter.index}"
456+
aria-expanded="true">
457+
Expanded Document Fields
458+
</button>
459+
</h4>
460+
</div>
461+
<div th:id="${'collapse-expanded-document-fields-' + iter.index}" class="collapse"
462+
th:aria-labelledby="${'expanded-document-fields-' + iter.index}">
463+
<div class="card-body">
464+
<th:block th:if="${document.getExpandedDocumentFields().getMedia() != null}">
465+
<h5>Media</h5>
466+
<table class="table table-striped table-light">
467+
<tbody>
468+
<tr>
469+
<td>ID</td>
470+
<td>
471+
<a th:href="${'/media?mediaId=' + document.getDocumentFields().getMedia().getId()}"
472+
th:text="${document.getDocumentFields().getMedia().getId()}">
473+
</a>
474+
</td>
475+
</tr>
476+
</tbody>
477+
</table>
478+
</th:block>
479+
</div>
480+
</div>
481+
</div>
482+
449483
<!-- Document ID Photo -->
450484
<div class="card" th:if="${document.getDocumentIdPhoto() != null}">
451485
<div class="card-header" th:id="${'document-id-photo-' + iter.index}">
@@ -1010,6 +1044,17 @@ <h4 class="mb-0">
10101044
</th:block>
10111045
</th:block>
10121046

1047+
<div class="row pt-4">
1048+
<div class="col">
1049+
<h2>
1050+
Tracked Devices
1051+
<a th:href="${'/tracked-devices?sessionId=' + sessionResult.getSessionId()}">
1052+
<span class="badge badge-success" th:href="${'/tracked-devices?sessionId=' + sessionResult.getSessionId()}" th:text="GET">
1053+
</span>
1054+
</a>
1055+
</h2>
1056+
</div>
1057+
</div>
10131058
</div>
10141059

10151060
<div th:replace="fragments/components :: footer"></div>

0 commit comments

Comments
 (0)