-
Notifications
You must be signed in to change notification settings - Fork 21
Expand file tree
/
Copy pathIdDocumentResourceResponse.php
More file actions
122 lines (102 loc) · 2.76 KB
/
Copy pathIdDocumentResourceResponse.php
File metadata and controls
122 lines (102 loc) · 2.76 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
<?php
namespace Yoti\DocScan\Session\Retrieve;
class IdDocumentResourceResponse extends ResourceResponse
{
/**
* @var string|null
*/
private $documentType;
/**
* @var string|null
*/
private $issuingCountry;
/**
* @var PageResponse[]
*/
private $pages = [];
/**
* @var DocumentFieldsResponse|null
*/
private $documentFields;
/**
* @var ExpandedDocumentFieldsResponse|null
*/
private $expandedDocumentFields;
/**
* @var DocumentIdPhotoResponse|null
*/
private $documentIdPhoto;
/**
* DocumentResourceResponse constructor.
* @param array<string, mixed> $idDocument
*/
public function __construct(array $idDocument)
{
parent::__construct($idDocument);
$this->documentType = $idDocument['document_type'] ?? null;
$this->issuingCountry = $idDocument['issuing_country'] ?? null;
if (isset($idDocument['pages'])) {
foreach ($idDocument['pages'] as $page) {
$this->pages[] = new PageResponse($page);
}
}
$this->documentFields = isset($idDocument['document_fields'])
? new DocumentFieldsResponse($idDocument['document_fields'])
: null;
$this->expandedDocumentFields = isset($idDocument['expanded_document_fields'])
? new ExpandedDocumentFieldsResponse($idDocument['expanded_document_fields'])
: null;
$this->documentIdPhoto = isset($idDocument['document_id_photo'])
? new DocumentIdPhotoResponse($idDocument['document_id_photo'])
: null;
}
/**
* @return string|null
*/
public function getDocumentType(): ?string
{
return $this->documentType;
}
/**
* @return string|null
*/
public function getIssuingCountry(): ?string
{
return $this->issuingCountry;
}
/**
* @return PageResponse[]
*/
public function getPages(): array
{
return $this->pages;
}
/**
* @return DocumentFieldsResponse|null
*/
public function getDocumentFields(): ?DocumentFieldsResponse
{
return $this->documentFields;
}
/**
* @return ExpandedDocumentFieldsResponse|null
*/
public function getExpandedDocumentFields(): ?ExpandedDocumentFieldsResponse
{
return $this->expandedDocumentFields;
}
/**
* @return DocumentIdPhotoResponse|null
*/
public function getDocumentIdPhoto(): ?DocumentIdPhotoResponse
{
return $this->documentIdPhoto;
}
/**
* @return TextExtractionTaskResponse[]
*/
public function getTextExtractionTasks(): array
{
return $this->filterTasksByType(TextExtractionTaskResponse::class);
}
}