Skip to content

Commit

Permalink
Merge pull request #244 from getyoti/release/3.13.0
Browse files Browse the repository at this point in the history
Release 3.13.0
  • Loading branch information
davidgrayston authored Oct 27, 2020
2 parents c495105 + 7c5075b commit b55a6bb
Show file tree
Hide file tree
Showing 60 changed files with 1,280 additions and 43 deletions.
18 changes: 17 additions & 1 deletion examples/doc-scan/src/controllers/index.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ const {
RequiredIdDocumentBuilder,
OrthogonalRestrictionsFilterBuilder,
RequestedIdDocumentComparisonCheckBuilder,
RequiredSupplementaryDocumentBuilder,
ProofOfAddressObjectiveBuilder,
RequestedSupplementaryDocTextExtractionTaskBuilder,
} = require('yoti');

/**
Expand All @@ -28,6 +31,7 @@ async function createSession() {
.withUserTrackingId('some-user-tracking-id')
.withRequestedCheck(
new RequestedDocumentAuthenticityCheckBuilder()
.withManualCheckAlways()
.build()
)
.withRequestedCheck(
Expand All @@ -46,10 +50,15 @@ async function createSession() {
)
.withRequestedTask(
new RequestedTextExtractionTaskBuilder()
.withManualCheckNever()
.withManualCheckAlways()
.withChipDataDesired()
.build()
)
.withRequestedTask(
new RequestedSupplementaryDocTextExtractionTaskBuilder()
.withManualCheckAlways()
.build()
)
.withSdkConfig(
new SdkConfigBuilder()
.withAllowsCameraAndUpload()
Expand Down Expand Up @@ -80,6 +89,13 @@ async function createSession() {
)
.build()
)
.withRequiredDocument(
(new RequiredSupplementaryDocumentBuilder())
.withObjective(
(new ProofOfAddressObjectiveBuilder()).build()
)
.build()
)
.build();

return docScanClient.createSession(sessionSpec);
Expand Down
248 changes: 238 additions & 10 deletions examples/doc-scan/views/pages/success.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
</div>
<% } %>
<% if (sessionResult.getTextDataChecks().length > 0) { %>
<% if (sessionResult.getIdDocumentTextDataChecks().length > 0) { %>
<div class="card">
<div class="card-header" id="text-data-checks">
<h3 class="mb-0">
Expand All @@ -93,7 +93,7 @@
<div id="collapse-text-data-checks" class="collapse" aria-labelledby="text-data-checks">
<div class="card-body">
<% sessionResult.getTextDataChecks().forEach(function(check){ %>
<% sessionResult.getIdDocumentTextDataChecks().forEach(function(check){ %>
<%- include('partials/check', { check }); %>
<% }); %>
</div>
Expand Down Expand Up @@ -168,6 +168,29 @@
</div>
</div>
<% } %>
<% if (sessionResult.getSupplementaryDocumentTextDataChecks().length > 0) { %>
<div class="card">
<div class="card-header" id="sup-text-data-checks">
<h3 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-sup-text-data-checks" aria-expanded="true"
aria-controls="collapse-sup-text-data-checks">
Supplementary Document Text Data Checks
</button>
</h3>
</div>
<div id="collapse-sup-text-data-checks" class="collapse" aria-labelledby="sup-text-data-checks">
<div class="card-body">
<% sessionResult.getSupplementaryDocumentTextDataChecks().forEach(function(check){ %>
<%- include('partials/check', { check }); %>
<% }); %>
</div>
</div>
</div>
<% } %>
</div>
</div>
</div>
Expand Down Expand Up @@ -305,21 +328,210 @@
<% } %>
<% if (document.getPages().length > 0) { %>
<%
if (document.getPages().length > 0) {
let pageNum = 0;
document.getPages().forEach(function(page) {
pageNum++;
%>
<div class="card">
<div class="card-header" id="document-pages-<%= docNum %>-<%= pageNum %>">
<h4 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-document-pages-<%= docNum %>-<%= pageNum %>" aria-expanded="true"
aria-controls="collapse-document-pages-<%= docNum %>-<%= pageNum %>">
Page <%= pageNum %>
</button>
</h4>
</div>
<div id="collapse-document-pages-<%= docNum %>-<%= pageNum %>" class="collapse" aria-labelledby="document-pages-<%= docNum %>-<%= pageNum %>">
<div class="card-group">
<% if (page.getMedia()) { %>
<div class="card" style="width: 18rem;">
<img class="card-img-top" src="/media?mediaId=<%= page.getMedia().getId() %>" />
<div class="card-body">
<p>Method: <%= page.getCaptureMethod(); %></p>
</div>
</div>
<% } %>
</div>
<% if (page.getFrames().length > 0) { %>
<div class="card-group">
<% page.getFrames().forEach(function(frame) { %>
<% if (frame.getMedia()) { %>
<div class="card">
<img class="card-img-top" src="/media?mediaId=<%= frame.getMedia().getId() %>" />
<div class="card-body">
<h5 class="card-title">Frame</h5>
</div>
</div>
<% } %>
<% }); %>
</div>
<% } %>
</div>
</div>
<% }); %>
<% } %>
</div>
</div>
</div>
<% }); %>
<% } %>


<% if (sessionResult.getResources().getSupplementaryDocuments().length > 0) { %>
<div class="row pt-4">
<div class="col">
<h2>Supplementary Documents</h2>
</div>
</div>
<%
let supDocNum = 0;
sessionResult.getResources().getSupplementaryDocuments().forEach(function(document) {
supDocNum++;
%>
<div class="row pt-4">
<div class="col">
<h3><%= document.getDocumentType(); %> <span class="badge badge-primary"><%= document.getIssuingCountry(); %></span></h3>
<div class="accordion mt-3">
<% if (document.getDocumentFields()) { %>
<div class="card">
<div class="card-header" id="document-pages-<%= docNum %>">
<div class="card-header" id="sup-doc-fields-<%= supDocNum %>">
<h4 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-document-pages-<%= docNum %>" aria-expanded="true"
aria-controls="collapse-document-pages-<%= docNum %>">
Pages
data-target="#collapse-sup-doc-fields-<%= supDocNum %>" aria-expanded="true"
aria-controls="collapse-sup-doc-fields-<%= supDocNum %>">
Document Fields
</button>
</h4>
</div>
<div id="collapse-document-pages-<%= docNum %>" class="collapse" aria-labelledby="document-pages-<%= docNum %>">
<div id="collapse-sup-doc-fields-<%= supDocNum %>" class="collapse" aria-labelledby="sup-doc-fields-<%= supDocNum %>">
<div class="card-body">
<% if (document.getDocumentFields().getMedia()) { %>
<h5>Media</h5>
<table class="table table-striped table-light">
<tbody>
<tr>
<td>ID</td>
<td>
<a
href="/media?mediaId=<%= document.getDocumentFields().getMedia().getId() %>">
<%= document.getDocumentFields().getMedia().getId() %>
</a>
</td>
</tr>
</tbody>
</table>
<% } %>
</div>
</div>
</div>
<% } %>
<% if (document.getTextExtractionTasks().length > 0) { %>
<div class="card">
<div class="card-header" id="sup-doc-text-extraction-tasks-<%= supDocNum %>">
<h4 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-sup-doc-text-extraction-tasks-<%= supDocNum %>" aria-expanded="true"
aria-controls="collapse-sup-doc-text-extraction-tasks-<%= supDocNum %>">
Text Extraction Tasks
</button>
</h4>
</div>
<div id="collapse-sup-doc-text-extraction-tasks-<%= supDocNum %>" class="collapse" aria-labelledby="sup-doc-text-extraction-tasks-<%= supDocNum %>">
<div class="card-body">
<% document.getTextExtractionTasks().forEach(function(task) { %>
<%- include('partials/task', { task }); %>
<% if (task.getGeneratedTextDataChecks().length > 0) { %>
<h5>Generated Text Data Checks</h5>
<% task.getGeneratedTextDataChecks().forEach(function(check) { %>
<table class="table table-striped">
<tbody>
<tr>
<td>ID</td>
<td><%= check.getId() %></td>
</tr>
</tbody>
</table>
<% }); %>
<% } %>
<% if (task.getGeneratedMedia().length > 0) { %>
<h5>Generated Media</h5>
<% task.getGeneratedMedia().forEach(function(media) { %>
<table class="table table-striped">
<tbody>
<tr>
<td>ID</td>
<td>
<a href="/media?mediaId=<%= media.getId() %>"><%= media.getId() %></a>
</td>
</tr>
<tr>
<td>Type</td>
<td><%= media.getType() %></td>
</tr>
</tbody>
</table>
<% }); %>
<% } %>
<% }); %>
</div>
</div>
</div>
<% } %>
<% if (document.getDocumentFile()) { %>
<div class="card">
<div class="card-header" id="sup-doc-file-<%= supDocNum %>">
<h4 class="mb-0">
<button class="btn btn-link" type="button">
<a href="/media?mediaId=<%= document.getDocumentFile().getMedia().getId() %>">
Download File
</a>
</button>
</h4>
</div>
</div>
<% } %>
<%
if (document.getPages().length > 0) {
let pageNum = 0;
document.getPages().forEach(function(page) {
pageNum++;
%>
<div class="card">
<div class="card-header" id="sup-doc-pages-<%= supDocNum %>-<%= pageNum %>">
<h4 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-sup-doc-pages-<%= supDocNum %>-<%= pageNum %>" aria-expanded="true"
aria-controls="collapse-sup-doc-pages-<%= supDocNum %>-<%= pageNum %>">
Page <%= pageNum %>
</button>
</h4>
</div>
<div id="collapse-sup-doc-pages-<%= supDocNum %>-<%= pageNum %>" class="collapse" aria-labelledby="sup-doc-pages-<%= supDocNum %>-<%= pageNum %>">
<div class="card-group">
<% document.getPages().forEach(function(page) { %>
<% if (page.getMedia()) { %>
<div class="card" style="width: 18rem;">
<img class="card-img-top" src="/media?mediaId=<%= page.getMedia().getId() %>" />
Expand All @@ -328,11 +540,27 @@
</div>
</div>
<% } %>
</div>
<% if (page.getFrames().length > 0) { %>
<div class="card-group">
<% page.getFrames().forEach(function(frame) { %>
<% if (frame.getMedia()) { %>
<div class="card">
<img class="card-img-top" src="/media?mediaId=<%= frame.getMedia().getId() %>" />
<div class="card-body">
<h5 class="card-title">Frame</h5>
</div>
</div>
<% } %>
<% }); %>
</div>
<% } %>
</div>
</div>
</div>
<% }); %>
<% } %>
</div>
Expand Down
6 changes: 6 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,14 @@ const {
RequestedFaceMatchCheckBuilder,
RequestedLivenessCheckBuilder,
RequestedTextExtractionTaskBuilder,
RequestedSupplementaryDocTextExtractionTaskBuilder,
DocScanConstants,
RequiredIdDocumentBuilder,
RequiredSupplementaryDocumentBuilder,
DocumentRestrictionsFilterBuilder,
DocumentRestrictionBuilder,
OrthogonalRestrictionsFilterBuilder,
ProofOfAddressObjectiveBuilder,
} = require('./src/doc_scan_service');

module.exports = {
Expand Down Expand Up @@ -64,8 +67,11 @@ module.exports = {
RequestedFaceMatchCheckBuilder,
RequestedLivenessCheckBuilder,
RequestedTextExtractionTaskBuilder,
RequestedSupplementaryDocTextExtractionTaskBuilder,
RequiredIdDocumentBuilder,
RequiredSupplementaryDocumentBuilder,
DocumentRestrictionsFilterBuilder,
DocumentRestrictionBuilder,
OrthogonalRestrictionsFilterBuilder,
ProofOfAddressObjectiveBuilder,
};
Loading

0 comments on commit b55a6bb

Please sign in to comment.