Skip to content

Commit

Permalink
Merge pull request #203 from getyoti/release/3.3.0
Browse files Browse the repository at this point in the history
Release 3.3.0
  • Loading branch information
davidgrayston committed Nov 4, 2020
2 parents 4d52474 + f900bf7 commit 62c3d67
Show file tree
Hide file tree
Showing 95 changed files with 2,560 additions and 279 deletions.
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Expand Up @@ -3,7 +3,7 @@ updates:
- package-ecosystem: gomod
directory: "/"
schedule:
interval: daily
interval: monthly
open-pull-requests-limit: 3
target-branch: development
reviewers:
Expand Down
4 changes: 2 additions & 2 deletions _examples/aml/go.sum
Expand Up @@ -3,8 +3,8 @@ github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:x
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
Expand Down
4 changes: 2 additions & 2 deletions _examples/docscan/go.sum
Expand Up @@ -20,8 +20,8 @@ github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:x
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
Expand Down
5 changes: 5 additions & 0 deletions _examples/docscan/handlers.session.go
Expand Up @@ -159,6 +159,11 @@ func getMedia(c *gin.Context) {

media, err := client.GetMediaContent(sessionId, mediaID)

if media == nil && err == nil {
c.Status(http.StatusNoContent)
return
}

if err != nil || sessionId == "" {
c.HTML(
http.StatusBadRequest,
Expand Down
41 changes: 32 additions & 9 deletions _examples/docscan/models.sessionspec.go
Expand Up @@ -4,13 +4,14 @@ import (
"github.com/getyoti/yoti-go-sdk/v3/docscan/session/create"
"github.com/getyoti/yoti-go-sdk/v3/docscan/session/create/check"
"github.com/getyoti/yoti-go-sdk/v3/docscan/session/create/filter"
"github.com/getyoti/yoti-go-sdk/v3/docscan/session/create/objective"
"github.com/getyoti/yoti-go-sdk/v3/docscan/session/create/task"
)

func buildSessionSpec() (sessionSpec *create.SessionSpecification, err error) {
var faceMatchCheck *check.RequestedFaceMatchCheck
faceMatchCheck, err = check.NewRequestedFaceMatchCheckBuilder().
WithManualCheckNever().
WithManualCheckAlways().
Build()
if err != nil {
return nil, err
Expand All @@ -34,7 +35,7 @@ func buildSessionSpec() (sessionSpec *create.SessionSpecification, err error) {

var textExtractionTask *task.RequestedTextExtractionTask
textExtractionTask, err = task.NewRequestedTextExtractionTaskBuilder().
WithManualCheckFallback().
WithManualCheckAlways().
Build()
if err != nil {
return nil, err
Expand All @@ -47,6 +48,14 @@ func buildSessionSpec() (sessionSpec *create.SessionSpecification, err error) {
return nil, err
}

var supplementaryDocTextExtractionTask *task.RequestedSupplementaryDocTextExtractionTask
supplementaryDocTextExtractionTask, err = task.NewRequestedSupplementaryDocTextExtractionTaskBuilder().
WithManualCheckAlways().
Build()
if err != nil {
return nil, err
}

var sdkConfig *create.SDKConfig
sdkConfig, err = create.NewSdkConfigBuilder().
WithAllowsCameraAndUpload().
Expand All @@ -67,17 +76,29 @@ func buildSessionSpec() (sessionSpec *create.SessionSpecification, err error) {
WithIncludedDocumentTypes(
[]string{"PASSPORT"}).
Build()
if err != nil {
return nil, err
}
passportDoc, err := filter.NewRequiredIDDocumentBuilder().
WithFilter(passportFilter).
Build()
if err != nil {
return nil, err
}

drivingLicenceFilter, err := filter.NewRequestedOrthogonalRestrictionsFilterBuilder().
WithIncludedDocumentTypes(
[]string{"DRIVING_LICENCE"}).
Build()
drivingLicenceDoc, err := filter.NewRequiredIDDocumentBuilder().
WithFilter(drivingLicenceFilter).
idDoc, err := filter.NewRequiredIDDocumentBuilder().Build()

proofOfAddressObjective, err := objective.NewProofOfAddressObjectiveBuilder().Build()
if err != nil {
return nil, err
}

supplementaryDoc, err := filter.NewRequiredSupplementaryDocumentBuilder().
WithObjective(proofOfAddressObjective).
Build()
if err != nil {
return nil, err
}

sessionSpec, err = create.NewSessionSpecificationBuilder().
WithClientSessionTokenTTL(600).
Expand All @@ -88,9 +109,11 @@ func buildSessionSpec() (sessionSpec *create.SessionSpecification, err error) {
WithRequestedCheck(livenessCheck).
WithRequestedCheck(idDocsComparisonCheck).
WithRequestedTask(textExtractionTask).
WithRequestedTask(supplementaryDocTextExtractionTask).
WithSDKConfig(sdkConfig).
WithRequiredDocument(passportDoc).
WithRequiredDocument(drivingLicenceDoc).
WithRequiredDocument(idDoc).
WithRequiredDocument(supplementaryDoc).
Build()

if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions _examples/docscan/templates/check.html
Expand Up @@ -103,11 +103,11 @@
<tbody>
<tr>
<td>ID</td>
<td><a href="/media?mediaId={{ .media.ID }}">{{ .media.ID }}</a></td>
<td><a href="/media?mediaId={{ $media.ID }}">{{ $media.ID }}</a></td>
</tr>
<tr>
<td>Type</td>
<td>{{ .media.Type }}</td>
<td>{{ $media.Type }}</td>
</tr>
</tbody>
</table>
Expand Down
209 changes: 206 additions & 3 deletions _examples/docscan/templates/success.html
Expand Up @@ -73,20 +73,20 @@ <h3 class="mb-0">
</div>
</div>
{{ end }}
{{ if .getSessionResult.TextDataChecks }}
{{ if .getSessionResult.IDDocumentTextDataChecks }}
<div class="card">
<div class="card-header" id="text-data-checks">
<h3 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-text-data-checks" aria-expanded="true"
aria-controls="collapse-text-data-checks">
Text Data Checks
ID Document Text Data Checks
</button>
</h3>
</div>
<div id="collapse-text-data-checks" class="collapse" aria-labelledby="text-data-checks">
<div class="card-body">
{{ range $check := .getSessionResult.TextDataChecks }}
{{ range $check := .getSessionResult.IDDocumentTextDataChecks }}
{{ template "check.html" $check }}
{{ end }}
</div>
Expand Down Expand Up @@ -154,10 +154,33 @@ <h3 class="mb-0">
</div>
</div>
{{ end }}

{{ if .getSessionResult.SupplementaryDocumentTextDataChecks }}
<div class="card">
<div class="card-header" id="sup-doc-text-data-checks">
<h3 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-sup-doc-text-data-checks" aria-expanded="true"
aria-controls="collapse-sup-doc-text-data-checks">
Supplementary Document Text Data Checks
</button>
</h3>
</div>
<div id="collapse-sup-doc-text-data-checks" class="collapse" aria-labelledby="sup-doc-text-data-checks">
<div class="card-body">
{{ range $check := .getSessionResult.SupplementaryDocumentTextDataChecks }}
{{ template "check.html" $check }}
{{ end }}
</div>
</div>
</div>
{{ end }}

</div>
</div>
</div>
{{ end }}

{{ if .getSessionResult.Resources.IDDocuments }}
<div class="row pt-4">
<div class="col">
Expand Down Expand Up @@ -347,6 +370,186 @@ <h5 class="card-title">Frame</h5>
</div>
{{ end }}


{{ if .getSessionResult.Resources.SupplementaryDocuments }}
<div class="row pt-4">
<div class="col">
<h2>Supplementary Documents</h2>
</div>
</div>
{{ end }}

{{ range $key, $doc := .getSessionResult.Resources.SupplementaryDocuments }}
<div class="row pt-4">
<div class="col">

<h3>
{{ $doc.DocumentType }} <span
class="badge badge-primary">{{ $doc.IssuingCountry }}</span>
</h3>

<div class="accordion mt-3">
{{ if $doc.DocumentFields }}
<div class="card">
<div class="card-header" id="sup-doc-fields-{{ $key }}">
<h4 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-sup-doc-fields-{{ $key }}"
aria-expanded="true"
aria-controls="collapse-sup-doc-fields-{{ $key }}">
Document Fields
</button>
</h4>
</div>
<div id="collapse-sup-doc-fields-{{ $key }}" class="collapse"
aria-labelledby="sup-doc-fields-{{ $key }}">
<div class="card-body">
{{ if $doc.DocumentFields.Media }}
<h5>Media</h5>
<table class="table table-striped table-light">
<tbody>
<tr>
<td>ID</td>
<td>
<a href="/media?mediaId={{ $doc.DocumentFields.Media.ID }}">
{{ $doc.DocumentFields.Media.ID }}
</a>
</td>
</tr>
</tbody>
</table>
{{ end }}
</div>
</div>
</div>
{{ end }}

{{ if $doc.DocumentFile }}
<div class="card">
<div class="card-header" id="sup-doc-id-photo-{{ $key }}">
<h4 class="mb-0">
{{ if $doc.DocumentFile.Media }}
<a class="btn btn-link" type="button" href="/media?mediaId={{ $doc.DocumentFile.Media.ID }}">
Download File
</a>
{{ end }}
</h4>
</div>
</div>
{{ end }}

{{ if $doc.TextExtractionTasks }}
<div class="card">
<div class="card-header" id="sup-doc-text-extraction-tasks-{{ $key }}">
<h4 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-sup-doc-text-extraction-tasks-{{ $key }}"
aria-expanded="true"
aria-controls="collapse-sup-doc-text-extraction-tasks-{{ $key }}">
Text Extraction Tasks
</button>
</h4>
</div>
<div id="collapse-sup-doc-text-extraction-tasks-{{ $key }}" class="collapse"
aria-labelledby="sup-doc-text-extraction-tasks-{{ $key }}">
<div class="card-body">
{{ range $task := $doc.TextExtractionTasks }}
{{ template "task.html" $task }}

{{ if $task.GeneratedTextDataChecks}}
<h5>Generated Text Data Checks</h5>

{{ range $generatedCheck := $task.GeneratedTextDataChecks }}
<table class="table table-striped">
<tbody>
<tr>
<td>ID</td>
<td>{{ $generatedCheck.ID }}</td>
</tr>
</tbody>
</table>
{{ end }}
{{ end }}

{{ if $task.GeneratedMedia}}
<h5>Generated Media</h5>

{{ range $generatedMedia := $task.GeneratedMedia }}
<table class="table table-striped">
<tbody>
<tr>
<td>ID</td>
<td>
<a href="/media?mediaId={{ $generatedMedia.ID }}">{{ $generatedMedia.ID }}</a>
</td>
</tr>
<tr>
<td>Type</td>
<td>{{ $generatedMedia.Type }}</td>
</tr>
</tbody>
</table>
{{ end }}
{{ end }}
{{ end }}
</div>
</div>
</div>
{{ end }}

{{ if $doc.Pages }}
{{ range $pageNum, $page := $doc.Pages }}
<div class="card">
<div class="card-header" id="sup-doc-pages-{{ $key }}-{{ $pageNum }}">
<h4 class="mb-0">
<button class="btn btn-link" type="button" data-toggle="collapse"
data-target="#collapse-sup-doc-pages-{{ $key }}-{{ $pageNum }}"
aria-expanded="true"
aria-controls="collapse-sup-doc-pages-{{ $key }}-{{ $pageNum }}">
Page {{call $.add $pageNum 1}}
</button>
</h4>
</div>
<div id="collapse-sup-doc-pages-{{ $key }}-{{ $pageNum }}" class="collapse"
aria-labelledby="sup-doc-pages-{{ $key }}-{{ $pageNum }}">

<div class="card-group">
{{ if $page.Media }}
<div class="card" style="width: 18rem;">
<img class="card-img-top"
src="/media?mediaId={{ $page.Media.ID }}"/>
<div class="card-body">
<p>Method: {{ $page.CaptureMethod }}</p>
</div>
</div>
{{ end }}
</div>

{{ if $page.Frames}}
<div class="card-group">
{{ range $frame := $page.Frames }}
{{ if $frame.Media }}
<div class="card">
<img class="card-img-top"
src="/media?mediaId={{ $frame.Media.ID }}"/>
<div class="card-body">
<h5 class="card-title">Frame</h5>
</div>
</div>
{{ end }}
{{ end }}
</div>
{{ end }}

</div>
</div>
{{ end }}
{{ end }}
</div>
</div>
</div>
{{ end }}

{{ if .getSessionResult.Resources.ZoomLivenessResources}}
<div class="row pt-4">
<div class="col">
Expand Down

0 comments on commit 62c3d67

Please sign in to comment.