dataleon 0.1.0.pre.alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.ignore +2 -0
- data/CHANGELOG.md +50 -0
- data/README.md +257 -0
- data/SECURITY.md +27 -0
- data/lib/dataleon/client.rb +80 -0
- data/lib/dataleon/errors.rb +214 -0
- data/lib/dataleon/file_part.rb +55 -0
- data/lib/dataleon/internal/transport/base_client.rb +563 -0
- data/lib/dataleon/internal/transport/pooled_net_requester.rb +201 -0
- data/lib/dataleon/internal/type/array_of.rb +168 -0
- data/lib/dataleon/internal/type/base_model.rb +531 -0
- data/lib/dataleon/internal/type/base_page.rb +55 -0
- data/lib/dataleon/internal/type/boolean.rb +77 -0
- data/lib/dataleon/internal/type/converter.rb +327 -0
- data/lib/dataleon/internal/type/enum.rb +131 -0
- data/lib/dataleon/internal/type/file_input.rb +108 -0
- data/lib/dataleon/internal/type/hash_of.rb +188 -0
- data/lib/dataleon/internal/type/request_parameters.rb +42 -0
- data/lib/dataleon/internal/type/union.rb +237 -0
- data/lib/dataleon/internal/type/unknown.rb +81 -0
- data/lib/dataleon/internal/util.rb +914 -0
- data/lib/dataleon/internal.rb +20 -0
- data/lib/dataleon/models/check.rb +50 -0
- data/lib/dataleon/models/companies/document_list_params.rb +16 -0
- data/lib/dataleon/models/companies/document_upload_params.rb +82 -0
- data/lib/dataleon/models/company_create_params.rb +228 -0
- data/lib/dataleon/models/company_delete_params.rb +14 -0
- data/lib/dataleon/models/company_list_params.rb +108 -0
- data/lib/dataleon/models/company_list_response.rb +8 -0
- data/lib/dataleon/models/company_registration.rb +964 -0
- data/lib/dataleon/models/company_retrieve_params.rb +30 -0
- data/lib/dataleon/models/company_update_params.rb +228 -0
- data/lib/dataleon/models/individual.rb +805 -0
- data/lib/dataleon/models/individual_create_params.rb +174 -0
- data/lib/dataleon/models/individual_delete_params.rb +14 -0
- data/lib/dataleon/models/individual_list_params.rb +108 -0
- data/lib/dataleon/models/individual_list_response.rb +8 -0
- data/lib/dataleon/models/individual_retrieve_params.rb +30 -0
- data/lib/dataleon/models/individual_update_params.rb +174 -0
- data/lib/dataleon/models/individuals/document_list_params.rb +16 -0
- data/lib/dataleon/models/individuals/document_response.rb +98 -0
- data/lib/dataleon/models/individuals/document_upload_params.rb +82 -0
- data/lib/dataleon/models/individuals/generic_document.rb +132 -0
- data/lib/dataleon/models/individuals/kbis.rb +326 -0
- data/lib/dataleon/models.rb +71 -0
- data/lib/dataleon/request_options.rb +77 -0
- data/lib/dataleon/resources/companies/documents.rb +65 -0
- data/lib/dataleon/resources/companies.rb +164 -0
- data/lib/dataleon/resources/individuals/documents.rb +65 -0
- data/lib/dataleon/resources/individuals.rb +164 -0
- data/lib/dataleon/version.rb +5 -0
- data/lib/dataleon.rb +79 -0
- data/manifest.yaml +15 -0
- data/rbi/dataleon/client.rbi +56 -0
- data/rbi/dataleon/errors.rbi +178 -0
- data/rbi/dataleon/file_part.rbi +37 -0
- data/rbi/dataleon/internal/transport/base_client.rbi +293 -0
- data/rbi/dataleon/internal/transport/pooled_net_requester.rbi +79 -0
- data/rbi/dataleon/internal/type/array_of.rbi +104 -0
- data/rbi/dataleon/internal/type/base_model.rbi +302 -0
- data/rbi/dataleon/internal/type/base_page.rbi +42 -0
- data/rbi/dataleon/internal/type/boolean.rbi +58 -0
- data/rbi/dataleon/internal/type/converter.rbi +216 -0
- data/rbi/dataleon/internal/type/enum.rbi +82 -0
- data/rbi/dataleon/internal/type/file_input.rbi +59 -0
- data/rbi/dataleon/internal/type/hash_of.rbi +104 -0
- data/rbi/dataleon/internal/type/request_parameters.rbi +29 -0
- data/rbi/dataleon/internal/type/union.rbi +128 -0
- data/rbi/dataleon/internal/type/unknown.rbi +58 -0
- data/rbi/dataleon/internal/util.rbi +487 -0
- data/rbi/dataleon/internal.rbi +16 -0
- data/rbi/dataleon/models/check.rbi +83 -0
- data/rbi/dataleon/models/companies/document_list_params.rbi +32 -0
- data/rbi/dataleon/models/companies/document_upload_params.rbi +266 -0
- data/rbi/dataleon/models/company_create_params.rbi +361 -0
- data/rbi/dataleon/models/company_delete_params.rbi +27 -0
- data/rbi/dataleon/models/company_list_params.rbi +182 -0
- data/rbi/dataleon/models/company_list_response.rbi +11 -0
- data/rbi/dataleon/models/company_registration.rbi +1628 -0
- data/rbi/dataleon/models/company_retrieve_params.rbi +57 -0
- data/rbi/dataleon/models/company_update_params.rbi +361 -0
- data/rbi/dataleon/models/individual.rbi +1281 -0
- data/rbi/dataleon/models/individual_create_params.rbi +323 -0
- data/rbi/dataleon/models/individual_delete_params.rbi +27 -0
- data/rbi/dataleon/models/individual_list_params.rbi +193 -0
- data/rbi/dataleon/models/individual_list_response.rbi +11 -0
- data/rbi/dataleon/models/individual_retrieve_params.rbi +57 -0
- data/rbi/dataleon/models/individual_update_params.rbi +323 -0
- data/rbi/dataleon/models/individuals/document_list_params.rbi +32 -0
- data/rbi/dataleon/models/individuals/document_response.rbi +190 -0
- data/rbi/dataleon/models/individuals/document_upload_params.rbi +266 -0
- data/rbi/dataleon/models/individuals/generic_document.rbi +252 -0
- data/rbi/dataleon/models/individuals/kbis.rbi +513 -0
- data/rbi/dataleon/models.rbi +33 -0
- data/rbi/dataleon/request_options.rbi +59 -0
- data/rbi/dataleon/resources/companies/documents.rbi +52 -0
- data/rbi/dataleon/resources/companies.rbi +135 -0
- data/rbi/dataleon/resources/individuals/documents.rbi +52 -0
- data/rbi/dataleon/resources/individuals.rbi +137 -0
- data/rbi/dataleon/version.rbi +5 -0
- data/sig/dataleon/client.rbs +28 -0
- data/sig/dataleon/errors.rbs +110 -0
- data/sig/dataleon/file_part.rbs +21 -0
- data/sig/dataleon/internal/transport/base_client.rbs +131 -0
- data/sig/dataleon/internal/transport/pooled_net_requester.rbs +45 -0
- data/sig/dataleon/internal/type/array_of.rbs +48 -0
- data/sig/dataleon/internal/type/base_model.rbs +102 -0
- data/sig/dataleon/internal/type/base_page.rbs +24 -0
- data/sig/dataleon/internal/type/boolean.rbs +26 -0
- data/sig/dataleon/internal/type/converter.rbs +79 -0
- data/sig/dataleon/internal/type/enum.rbs +32 -0
- data/sig/dataleon/internal/type/file_input.rbs +25 -0
- data/sig/dataleon/internal/type/hash_of.rbs +48 -0
- data/sig/dataleon/internal/type/request_parameters.rbs +17 -0
- data/sig/dataleon/internal/type/union.rbs +52 -0
- data/sig/dataleon/internal/type/unknown.rbs +26 -0
- data/sig/dataleon/internal/util.rbs +185 -0
- data/sig/dataleon/internal.rbs +9 -0
- data/sig/dataleon/models/check.rbs +50 -0
- data/sig/dataleon/models/companies/document_list_params.rbs +17 -0
- data/sig/dataleon/models/companies/document_upload_params.rbs +119 -0
- data/sig/dataleon/models/company_create_params.rbs +209 -0
- data/sig/dataleon/models/company_delete_params.rbs +15 -0
- data/sig/dataleon/models/company_list_params.rbs +120 -0
- data/sig/dataleon/models/company_list_response.rbs +7 -0
- data/sig/dataleon/models/company_registration.rbs +847 -0
- data/sig/dataleon/models/company_retrieve_params.rbs +32 -0
- data/sig/dataleon/models/company_update_params.rbs +209 -0
- data/sig/dataleon/models/individual.rbs +717 -0
- data/sig/dataleon/models/individual_create_params.rbs +172 -0
- data/sig/dataleon/models/individual_delete_params.rbs +15 -0
- data/sig/dataleon/models/individual_list_params.rbs +120 -0
- data/sig/dataleon/models/individual_list_response.rbs +7 -0
- data/sig/dataleon/models/individual_retrieve_params.rbs +32 -0
- data/sig/dataleon/models/individual_update_params.rbs +172 -0
- data/sig/dataleon/models/individuals/document_list_params.rbs +17 -0
- data/sig/dataleon/models/individuals/document_response.rbs +101 -0
- data/sig/dataleon/models/individuals/document_upload_params.rbs +119 -0
- data/sig/dataleon/models/individuals/generic_document.rbs +132 -0
- data/sig/dataleon/models/individuals/kbis.rbs +303 -0
- data/sig/dataleon/models.rbs +31 -0
- data/sig/dataleon/request_options.rbs +34 -0
- data/sig/dataleon/resources/companies/documents.rbs +22 -0
- data/sig/dataleon/resources/companies.rbs +50 -0
- data/sig/dataleon/resources/individuals/documents.rbs +22 -0
- data/sig/dataleon/resources/individuals.rbs +50 -0
- data/sig/dataleon/version.rbs +3 -0
- metadata +206 -0
|
@@ -0,0 +1,1628 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Dataleon
|
|
4
|
+
module Models
|
|
5
|
+
class CompanyRegistration < Dataleon::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(Dataleon::CompanyRegistration, Dataleon::Internal::AnyHash)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# List of AML (Anti-Money Laundering) suspicion entries linked to the company,
|
|
12
|
+
# including their details.
|
|
13
|
+
sig do
|
|
14
|
+
returns(
|
|
15
|
+
T.nilable(T::Array[Dataleon::CompanyRegistration::AmlSuspicion])
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
attr_reader :aml_suspicions
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
aml_suspicions:
|
|
23
|
+
T::Array[Dataleon::CompanyRegistration::AmlSuspicion::OrHash]
|
|
24
|
+
).void
|
|
25
|
+
end
|
|
26
|
+
attr_writer :aml_suspicions
|
|
27
|
+
|
|
28
|
+
# Digital certificate associated with the company, if any, including its creation
|
|
29
|
+
# timestamp and filename.
|
|
30
|
+
sig { returns(T.nilable(Dataleon::CompanyRegistration::Certificat)) }
|
|
31
|
+
attr_reader :certificat
|
|
32
|
+
|
|
33
|
+
sig do
|
|
34
|
+
params(
|
|
35
|
+
certificat: Dataleon::CompanyRegistration::Certificat::OrHash
|
|
36
|
+
).void
|
|
37
|
+
end
|
|
38
|
+
attr_writer :certificat
|
|
39
|
+
|
|
40
|
+
# List of verification or validation checks applied to the company, including
|
|
41
|
+
# their results and messages.
|
|
42
|
+
sig { returns(T.nilable(T::Array[Dataleon::Check])) }
|
|
43
|
+
attr_reader :checks
|
|
44
|
+
|
|
45
|
+
sig { params(checks: T::Array[Dataleon::Check::OrHash]).void }
|
|
46
|
+
attr_writer :checks
|
|
47
|
+
|
|
48
|
+
# Main information about the company being registered, including legal name,
|
|
49
|
+
# registration ID, and address.
|
|
50
|
+
sig { returns(T.nilable(Dataleon::CompanyRegistration::Company)) }
|
|
51
|
+
attr_reader :company
|
|
52
|
+
|
|
53
|
+
sig do
|
|
54
|
+
params(company: Dataleon::CompanyRegistration::Company::OrHash).void
|
|
55
|
+
end
|
|
56
|
+
attr_writer :company
|
|
57
|
+
|
|
58
|
+
# All documents submitted or associated with the company, including their metadata
|
|
59
|
+
# and processing status.
|
|
60
|
+
sig do
|
|
61
|
+
returns(T.nilable(T::Array[Dataleon::Individuals::GenericDocument]))
|
|
62
|
+
end
|
|
63
|
+
attr_reader :documents
|
|
64
|
+
|
|
65
|
+
sig do
|
|
66
|
+
params(
|
|
67
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument::OrHash]
|
|
68
|
+
).void
|
|
69
|
+
end
|
|
70
|
+
attr_writer :documents
|
|
71
|
+
|
|
72
|
+
# List of members or actors associated with the company, including personal and
|
|
73
|
+
# ownership information.
|
|
74
|
+
sig do
|
|
75
|
+
returns(T.nilable(T::Array[Dataleon::CompanyRegistration::Member]))
|
|
76
|
+
end
|
|
77
|
+
attr_reader :members
|
|
78
|
+
|
|
79
|
+
sig do
|
|
80
|
+
params(
|
|
81
|
+
members: T::Array[Dataleon::CompanyRegistration::Member::OrHash]
|
|
82
|
+
).void
|
|
83
|
+
end
|
|
84
|
+
attr_writer :members
|
|
85
|
+
|
|
86
|
+
# Admin or internal portal URL for viewing the company's details, typically used
|
|
87
|
+
# by internal users.
|
|
88
|
+
sig { returns(T.nilable(String)) }
|
|
89
|
+
attr_reader :portal_url
|
|
90
|
+
|
|
91
|
+
sig { params(portal_url: String).void }
|
|
92
|
+
attr_writer :portal_url
|
|
93
|
+
|
|
94
|
+
# Custom key-value metadata fields associated with the company, allowing for
|
|
95
|
+
# flexible data storage.
|
|
96
|
+
sig do
|
|
97
|
+
returns(T.nilable(T::Array[Dataleon::CompanyRegistration::Property]))
|
|
98
|
+
end
|
|
99
|
+
attr_reader :properties
|
|
100
|
+
|
|
101
|
+
sig do
|
|
102
|
+
params(
|
|
103
|
+
properties: T::Array[Dataleon::CompanyRegistration::Property::OrHash]
|
|
104
|
+
).void
|
|
105
|
+
end
|
|
106
|
+
attr_writer :properties
|
|
107
|
+
|
|
108
|
+
# Risk assessment associated with the company, including a risk code, reason, and
|
|
109
|
+
# confidence score.
|
|
110
|
+
sig { returns(T.nilable(Dataleon::CompanyRegistration::Risk)) }
|
|
111
|
+
attr_reader :risk
|
|
112
|
+
|
|
113
|
+
sig { params(risk: Dataleon::CompanyRegistration::Risk::OrHash).void }
|
|
114
|
+
attr_writer :risk
|
|
115
|
+
|
|
116
|
+
# Optional identifier indicating the source of the company record, useful for
|
|
117
|
+
# tracking or integration purposes.
|
|
118
|
+
sig { returns(T.nilable(String)) }
|
|
119
|
+
attr_reader :source_id
|
|
120
|
+
|
|
121
|
+
sig { params(source_id: String).void }
|
|
122
|
+
attr_writer :source_id
|
|
123
|
+
|
|
124
|
+
# Technical metadata related to the request, such as IP address, QR code settings,
|
|
125
|
+
# and callback URLs.
|
|
126
|
+
sig { returns(T.nilable(Dataleon::CompanyRegistration::TechnicalData)) }
|
|
127
|
+
attr_reader :technical_data
|
|
128
|
+
|
|
129
|
+
sig do
|
|
130
|
+
params(
|
|
131
|
+
technical_data: Dataleon::CompanyRegistration::TechnicalData::OrHash
|
|
132
|
+
).void
|
|
133
|
+
end
|
|
134
|
+
attr_writer :technical_data
|
|
135
|
+
|
|
136
|
+
# Public-facing webview URL for the company’s identification process, allowing
|
|
137
|
+
# external access to the company data.
|
|
138
|
+
sig { returns(T.nilable(String)) }
|
|
139
|
+
attr_reader :webview_url
|
|
140
|
+
|
|
141
|
+
sig { params(webview_url: String).void }
|
|
142
|
+
attr_writer :webview_url
|
|
143
|
+
|
|
144
|
+
sig do
|
|
145
|
+
params(
|
|
146
|
+
aml_suspicions:
|
|
147
|
+
T::Array[Dataleon::CompanyRegistration::AmlSuspicion::OrHash],
|
|
148
|
+
certificat: Dataleon::CompanyRegistration::Certificat::OrHash,
|
|
149
|
+
checks: T::Array[Dataleon::Check::OrHash],
|
|
150
|
+
company: Dataleon::CompanyRegistration::Company::OrHash,
|
|
151
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument::OrHash],
|
|
152
|
+
members: T::Array[Dataleon::CompanyRegistration::Member::OrHash],
|
|
153
|
+
portal_url: String,
|
|
154
|
+
properties: T::Array[Dataleon::CompanyRegistration::Property::OrHash],
|
|
155
|
+
risk: Dataleon::CompanyRegistration::Risk::OrHash,
|
|
156
|
+
source_id: String,
|
|
157
|
+
technical_data: Dataleon::CompanyRegistration::TechnicalData::OrHash,
|
|
158
|
+
webview_url: String
|
|
159
|
+
).returns(T.attached_class)
|
|
160
|
+
end
|
|
161
|
+
def self.new(
|
|
162
|
+
# List of AML (Anti-Money Laundering) suspicion entries linked to the company,
|
|
163
|
+
# including their details.
|
|
164
|
+
aml_suspicions: nil,
|
|
165
|
+
# Digital certificate associated with the company, if any, including its creation
|
|
166
|
+
# timestamp and filename.
|
|
167
|
+
certificat: nil,
|
|
168
|
+
# List of verification or validation checks applied to the company, including
|
|
169
|
+
# their results and messages.
|
|
170
|
+
checks: nil,
|
|
171
|
+
# Main information about the company being registered, including legal name,
|
|
172
|
+
# registration ID, and address.
|
|
173
|
+
company: nil,
|
|
174
|
+
# All documents submitted or associated with the company, including their metadata
|
|
175
|
+
# and processing status.
|
|
176
|
+
documents: nil,
|
|
177
|
+
# List of members or actors associated with the company, including personal and
|
|
178
|
+
# ownership information.
|
|
179
|
+
members: nil,
|
|
180
|
+
# Admin or internal portal URL for viewing the company's details, typically used
|
|
181
|
+
# by internal users.
|
|
182
|
+
portal_url: nil,
|
|
183
|
+
# Custom key-value metadata fields associated with the company, allowing for
|
|
184
|
+
# flexible data storage.
|
|
185
|
+
properties: nil,
|
|
186
|
+
# Risk assessment associated with the company, including a risk code, reason, and
|
|
187
|
+
# confidence score.
|
|
188
|
+
risk: nil,
|
|
189
|
+
# Optional identifier indicating the source of the company record, useful for
|
|
190
|
+
# tracking or integration purposes.
|
|
191
|
+
source_id: nil,
|
|
192
|
+
# Technical metadata related to the request, such as IP address, QR code settings,
|
|
193
|
+
# and callback URLs.
|
|
194
|
+
technical_data: nil,
|
|
195
|
+
# Public-facing webview URL for the company’s identification process, allowing
|
|
196
|
+
# external access to the company data.
|
|
197
|
+
webview_url: nil
|
|
198
|
+
)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
sig do
|
|
202
|
+
override.returns(
|
|
203
|
+
{
|
|
204
|
+
aml_suspicions:
|
|
205
|
+
T::Array[Dataleon::CompanyRegistration::AmlSuspicion],
|
|
206
|
+
certificat: Dataleon::CompanyRegistration::Certificat,
|
|
207
|
+
checks: T::Array[Dataleon::Check],
|
|
208
|
+
company: Dataleon::CompanyRegistration::Company,
|
|
209
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument],
|
|
210
|
+
members: T::Array[Dataleon::CompanyRegistration::Member],
|
|
211
|
+
portal_url: String,
|
|
212
|
+
properties: T::Array[Dataleon::CompanyRegistration::Property],
|
|
213
|
+
risk: Dataleon::CompanyRegistration::Risk,
|
|
214
|
+
source_id: String,
|
|
215
|
+
technical_data: Dataleon::CompanyRegistration::TechnicalData,
|
|
216
|
+
webview_url: String
|
|
217
|
+
}
|
|
218
|
+
)
|
|
219
|
+
end
|
|
220
|
+
def to_hash
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
class AmlSuspicion < Dataleon::Internal::Type::BaseModel
|
|
224
|
+
OrHash =
|
|
225
|
+
T.type_alias do
|
|
226
|
+
T.any(
|
|
227
|
+
Dataleon::CompanyRegistration::AmlSuspicion,
|
|
228
|
+
Dataleon::Internal::AnyHash
|
|
229
|
+
)
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
# Human-readable description or title for the suspicious finding.
|
|
233
|
+
sig { returns(T.nilable(String)) }
|
|
234
|
+
attr_reader :caption
|
|
235
|
+
|
|
236
|
+
sig { params(caption: String).void }
|
|
237
|
+
attr_writer :caption
|
|
238
|
+
|
|
239
|
+
# Country associated with the suspicion (ISO 3166-1 alpha-2 code).
|
|
240
|
+
sig { returns(T.nilable(String)) }
|
|
241
|
+
attr_reader :country
|
|
242
|
+
|
|
243
|
+
sig { params(country: String).void }
|
|
244
|
+
attr_writer :country
|
|
245
|
+
|
|
246
|
+
# Gender associated with the suspicion, if applicable.
|
|
247
|
+
sig { returns(T.nilable(String)) }
|
|
248
|
+
attr_reader :gender
|
|
249
|
+
|
|
250
|
+
sig { params(gender: String).void }
|
|
251
|
+
attr_writer :gender
|
|
252
|
+
|
|
253
|
+
# Nature of the relationship between the entity and the suspicious activity (e.g.,
|
|
254
|
+
# "linked", "associated").
|
|
255
|
+
sig { returns(T.nilable(String)) }
|
|
256
|
+
attr_reader :relation
|
|
257
|
+
|
|
258
|
+
sig { params(relation: String).void }
|
|
259
|
+
attr_writer :relation
|
|
260
|
+
|
|
261
|
+
# Version of the evaluation schema or rule engine used.
|
|
262
|
+
sig { returns(T.nilable(String)) }
|
|
263
|
+
attr_reader :schema
|
|
264
|
+
|
|
265
|
+
sig { params(schema: String).void }
|
|
266
|
+
attr_writer :schema
|
|
267
|
+
|
|
268
|
+
# Risk score between 0.0 and 1 indicating the severity of the suspicion.
|
|
269
|
+
sig { returns(T.nilable(Float)) }
|
|
270
|
+
attr_reader :score
|
|
271
|
+
|
|
272
|
+
sig { params(score: Float).void }
|
|
273
|
+
attr_writer :score
|
|
274
|
+
|
|
275
|
+
# Source system or service providing this suspicion.
|
|
276
|
+
sig { returns(T.nilable(String)) }
|
|
277
|
+
attr_reader :source
|
|
278
|
+
|
|
279
|
+
sig { params(source: String).void }
|
|
280
|
+
attr_writer :source
|
|
281
|
+
|
|
282
|
+
# Status of the suspicion review process. Possible values: "true_positive",
|
|
283
|
+
# "false_positive", "pending".
|
|
284
|
+
sig do
|
|
285
|
+
returns(
|
|
286
|
+
T.nilable(
|
|
287
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Status::TaggedSymbol
|
|
288
|
+
)
|
|
289
|
+
)
|
|
290
|
+
end
|
|
291
|
+
attr_reader :status
|
|
292
|
+
|
|
293
|
+
sig do
|
|
294
|
+
params(
|
|
295
|
+
status:
|
|
296
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Status::OrSymbol
|
|
297
|
+
).void
|
|
298
|
+
end
|
|
299
|
+
attr_writer :status
|
|
300
|
+
|
|
301
|
+
# Category of the suspicion. Possible values: "crime", "sanction", "pep",
|
|
302
|
+
# "adverse_news", "other".
|
|
303
|
+
sig do
|
|
304
|
+
returns(
|
|
305
|
+
T.nilable(
|
|
306
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Type::TaggedSymbol
|
|
307
|
+
)
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
attr_reader :type
|
|
311
|
+
|
|
312
|
+
sig do
|
|
313
|
+
params(
|
|
314
|
+
type: Dataleon::CompanyRegistration::AmlSuspicion::Type::OrSymbol
|
|
315
|
+
).void
|
|
316
|
+
end
|
|
317
|
+
attr_writer :type
|
|
318
|
+
|
|
319
|
+
# Represents a record of suspicion raised during Anti-Money Laundering (AML)
|
|
320
|
+
# screening. Includes metadata such as risk score, origin, and linked watchlist
|
|
321
|
+
# types.
|
|
322
|
+
sig do
|
|
323
|
+
params(
|
|
324
|
+
caption: String,
|
|
325
|
+
country: String,
|
|
326
|
+
gender: String,
|
|
327
|
+
relation: String,
|
|
328
|
+
schema: String,
|
|
329
|
+
score: Float,
|
|
330
|
+
source: String,
|
|
331
|
+
status:
|
|
332
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Status::OrSymbol,
|
|
333
|
+
type: Dataleon::CompanyRegistration::AmlSuspicion::Type::OrSymbol
|
|
334
|
+
).returns(T.attached_class)
|
|
335
|
+
end
|
|
336
|
+
def self.new(
|
|
337
|
+
# Human-readable description or title for the suspicious finding.
|
|
338
|
+
caption: nil,
|
|
339
|
+
# Country associated with the suspicion (ISO 3166-1 alpha-2 code).
|
|
340
|
+
country: nil,
|
|
341
|
+
# Gender associated with the suspicion, if applicable.
|
|
342
|
+
gender: nil,
|
|
343
|
+
# Nature of the relationship between the entity and the suspicious activity (e.g.,
|
|
344
|
+
# "linked", "associated").
|
|
345
|
+
relation: nil,
|
|
346
|
+
# Version of the evaluation schema or rule engine used.
|
|
347
|
+
schema: nil,
|
|
348
|
+
# Risk score between 0.0 and 1 indicating the severity of the suspicion.
|
|
349
|
+
score: nil,
|
|
350
|
+
# Source system or service providing this suspicion.
|
|
351
|
+
source: nil,
|
|
352
|
+
# Status of the suspicion review process. Possible values: "true_positive",
|
|
353
|
+
# "false_positive", "pending".
|
|
354
|
+
status: nil,
|
|
355
|
+
# Category of the suspicion. Possible values: "crime", "sanction", "pep",
|
|
356
|
+
# "adverse_news", "other".
|
|
357
|
+
type: nil
|
|
358
|
+
)
|
|
359
|
+
end
|
|
360
|
+
|
|
361
|
+
sig do
|
|
362
|
+
override.returns(
|
|
363
|
+
{
|
|
364
|
+
caption: String,
|
|
365
|
+
country: String,
|
|
366
|
+
gender: String,
|
|
367
|
+
relation: String,
|
|
368
|
+
schema: String,
|
|
369
|
+
score: Float,
|
|
370
|
+
source: String,
|
|
371
|
+
status:
|
|
372
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Status::TaggedSymbol,
|
|
373
|
+
type:
|
|
374
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Type::TaggedSymbol
|
|
375
|
+
}
|
|
376
|
+
)
|
|
377
|
+
end
|
|
378
|
+
def to_hash
|
|
379
|
+
end
|
|
380
|
+
|
|
381
|
+
# Status of the suspicion review process. Possible values: "true_positive",
|
|
382
|
+
# "false_positive", "pending".
|
|
383
|
+
module Status
|
|
384
|
+
extend Dataleon::Internal::Type::Enum
|
|
385
|
+
|
|
386
|
+
TaggedSymbol =
|
|
387
|
+
T.type_alias do
|
|
388
|
+
T.all(Symbol, Dataleon::CompanyRegistration::AmlSuspicion::Status)
|
|
389
|
+
end
|
|
390
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
391
|
+
|
|
392
|
+
TRUE_POSITIVE =
|
|
393
|
+
T.let(
|
|
394
|
+
:true_positive,
|
|
395
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Status::TaggedSymbol
|
|
396
|
+
)
|
|
397
|
+
FALSE_POSITIVE =
|
|
398
|
+
T.let(
|
|
399
|
+
:false_positive,
|
|
400
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Status::TaggedSymbol
|
|
401
|
+
)
|
|
402
|
+
PENDING =
|
|
403
|
+
T.let(
|
|
404
|
+
:pending,
|
|
405
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Status::TaggedSymbol
|
|
406
|
+
)
|
|
407
|
+
|
|
408
|
+
sig do
|
|
409
|
+
override.returns(
|
|
410
|
+
T::Array[
|
|
411
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Status::TaggedSymbol
|
|
412
|
+
]
|
|
413
|
+
)
|
|
414
|
+
end
|
|
415
|
+
def self.values
|
|
416
|
+
end
|
|
417
|
+
end
|
|
418
|
+
|
|
419
|
+
# Category of the suspicion. Possible values: "crime", "sanction", "pep",
|
|
420
|
+
# "adverse_news", "other".
|
|
421
|
+
module Type
|
|
422
|
+
extend Dataleon::Internal::Type::Enum
|
|
423
|
+
|
|
424
|
+
TaggedSymbol =
|
|
425
|
+
T.type_alias do
|
|
426
|
+
T.all(Symbol, Dataleon::CompanyRegistration::AmlSuspicion::Type)
|
|
427
|
+
end
|
|
428
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
429
|
+
|
|
430
|
+
CRIME =
|
|
431
|
+
T.let(
|
|
432
|
+
:crime,
|
|
433
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Type::TaggedSymbol
|
|
434
|
+
)
|
|
435
|
+
SANCTION =
|
|
436
|
+
T.let(
|
|
437
|
+
:sanction,
|
|
438
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Type::TaggedSymbol
|
|
439
|
+
)
|
|
440
|
+
PEP =
|
|
441
|
+
T.let(
|
|
442
|
+
:pep,
|
|
443
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Type::TaggedSymbol
|
|
444
|
+
)
|
|
445
|
+
ADVERSE_NEWS =
|
|
446
|
+
T.let(
|
|
447
|
+
:adverse_news,
|
|
448
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Type::TaggedSymbol
|
|
449
|
+
)
|
|
450
|
+
OTHER =
|
|
451
|
+
T.let(
|
|
452
|
+
:other,
|
|
453
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Type::TaggedSymbol
|
|
454
|
+
)
|
|
455
|
+
|
|
456
|
+
sig do
|
|
457
|
+
override.returns(
|
|
458
|
+
T::Array[
|
|
459
|
+
Dataleon::CompanyRegistration::AmlSuspicion::Type::TaggedSymbol
|
|
460
|
+
]
|
|
461
|
+
)
|
|
462
|
+
end
|
|
463
|
+
def self.values
|
|
464
|
+
end
|
|
465
|
+
end
|
|
466
|
+
end
|
|
467
|
+
|
|
468
|
+
class Certificat < Dataleon::Internal::Type::BaseModel
|
|
469
|
+
OrHash =
|
|
470
|
+
T.type_alias do
|
|
471
|
+
T.any(
|
|
472
|
+
Dataleon::CompanyRegistration::Certificat,
|
|
473
|
+
Dataleon::Internal::AnyHash
|
|
474
|
+
)
|
|
475
|
+
end
|
|
476
|
+
|
|
477
|
+
# Unique identifier for the certificate.
|
|
478
|
+
sig { returns(T.nilable(String)) }
|
|
479
|
+
attr_reader :id
|
|
480
|
+
|
|
481
|
+
sig { params(id: String).void }
|
|
482
|
+
attr_writer :id
|
|
483
|
+
|
|
484
|
+
# Timestamp when the certificate was created.
|
|
485
|
+
sig { returns(T.nilable(Time)) }
|
|
486
|
+
attr_reader :created_at
|
|
487
|
+
|
|
488
|
+
sig { params(created_at: Time).void }
|
|
489
|
+
attr_writer :created_at
|
|
490
|
+
|
|
491
|
+
# Name of the certificate file.
|
|
492
|
+
sig { returns(T.nilable(String)) }
|
|
493
|
+
attr_reader :filename
|
|
494
|
+
|
|
495
|
+
sig { params(filename: String).void }
|
|
496
|
+
attr_writer :filename
|
|
497
|
+
|
|
498
|
+
# Digital certificate associated with the company, if any, including its creation
|
|
499
|
+
# timestamp and filename.
|
|
500
|
+
sig do
|
|
501
|
+
params(id: String, created_at: Time, filename: String).returns(
|
|
502
|
+
T.attached_class
|
|
503
|
+
)
|
|
504
|
+
end
|
|
505
|
+
def self.new(
|
|
506
|
+
# Unique identifier for the certificate.
|
|
507
|
+
id: nil,
|
|
508
|
+
# Timestamp when the certificate was created.
|
|
509
|
+
created_at: nil,
|
|
510
|
+
# Name of the certificate file.
|
|
511
|
+
filename: nil
|
|
512
|
+
)
|
|
513
|
+
end
|
|
514
|
+
|
|
515
|
+
sig do
|
|
516
|
+
override.returns({ id: String, created_at: Time, filename: String })
|
|
517
|
+
end
|
|
518
|
+
def to_hash
|
|
519
|
+
end
|
|
520
|
+
end
|
|
521
|
+
|
|
522
|
+
class Company < Dataleon::Internal::Type::BaseModel
|
|
523
|
+
OrHash =
|
|
524
|
+
T.type_alias do
|
|
525
|
+
T.any(
|
|
526
|
+
Dataleon::CompanyRegistration::Company,
|
|
527
|
+
Dataleon::Internal::AnyHash
|
|
528
|
+
)
|
|
529
|
+
end
|
|
530
|
+
|
|
531
|
+
# Full registered address of the company.
|
|
532
|
+
sig { returns(T.nilable(String)) }
|
|
533
|
+
attr_reader :address
|
|
534
|
+
|
|
535
|
+
sig { params(address: String).void }
|
|
536
|
+
attr_writer :address
|
|
537
|
+
|
|
538
|
+
# Closure date of the company, if applicable.
|
|
539
|
+
sig { returns(T.nilable(Date)) }
|
|
540
|
+
attr_reader :closure_date
|
|
541
|
+
|
|
542
|
+
sig { params(closure_date: Date).void }
|
|
543
|
+
attr_writer :closure_date
|
|
544
|
+
|
|
545
|
+
# Trade or commercial name of the company.
|
|
546
|
+
sig { returns(T.nilable(String)) }
|
|
547
|
+
attr_reader :commercial_name
|
|
548
|
+
|
|
549
|
+
sig { params(commercial_name: String).void }
|
|
550
|
+
attr_writer :commercial_name
|
|
551
|
+
|
|
552
|
+
# Contact information for the company, including email, phone number, and address.
|
|
553
|
+
sig do
|
|
554
|
+
returns(T.nilable(Dataleon::CompanyRegistration::Company::Contact))
|
|
555
|
+
end
|
|
556
|
+
attr_reader :contact
|
|
557
|
+
|
|
558
|
+
sig do
|
|
559
|
+
params(
|
|
560
|
+
contact: Dataleon::CompanyRegistration::Company::Contact::OrHash
|
|
561
|
+
).void
|
|
562
|
+
end
|
|
563
|
+
attr_writer :contact
|
|
564
|
+
|
|
565
|
+
# Country code where the company is registered.
|
|
566
|
+
sig { returns(T.nilable(String)) }
|
|
567
|
+
attr_reader :country
|
|
568
|
+
|
|
569
|
+
sig { params(country: String).void }
|
|
570
|
+
attr_writer :country
|
|
571
|
+
|
|
572
|
+
# Contact email address for the company.
|
|
573
|
+
sig { returns(T.nilable(String)) }
|
|
574
|
+
attr_reader :email
|
|
575
|
+
|
|
576
|
+
sig { params(email: String).void }
|
|
577
|
+
attr_writer :email
|
|
578
|
+
|
|
579
|
+
# Number of employees in the company.
|
|
580
|
+
sig { returns(T.nilable(Integer)) }
|
|
581
|
+
attr_reader :employees
|
|
582
|
+
|
|
583
|
+
sig { params(employees: Integer).void }
|
|
584
|
+
attr_writer :employees
|
|
585
|
+
|
|
586
|
+
# Employer Identification Number (EIN) or equivalent.
|
|
587
|
+
sig { returns(T.nilable(String)) }
|
|
588
|
+
attr_reader :employer_identification_number
|
|
589
|
+
|
|
590
|
+
sig { params(employer_identification_number: String).void }
|
|
591
|
+
attr_writer :employer_identification_number
|
|
592
|
+
|
|
593
|
+
# Indicates whether an insolvency procedure exists for the company.
|
|
594
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
595
|
+
attr_reader :insolvency_exists
|
|
596
|
+
|
|
597
|
+
sig { params(insolvency_exists: T::Boolean).void }
|
|
598
|
+
attr_writer :insolvency_exists
|
|
599
|
+
|
|
600
|
+
# Indicates whether an insolvency procedure is ongoing for the company.
|
|
601
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
602
|
+
attr_reader :insolvency_ongoing
|
|
603
|
+
|
|
604
|
+
sig { params(insolvency_ongoing: T::Boolean).void }
|
|
605
|
+
attr_writer :insolvency_ongoing
|
|
606
|
+
|
|
607
|
+
# Legal form or structure of the company (e.g., LLC, SARL).
|
|
608
|
+
sig { returns(T.nilable(String)) }
|
|
609
|
+
attr_reader :legal_form
|
|
610
|
+
|
|
611
|
+
sig { params(legal_form: String).void }
|
|
612
|
+
attr_writer :legal_form
|
|
613
|
+
|
|
614
|
+
# Legal registered name of the company.
|
|
615
|
+
sig { returns(T.nilable(String)) }
|
|
616
|
+
attr_reader :name
|
|
617
|
+
|
|
618
|
+
sig { params(name: String).void }
|
|
619
|
+
attr_writer :name
|
|
620
|
+
|
|
621
|
+
# Contact phone number for the company, including country code.
|
|
622
|
+
sig { returns(T.nilable(String)) }
|
|
623
|
+
attr_reader :phone_number
|
|
624
|
+
|
|
625
|
+
sig { params(phone_number: String).void }
|
|
626
|
+
attr_writer :phone_number
|
|
627
|
+
|
|
628
|
+
# Date when the company was officially registered.
|
|
629
|
+
sig { returns(T.nilable(Date)) }
|
|
630
|
+
attr_reader :registration_date
|
|
631
|
+
|
|
632
|
+
sig { params(registration_date: Date).void }
|
|
633
|
+
attr_writer :registration_date
|
|
634
|
+
|
|
635
|
+
# Official company registration number or ID.
|
|
636
|
+
sig { returns(T.nilable(String)) }
|
|
637
|
+
attr_reader :registration_id
|
|
638
|
+
|
|
639
|
+
sig { params(registration_id: String).void }
|
|
640
|
+
attr_writer :registration_id
|
|
641
|
+
|
|
642
|
+
# Total share capital of the company, including currency.
|
|
643
|
+
sig { returns(T.nilable(String)) }
|
|
644
|
+
attr_reader :share_capital
|
|
645
|
+
|
|
646
|
+
sig { params(share_capital: String).void }
|
|
647
|
+
attr_writer :share_capital
|
|
648
|
+
|
|
649
|
+
# Current status of the company (e.g., active, inactive).
|
|
650
|
+
sig { returns(T.nilable(String)) }
|
|
651
|
+
attr_reader :status
|
|
652
|
+
|
|
653
|
+
sig { params(status: String).void }
|
|
654
|
+
attr_writer :status
|
|
655
|
+
|
|
656
|
+
# Tax identification number for the company.
|
|
657
|
+
sig { returns(T.nilable(String)) }
|
|
658
|
+
attr_reader :tax_identification_number
|
|
659
|
+
|
|
660
|
+
sig { params(tax_identification_number: String).void }
|
|
661
|
+
attr_writer :tax_identification_number
|
|
662
|
+
|
|
663
|
+
# Type of company within the workspace, e.g., main or affiliated.
|
|
664
|
+
sig { returns(T.nilable(String)) }
|
|
665
|
+
attr_reader :type
|
|
666
|
+
|
|
667
|
+
sig { params(type: String).void }
|
|
668
|
+
attr_writer :type
|
|
669
|
+
|
|
670
|
+
# Official website URL of the company.
|
|
671
|
+
sig { returns(T.nilable(String)) }
|
|
672
|
+
attr_reader :website_url
|
|
673
|
+
|
|
674
|
+
sig { params(website_url: String).void }
|
|
675
|
+
attr_writer :website_url
|
|
676
|
+
|
|
677
|
+
# Main information about the company being registered, including legal name,
|
|
678
|
+
# registration ID, and address.
|
|
679
|
+
sig do
|
|
680
|
+
params(
|
|
681
|
+
address: String,
|
|
682
|
+
closure_date: Date,
|
|
683
|
+
commercial_name: String,
|
|
684
|
+
contact: Dataleon::CompanyRegistration::Company::Contact::OrHash,
|
|
685
|
+
country: String,
|
|
686
|
+
email: String,
|
|
687
|
+
employees: Integer,
|
|
688
|
+
employer_identification_number: String,
|
|
689
|
+
insolvency_exists: T::Boolean,
|
|
690
|
+
insolvency_ongoing: T::Boolean,
|
|
691
|
+
legal_form: String,
|
|
692
|
+
name: String,
|
|
693
|
+
phone_number: String,
|
|
694
|
+
registration_date: Date,
|
|
695
|
+
registration_id: String,
|
|
696
|
+
share_capital: String,
|
|
697
|
+
status: String,
|
|
698
|
+
tax_identification_number: String,
|
|
699
|
+
type: String,
|
|
700
|
+
website_url: String
|
|
701
|
+
).returns(T.attached_class)
|
|
702
|
+
end
|
|
703
|
+
def self.new(
|
|
704
|
+
# Full registered address of the company.
|
|
705
|
+
address: nil,
|
|
706
|
+
# Closure date of the company, if applicable.
|
|
707
|
+
closure_date: nil,
|
|
708
|
+
# Trade or commercial name of the company.
|
|
709
|
+
commercial_name: nil,
|
|
710
|
+
# Contact information for the company, including email, phone number, and address.
|
|
711
|
+
contact: nil,
|
|
712
|
+
# Country code where the company is registered.
|
|
713
|
+
country: nil,
|
|
714
|
+
# Contact email address for the company.
|
|
715
|
+
email: nil,
|
|
716
|
+
# Number of employees in the company.
|
|
717
|
+
employees: nil,
|
|
718
|
+
# Employer Identification Number (EIN) or equivalent.
|
|
719
|
+
employer_identification_number: nil,
|
|
720
|
+
# Indicates whether an insolvency procedure exists for the company.
|
|
721
|
+
insolvency_exists: nil,
|
|
722
|
+
# Indicates whether an insolvency procedure is ongoing for the company.
|
|
723
|
+
insolvency_ongoing: nil,
|
|
724
|
+
# Legal form or structure of the company (e.g., LLC, SARL).
|
|
725
|
+
legal_form: nil,
|
|
726
|
+
# Legal registered name of the company.
|
|
727
|
+
name: nil,
|
|
728
|
+
# Contact phone number for the company, including country code.
|
|
729
|
+
phone_number: nil,
|
|
730
|
+
# Date when the company was officially registered.
|
|
731
|
+
registration_date: nil,
|
|
732
|
+
# Official company registration number or ID.
|
|
733
|
+
registration_id: nil,
|
|
734
|
+
# Total share capital of the company, including currency.
|
|
735
|
+
share_capital: nil,
|
|
736
|
+
# Current status of the company (e.g., active, inactive).
|
|
737
|
+
status: nil,
|
|
738
|
+
# Tax identification number for the company.
|
|
739
|
+
tax_identification_number: nil,
|
|
740
|
+
# Type of company within the workspace, e.g., main or affiliated.
|
|
741
|
+
type: nil,
|
|
742
|
+
# Official website URL of the company.
|
|
743
|
+
website_url: nil
|
|
744
|
+
)
|
|
745
|
+
end
|
|
746
|
+
|
|
747
|
+
sig do
|
|
748
|
+
override.returns(
|
|
749
|
+
{
|
|
750
|
+
address: String,
|
|
751
|
+
closure_date: Date,
|
|
752
|
+
commercial_name: String,
|
|
753
|
+
contact: Dataleon::CompanyRegistration::Company::Contact,
|
|
754
|
+
country: String,
|
|
755
|
+
email: String,
|
|
756
|
+
employees: Integer,
|
|
757
|
+
employer_identification_number: String,
|
|
758
|
+
insolvency_exists: T::Boolean,
|
|
759
|
+
insolvency_ongoing: T::Boolean,
|
|
760
|
+
legal_form: String,
|
|
761
|
+
name: String,
|
|
762
|
+
phone_number: String,
|
|
763
|
+
registration_date: Date,
|
|
764
|
+
registration_id: String,
|
|
765
|
+
share_capital: String,
|
|
766
|
+
status: String,
|
|
767
|
+
tax_identification_number: String,
|
|
768
|
+
type: String,
|
|
769
|
+
website_url: String
|
|
770
|
+
}
|
|
771
|
+
)
|
|
772
|
+
end
|
|
773
|
+
def to_hash
|
|
774
|
+
end
|
|
775
|
+
|
|
776
|
+
class Contact < Dataleon::Internal::Type::BaseModel
|
|
777
|
+
OrHash =
|
|
778
|
+
T.type_alias do
|
|
779
|
+
T.any(
|
|
780
|
+
Dataleon::CompanyRegistration::Company::Contact,
|
|
781
|
+
Dataleon::Internal::AnyHash
|
|
782
|
+
)
|
|
783
|
+
end
|
|
784
|
+
|
|
785
|
+
# Department of the contact person.
|
|
786
|
+
sig { returns(T.nilable(String)) }
|
|
787
|
+
attr_reader :department
|
|
788
|
+
|
|
789
|
+
sig { params(department: String).void }
|
|
790
|
+
attr_writer :department
|
|
791
|
+
|
|
792
|
+
# Email address of the contact person.
|
|
793
|
+
sig { returns(T.nilable(String)) }
|
|
794
|
+
attr_reader :email
|
|
795
|
+
|
|
796
|
+
sig { params(email: String).void }
|
|
797
|
+
attr_writer :email
|
|
798
|
+
|
|
799
|
+
# First name of the contact person.
|
|
800
|
+
sig { returns(T.nilable(String)) }
|
|
801
|
+
attr_reader :first_name
|
|
802
|
+
|
|
803
|
+
sig { params(first_name: String).void }
|
|
804
|
+
attr_writer :first_name
|
|
805
|
+
|
|
806
|
+
# Last name of the contact person.
|
|
807
|
+
sig { returns(T.nilable(String)) }
|
|
808
|
+
attr_reader :last_name
|
|
809
|
+
|
|
810
|
+
sig { params(last_name: String).void }
|
|
811
|
+
attr_writer :last_name
|
|
812
|
+
|
|
813
|
+
# Phone number of the contact person.
|
|
814
|
+
sig { returns(T.nilable(String)) }
|
|
815
|
+
attr_reader :phone_number
|
|
816
|
+
|
|
817
|
+
sig { params(phone_number: String).void }
|
|
818
|
+
attr_writer :phone_number
|
|
819
|
+
|
|
820
|
+
# Contact information for the company, including email, phone number, and address.
|
|
821
|
+
sig do
|
|
822
|
+
params(
|
|
823
|
+
department: String,
|
|
824
|
+
email: String,
|
|
825
|
+
first_name: String,
|
|
826
|
+
last_name: String,
|
|
827
|
+
phone_number: String
|
|
828
|
+
).returns(T.attached_class)
|
|
829
|
+
end
|
|
830
|
+
def self.new(
|
|
831
|
+
# Department of the contact person.
|
|
832
|
+
department: nil,
|
|
833
|
+
# Email address of the contact person.
|
|
834
|
+
email: nil,
|
|
835
|
+
# First name of the contact person.
|
|
836
|
+
first_name: nil,
|
|
837
|
+
# Last name of the contact person.
|
|
838
|
+
last_name: nil,
|
|
839
|
+
# Phone number of the contact person.
|
|
840
|
+
phone_number: nil
|
|
841
|
+
)
|
|
842
|
+
end
|
|
843
|
+
|
|
844
|
+
sig do
|
|
845
|
+
override.returns(
|
|
846
|
+
{
|
|
847
|
+
department: String,
|
|
848
|
+
email: String,
|
|
849
|
+
first_name: String,
|
|
850
|
+
last_name: String,
|
|
851
|
+
phone_number: String
|
|
852
|
+
}
|
|
853
|
+
)
|
|
854
|
+
end
|
|
855
|
+
def to_hash
|
|
856
|
+
end
|
|
857
|
+
end
|
|
858
|
+
end
|
|
859
|
+
|
|
860
|
+
class Member < Dataleon::Internal::Type::BaseModel
|
|
861
|
+
OrHash =
|
|
862
|
+
T.type_alias do
|
|
863
|
+
T.any(
|
|
864
|
+
Dataleon::CompanyRegistration::Member,
|
|
865
|
+
Dataleon::Internal::AnyHash
|
|
866
|
+
)
|
|
867
|
+
end
|
|
868
|
+
|
|
869
|
+
sig { returns(T.nilable(String)) }
|
|
870
|
+
attr_reader :id
|
|
871
|
+
|
|
872
|
+
sig { params(id: String).void }
|
|
873
|
+
attr_writer :id
|
|
874
|
+
|
|
875
|
+
# Address of the member, which may include street, city, postal code, and country.
|
|
876
|
+
sig { returns(T.nilable(String)) }
|
|
877
|
+
attr_reader :address
|
|
878
|
+
|
|
879
|
+
sig { params(address: String).void }
|
|
880
|
+
attr_writer :address
|
|
881
|
+
|
|
882
|
+
# Birthday (available only if type = person)
|
|
883
|
+
sig { returns(T.nilable(Time)) }
|
|
884
|
+
attr_reader :birthday
|
|
885
|
+
|
|
886
|
+
sig { params(birthday: Time).void }
|
|
887
|
+
attr_writer :birthday
|
|
888
|
+
|
|
889
|
+
# Birthplace (available only if type = person)
|
|
890
|
+
sig { returns(T.nilable(String)) }
|
|
891
|
+
attr_reader :birthplace
|
|
892
|
+
|
|
893
|
+
sig { params(birthplace: String).void }
|
|
894
|
+
attr_writer :birthplace
|
|
895
|
+
|
|
896
|
+
# ISO 3166-1 alpha-2 country code of the member's address (e.g., "FR" for France).
|
|
897
|
+
sig { returns(T.nilable(String)) }
|
|
898
|
+
attr_reader :country
|
|
899
|
+
|
|
900
|
+
sig { params(country: String).void }
|
|
901
|
+
attr_writer :country
|
|
902
|
+
|
|
903
|
+
# List of documents associated with the member, including their metadata and
|
|
904
|
+
# processing status.
|
|
905
|
+
sig do
|
|
906
|
+
returns(T.nilable(T::Array[Dataleon::Individuals::GenericDocument]))
|
|
907
|
+
end
|
|
908
|
+
attr_reader :documents
|
|
909
|
+
|
|
910
|
+
sig do
|
|
911
|
+
params(
|
|
912
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument::OrHash]
|
|
913
|
+
).void
|
|
914
|
+
end
|
|
915
|
+
attr_writer :documents
|
|
916
|
+
|
|
917
|
+
# Email address of the member, which may be used for communication or verification
|
|
918
|
+
# purposes.
|
|
919
|
+
sig { returns(T.nilable(String)) }
|
|
920
|
+
attr_reader :email
|
|
921
|
+
|
|
922
|
+
sig { params(email: String).void }
|
|
923
|
+
attr_writer :email
|
|
924
|
+
|
|
925
|
+
# First name (available only if type = person)
|
|
926
|
+
sig { returns(T.nilable(String)) }
|
|
927
|
+
attr_reader :first_name
|
|
928
|
+
|
|
929
|
+
sig { params(first_name: String).void }
|
|
930
|
+
attr_writer :first_name
|
|
931
|
+
|
|
932
|
+
# Indicates whether the member is a beneficial owner of the company, meaning they
|
|
933
|
+
# have significant control or ownership.
|
|
934
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
935
|
+
attr_reader :is_beneficial_owner
|
|
936
|
+
|
|
937
|
+
sig { params(is_beneficial_owner: T::Boolean).void }
|
|
938
|
+
attr_writer :is_beneficial_owner
|
|
939
|
+
|
|
940
|
+
# Indicates whether the member is a delegator, meaning they have authority to act
|
|
941
|
+
# on behalf of the company.
|
|
942
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
943
|
+
attr_reader :is_delegator
|
|
944
|
+
|
|
945
|
+
sig { params(is_delegator: T::Boolean).void }
|
|
946
|
+
attr_writer :is_delegator
|
|
947
|
+
|
|
948
|
+
# Last name (available only if type = person)
|
|
949
|
+
sig { returns(T.nilable(String)) }
|
|
950
|
+
attr_reader :last_name
|
|
951
|
+
|
|
952
|
+
sig { params(last_name: String).void }
|
|
953
|
+
attr_writer :last_name
|
|
954
|
+
|
|
955
|
+
# Indicates whether liveness verification was performed for the member, typically
|
|
956
|
+
# in the context of identity checks.
|
|
957
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
958
|
+
attr_reader :liveness_verification
|
|
959
|
+
|
|
960
|
+
sig { params(liveness_verification: T::Boolean).void }
|
|
961
|
+
attr_writer :liveness_verification
|
|
962
|
+
|
|
963
|
+
# Company name (available only if type = company)
|
|
964
|
+
sig { returns(T.nilable(String)) }
|
|
965
|
+
attr_reader :name
|
|
966
|
+
|
|
967
|
+
sig { params(name: String).void }
|
|
968
|
+
attr_writer :name
|
|
969
|
+
|
|
970
|
+
# Percentage of ownership the member has in the company, expressed as an integer
|
|
971
|
+
# between 0 and 100.
|
|
972
|
+
sig { returns(T.nilable(Integer)) }
|
|
973
|
+
attr_reader :ownership_percentage
|
|
974
|
+
|
|
975
|
+
sig { params(ownership_percentage: Integer).void }
|
|
976
|
+
attr_writer :ownership_percentage
|
|
977
|
+
|
|
978
|
+
# Contact phone number of the member, including country code and area code.
|
|
979
|
+
sig { returns(T.nilable(String)) }
|
|
980
|
+
attr_reader :phone_number
|
|
981
|
+
|
|
982
|
+
sig { params(phone_number: String).void }
|
|
983
|
+
attr_writer :phone_number
|
|
984
|
+
|
|
985
|
+
# Postal code of the member's address, typically a numeric or alphanumeric code.
|
|
986
|
+
sig { returns(T.nilable(String)) }
|
|
987
|
+
attr_reader :postal_code
|
|
988
|
+
|
|
989
|
+
sig { params(postal_code: String).void }
|
|
990
|
+
attr_writer :postal_code
|
|
991
|
+
|
|
992
|
+
# Official registration identifier of the member, such as a national ID or company
|
|
993
|
+
# registration number.
|
|
994
|
+
sig { returns(T.nilable(String)) }
|
|
995
|
+
attr_reader :registration_id
|
|
996
|
+
|
|
997
|
+
sig { params(registration_id: String).void }
|
|
998
|
+
attr_writer :registration_id
|
|
999
|
+
|
|
1000
|
+
# Type of relationship the member has with the company, such as "shareholder",
|
|
1001
|
+
# "director", or "beneficial_owner".
|
|
1002
|
+
sig { returns(T.nilable(String)) }
|
|
1003
|
+
attr_reader :relation
|
|
1004
|
+
|
|
1005
|
+
sig { params(relation: String).void }
|
|
1006
|
+
attr_writer :relation
|
|
1007
|
+
|
|
1008
|
+
# Role of the member within the company, such as "legal_representative",
|
|
1009
|
+
# "director", or "manager".
|
|
1010
|
+
sig { returns(T.nilable(String)) }
|
|
1011
|
+
attr_reader :roles
|
|
1012
|
+
|
|
1013
|
+
sig { params(roles: String).void }
|
|
1014
|
+
attr_writer :roles
|
|
1015
|
+
|
|
1016
|
+
# Source of the data (e.g., government, user, company)
|
|
1017
|
+
sig do
|
|
1018
|
+
returns(
|
|
1019
|
+
T.nilable(
|
|
1020
|
+
Dataleon::CompanyRegistration::Member::Source::TaggedSymbol
|
|
1021
|
+
)
|
|
1022
|
+
)
|
|
1023
|
+
end
|
|
1024
|
+
attr_reader :source
|
|
1025
|
+
|
|
1026
|
+
sig do
|
|
1027
|
+
params(
|
|
1028
|
+
source: Dataleon::CompanyRegistration::Member::Source::OrSymbol
|
|
1029
|
+
).void
|
|
1030
|
+
end
|
|
1031
|
+
attr_writer :source
|
|
1032
|
+
|
|
1033
|
+
# Current state of the member in the workflow, such as "WAITING", "STARTED",
|
|
1034
|
+
# "RUNNING", or "PROCESSED".
|
|
1035
|
+
sig { returns(T.nilable(String)) }
|
|
1036
|
+
attr_reader :state
|
|
1037
|
+
|
|
1038
|
+
sig { params(state: String).void }
|
|
1039
|
+
attr_writer :state
|
|
1040
|
+
|
|
1041
|
+
# Status of the member in the system, indicating whether they are approved,
|
|
1042
|
+
# pending, or rejected. Possible values include "approved", "need_review",
|
|
1043
|
+
# "rejected".
|
|
1044
|
+
sig { returns(T.nilable(String)) }
|
|
1045
|
+
attr_reader :status
|
|
1046
|
+
|
|
1047
|
+
sig { params(status: String).void }
|
|
1048
|
+
attr_writer :status
|
|
1049
|
+
|
|
1050
|
+
# Member type (person or company)
|
|
1051
|
+
sig do
|
|
1052
|
+
returns(
|
|
1053
|
+
T.nilable(Dataleon::CompanyRegistration::Member::Type::TaggedSymbol)
|
|
1054
|
+
)
|
|
1055
|
+
end
|
|
1056
|
+
attr_reader :type
|
|
1057
|
+
|
|
1058
|
+
sig do
|
|
1059
|
+
params(
|
|
1060
|
+
type: Dataleon::CompanyRegistration::Member::Type::OrSymbol
|
|
1061
|
+
).void
|
|
1062
|
+
end
|
|
1063
|
+
attr_writer :type
|
|
1064
|
+
|
|
1065
|
+
# Identifier of the workspace to which the member belongs, used for organizational
|
|
1066
|
+
# purposes.
|
|
1067
|
+
sig { returns(T.nilable(String)) }
|
|
1068
|
+
attr_reader :workspace_id
|
|
1069
|
+
|
|
1070
|
+
sig { params(workspace_id: String).void }
|
|
1071
|
+
attr_writer :workspace_id
|
|
1072
|
+
|
|
1073
|
+
# Represents a member or actor of a company, including personal and ownership
|
|
1074
|
+
# information.
|
|
1075
|
+
sig do
|
|
1076
|
+
params(
|
|
1077
|
+
id: String,
|
|
1078
|
+
address: String,
|
|
1079
|
+
birthday: Time,
|
|
1080
|
+
birthplace: String,
|
|
1081
|
+
country: String,
|
|
1082
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument::OrHash],
|
|
1083
|
+
email: String,
|
|
1084
|
+
first_name: String,
|
|
1085
|
+
is_beneficial_owner: T::Boolean,
|
|
1086
|
+
is_delegator: T::Boolean,
|
|
1087
|
+
last_name: String,
|
|
1088
|
+
liveness_verification: T::Boolean,
|
|
1089
|
+
name: String,
|
|
1090
|
+
ownership_percentage: Integer,
|
|
1091
|
+
phone_number: String,
|
|
1092
|
+
postal_code: String,
|
|
1093
|
+
registration_id: String,
|
|
1094
|
+
relation: String,
|
|
1095
|
+
roles: String,
|
|
1096
|
+
source: Dataleon::CompanyRegistration::Member::Source::OrSymbol,
|
|
1097
|
+
state: String,
|
|
1098
|
+
status: String,
|
|
1099
|
+
type: Dataleon::CompanyRegistration::Member::Type::OrSymbol,
|
|
1100
|
+
workspace_id: String
|
|
1101
|
+
).returns(T.attached_class)
|
|
1102
|
+
end
|
|
1103
|
+
def self.new(
|
|
1104
|
+
id: nil,
|
|
1105
|
+
# Address of the member, which may include street, city, postal code, and country.
|
|
1106
|
+
address: nil,
|
|
1107
|
+
# Birthday (available only if type = person)
|
|
1108
|
+
birthday: nil,
|
|
1109
|
+
# Birthplace (available only if type = person)
|
|
1110
|
+
birthplace: nil,
|
|
1111
|
+
# ISO 3166-1 alpha-2 country code of the member's address (e.g., "FR" for France).
|
|
1112
|
+
country: nil,
|
|
1113
|
+
# List of documents associated with the member, including their metadata and
|
|
1114
|
+
# processing status.
|
|
1115
|
+
documents: nil,
|
|
1116
|
+
# Email address of the member, which may be used for communication or verification
|
|
1117
|
+
# purposes.
|
|
1118
|
+
email: nil,
|
|
1119
|
+
# First name (available only if type = person)
|
|
1120
|
+
first_name: nil,
|
|
1121
|
+
# Indicates whether the member is a beneficial owner of the company, meaning they
|
|
1122
|
+
# have significant control or ownership.
|
|
1123
|
+
is_beneficial_owner: nil,
|
|
1124
|
+
# Indicates whether the member is a delegator, meaning they have authority to act
|
|
1125
|
+
# on behalf of the company.
|
|
1126
|
+
is_delegator: nil,
|
|
1127
|
+
# Last name (available only if type = person)
|
|
1128
|
+
last_name: nil,
|
|
1129
|
+
# Indicates whether liveness verification was performed for the member, typically
|
|
1130
|
+
# in the context of identity checks.
|
|
1131
|
+
liveness_verification: nil,
|
|
1132
|
+
# Company name (available only if type = company)
|
|
1133
|
+
name: nil,
|
|
1134
|
+
# Percentage of ownership the member has in the company, expressed as an integer
|
|
1135
|
+
# between 0 and 100.
|
|
1136
|
+
ownership_percentage: nil,
|
|
1137
|
+
# Contact phone number of the member, including country code and area code.
|
|
1138
|
+
phone_number: nil,
|
|
1139
|
+
# Postal code of the member's address, typically a numeric or alphanumeric code.
|
|
1140
|
+
postal_code: nil,
|
|
1141
|
+
# Official registration identifier of the member, such as a national ID or company
|
|
1142
|
+
# registration number.
|
|
1143
|
+
registration_id: nil,
|
|
1144
|
+
# Type of relationship the member has with the company, such as "shareholder",
|
|
1145
|
+
# "director", or "beneficial_owner".
|
|
1146
|
+
relation: nil,
|
|
1147
|
+
# Role of the member within the company, such as "legal_representative",
|
|
1148
|
+
# "director", or "manager".
|
|
1149
|
+
roles: nil,
|
|
1150
|
+
# Source of the data (e.g., government, user, company)
|
|
1151
|
+
source: nil,
|
|
1152
|
+
# Current state of the member in the workflow, such as "WAITING", "STARTED",
|
|
1153
|
+
# "RUNNING", or "PROCESSED".
|
|
1154
|
+
state: nil,
|
|
1155
|
+
# Status of the member in the system, indicating whether they are approved,
|
|
1156
|
+
# pending, or rejected. Possible values include "approved", "need_review",
|
|
1157
|
+
# "rejected".
|
|
1158
|
+
status: nil,
|
|
1159
|
+
# Member type (person or company)
|
|
1160
|
+
type: nil,
|
|
1161
|
+
# Identifier of the workspace to which the member belongs, used for organizational
|
|
1162
|
+
# purposes.
|
|
1163
|
+
workspace_id: nil
|
|
1164
|
+
)
|
|
1165
|
+
end
|
|
1166
|
+
|
|
1167
|
+
sig do
|
|
1168
|
+
override.returns(
|
|
1169
|
+
{
|
|
1170
|
+
id: String,
|
|
1171
|
+
address: String,
|
|
1172
|
+
birthday: Time,
|
|
1173
|
+
birthplace: String,
|
|
1174
|
+
country: String,
|
|
1175
|
+
documents: T::Array[Dataleon::Individuals::GenericDocument],
|
|
1176
|
+
email: String,
|
|
1177
|
+
first_name: String,
|
|
1178
|
+
is_beneficial_owner: T::Boolean,
|
|
1179
|
+
is_delegator: T::Boolean,
|
|
1180
|
+
last_name: String,
|
|
1181
|
+
liveness_verification: T::Boolean,
|
|
1182
|
+
name: String,
|
|
1183
|
+
ownership_percentage: Integer,
|
|
1184
|
+
phone_number: String,
|
|
1185
|
+
postal_code: String,
|
|
1186
|
+
registration_id: String,
|
|
1187
|
+
relation: String,
|
|
1188
|
+
roles: String,
|
|
1189
|
+
source:
|
|
1190
|
+
Dataleon::CompanyRegistration::Member::Source::TaggedSymbol,
|
|
1191
|
+
state: String,
|
|
1192
|
+
status: String,
|
|
1193
|
+
type: Dataleon::CompanyRegistration::Member::Type::TaggedSymbol,
|
|
1194
|
+
workspace_id: String
|
|
1195
|
+
}
|
|
1196
|
+
)
|
|
1197
|
+
end
|
|
1198
|
+
def to_hash
|
|
1199
|
+
end
|
|
1200
|
+
|
|
1201
|
+
# Source of the data (e.g., government, user, company)
|
|
1202
|
+
module Source
|
|
1203
|
+
extend Dataleon::Internal::Type::Enum
|
|
1204
|
+
|
|
1205
|
+
TaggedSymbol =
|
|
1206
|
+
T.type_alias do
|
|
1207
|
+
T.all(Symbol, Dataleon::CompanyRegistration::Member::Source)
|
|
1208
|
+
end
|
|
1209
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1210
|
+
|
|
1211
|
+
GOUVE =
|
|
1212
|
+
T.let(
|
|
1213
|
+
:gouve,
|
|
1214
|
+
Dataleon::CompanyRegistration::Member::Source::TaggedSymbol
|
|
1215
|
+
)
|
|
1216
|
+
USER =
|
|
1217
|
+
T.let(
|
|
1218
|
+
:user,
|
|
1219
|
+
Dataleon::CompanyRegistration::Member::Source::TaggedSymbol
|
|
1220
|
+
)
|
|
1221
|
+
COMPANY =
|
|
1222
|
+
T.let(
|
|
1223
|
+
:company,
|
|
1224
|
+
Dataleon::CompanyRegistration::Member::Source::TaggedSymbol
|
|
1225
|
+
)
|
|
1226
|
+
|
|
1227
|
+
sig do
|
|
1228
|
+
override.returns(
|
|
1229
|
+
T::Array[
|
|
1230
|
+
Dataleon::CompanyRegistration::Member::Source::TaggedSymbol
|
|
1231
|
+
]
|
|
1232
|
+
)
|
|
1233
|
+
end
|
|
1234
|
+
def self.values
|
|
1235
|
+
end
|
|
1236
|
+
end
|
|
1237
|
+
|
|
1238
|
+
# Member type (person or company)
|
|
1239
|
+
module Type
|
|
1240
|
+
extend Dataleon::Internal::Type::Enum
|
|
1241
|
+
|
|
1242
|
+
TaggedSymbol =
|
|
1243
|
+
T.type_alias do
|
|
1244
|
+
T.all(Symbol, Dataleon::CompanyRegistration::Member::Type)
|
|
1245
|
+
end
|
|
1246
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
1247
|
+
|
|
1248
|
+
PERSON =
|
|
1249
|
+
T.let(
|
|
1250
|
+
:person,
|
|
1251
|
+
Dataleon::CompanyRegistration::Member::Type::TaggedSymbol
|
|
1252
|
+
)
|
|
1253
|
+
COMPANY =
|
|
1254
|
+
T.let(
|
|
1255
|
+
:company,
|
|
1256
|
+
Dataleon::CompanyRegistration::Member::Type::TaggedSymbol
|
|
1257
|
+
)
|
|
1258
|
+
|
|
1259
|
+
sig do
|
|
1260
|
+
override.returns(
|
|
1261
|
+
T::Array[
|
|
1262
|
+
Dataleon::CompanyRegistration::Member::Type::TaggedSymbol
|
|
1263
|
+
]
|
|
1264
|
+
)
|
|
1265
|
+
end
|
|
1266
|
+
def self.values
|
|
1267
|
+
end
|
|
1268
|
+
end
|
|
1269
|
+
end
|
|
1270
|
+
|
|
1271
|
+
class Property < Dataleon::Internal::Type::BaseModel
|
|
1272
|
+
OrHash =
|
|
1273
|
+
T.type_alias do
|
|
1274
|
+
T.any(
|
|
1275
|
+
Dataleon::CompanyRegistration::Property,
|
|
1276
|
+
Dataleon::Internal::AnyHash
|
|
1277
|
+
)
|
|
1278
|
+
end
|
|
1279
|
+
|
|
1280
|
+
# Name/key of the property.
|
|
1281
|
+
sig { returns(T.nilable(String)) }
|
|
1282
|
+
attr_reader :name
|
|
1283
|
+
|
|
1284
|
+
sig { params(name: String).void }
|
|
1285
|
+
attr_writer :name
|
|
1286
|
+
|
|
1287
|
+
# Data type of the property value.
|
|
1288
|
+
sig { returns(T.nilable(String)) }
|
|
1289
|
+
attr_reader :type
|
|
1290
|
+
|
|
1291
|
+
sig { params(type: String).void }
|
|
1292
|
+
attr_writer :type
|
|
1293
|
+
|
|
1294
|
+
# Value associated with the property name.
|
|
1295
|
+
sig { returns(T.nilable(String)) }
|
|
1296
|
+
attr_reader :value
|
|
1297
|
+
|
|
1298
|
+
sig { params(value: String).void }
|
|
1299
|
+
attr_writer :value
|
|
1300
|
+
|
|
1301
|
+
# Represents a generic property key-value pair with a specified type.
|
|
1302
|
+
sig do
|
|
1303
|
+
params(name: String, type: String, value: String).returns(
|
|
1304
|
+
T.attached_class
|
|
1305
|
+
)
|
|
1306
|
+
end
|
|
1307
|
+
def self.new(
|
|
1308
|
+
# Name/key of the property.
|
|
1309
|
+
name: nil,
|
|
1310
|
+
# Data type of the property value.
|
|
1311
|
+
type: nil,
|
|
1312
|
+
# Value associated with the property name.
|
|
1313
|
+
value: nil
|
|
1314
|
+
)
|
|
1315
|
+
end
|
|
1316
|
+
|
|
1317
|
+
sig { override.returns({ name: String, type: String, value: String }) }
|
|
1318
|
+
def to_hash
|
|
1319
|
+
end
|
|
1320
|
+
end
|
|
1321
|
+
|
|
1322
|
+
class Risk < Dataleon::Internal::Type::BaseModel
|
|
1323
|
+
OrHash =
|
|
1324
|
+
T.type_alias do
|
|
1325
|
+
T.any(
|
|
1326
|
+
Dataleon::CompanyRegistration::Risk,
|
|
1327
|
+
Dataleon::Internal::AnyHash
|
|
1328
|
+
)
|
|
1329
|
+
end
|
|
1330
|
+
|
|
1331
|
+
# Risk category or code identifier.
|
|
1332
|
+
sig { returns(T.nilable(String)) }
|
|
1333
|
+
attr_reader :code
|
|
1334
|
+
|
|
1335
|
+
sig { params(code: String).void }
|
|
1336
|
+
attr_writer :code
|
|
1337
|
+
|
|
1338
|
+
# Explanation or justification for the assigned risk.
|
|
1339
|
+
sig { returns(T.nilable(String)) }
|
|
1340
|
+
attr_reader :reason
|
|
1341
|
+
|
|
1342
|
+
sig { params(reason: String).void }
|
|
1343
|
+
attr_writer :reason
|
|
1344
|
+
|
|
1345
|
+
# Numeric risk score between 0.0 and 1.0 indicating severity or confidence.
|
|
1346
|
+
sig { returns(T.nilable(Float)) }
|
|
1347
|
+
attr_reader :score
|
|
1348
|
+
|
|
1349
|
+
sig { params(score: Float).void }
|
|
1350
|
+
attr_writer :score
|
|
1351
|
+
|
|
1352
|
+
# Risk assessment associated with the company, including a risk code, reason, and
|
|
1353
|
+
# confidence score.
|
|
1354
|
+
sig do
|
|
1355
|
+
params(code: String, reason: String, score: Float).returns(
|
|
1356
|
+
T.attached_class
|
|
1357
|
+
)
|
|
1358
|
+
end
|
|
1359
|
+
def self.new(
|
|
1360
|
+
# Risk category or code identifier.
|
|
1361
|
+
code: nil,
|
|
1362
|
+
# Explanation or justification for the assigned risk.
|
|
1363
|
+
reason: nil,
|
|
1364
|
+
# Numeric risk score between 0.0 and 1.0 indicating severity or confidence.
|
|
1365
|
+
score: nil
|
|
1366
|
+
)
|
|
1367
|
+
end
|
|
1368
|
+
|
|
1369
|
+
sig { override.returns({ code: String, reason: String, score: Float }) }
|
|
1370
|
+
def to_hash
|
|
1371
|
+
end
|
|
1372
|
+
end
|
|
1373
|
+
|
|
1374
|
+
class TechnicalData < Dataleon::Internal::Type::BaseModel
|
|
1375
|
+
OrHash =
|
|
1376
|
+
T.type_alias do
|
|
1377
|
+
T.any(
|
|
1378
|
+
Dataleon::CompanyRegistration::TechnicalData,
|
|
1379
|
+
Dataleon::Internal::AnyHash
|
|
1380
|
+
)
|
|
1381
|
+
end
|
|
1382
|
+
|
|
1383
|
+
# Flag indicating whether there are active research AML (Anti-Money Laundering)
|
|
1384
|
+
# suspicions for the object when you apply for a new entry or get an existing one.
|
|
1385
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1386
|
+
attr_reader :active_aml_suspicions
|
|
1387
|
+
|
|
1388
|
+
sig { params(active_aml_suspicions: T::Boolean).void }
|
|
1389
|
+
attr_writer :active_aml_suspicions
|
|
1390
|
+
|
|
1391
|
+
# Version number of the API used.
|
|
1392
|
+
sig { returns(T.nilable(Integer)) }
|
|
1393
|
+
attr_reader :api_version
|
|
1394
|
+
|
|
1395
|
+
sig { params(api_version: Integer).void }
|
|
1396
|
+
attr_writer :api_version
|
|
1397
|
+
|
|
1398
|
+
# Timestamp when the request or process was approved.
|
|
1399
|
+
sig { returns(T.nilable(Time)) }
|
|
1400
|
+
attr_reader :approved_at
|
|
1401
|
+
|
|
1402
|
+
sig { params(approved_at: Time).void }
|
|
1403
|
+
attr_writer :approved_at
|
|
1404
|
+
|
|
1405
|
+
# URL to receive callback data from the AML system.
|
|
1406
|
+
sig { returns(T.nilable(String)) }
|
|
1407
|
+
attr_reader :callback_url
|
|
1408
|
+
|
|
1409
|
+
sig { params(callback_url: String).void }
|
|
1410
|
+
attr_writer :callback_url
|
|
1411
|
+
|
|
1412
|
+
# URL to receive notification updates about the processing status.
|
|
1413
|
+
sig { returns(T.nilable(String)) }
|
|
1414
|
+
attr_reader :callback_url_notification
|
|
1415
|
+
|
|
1416
|
+
sig { params(callback_url_notification: String).void }
|
|
1417
|
+
attr_writer :callback_url_notification
|
|
1418
|
+
|
|
1419
|
+
# Flag to indicate if notifications are disabled.
|
|
1420
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1421
|
+
attr_reader :disable_notification
|
|
1422
|
+
|
|
1423
|
+
sig { params(disable_notification: T::Boolean).void }
|
|
1424
|
+
attr_writer :disable_notification
|
|
1425
|
+
|
|
1426
|
+
# Timestamp when notifications were disabled; null if never disabled.
|
|
1427
|
+
sig { returns(T.nilable(Time)) }
|
|
1428
|
+
attr_accessor :disable_notification_date
|
|
1429
|
+
|
|
1430
|
+
# Export format defined by the API (e.g., "json", "xml").
|
|
1431
|
+
sig { returns(T.nilable(String)) }
|
|
1432
|
+
attr_reader :export_type
|
|
1433
|
+
|
|
1434
|
+
sig { params(export_type: String).void }
|
|
1435
|
+
attr_writer :export_type
|
|
1436
|
+
|
|
1437
|
+
# Timestamp when the process finished.
|
|
1438
|
+
sig { returns(T.nilable(Time)) }
|
|
1439
|
+
attr_reader :finished_at
|
|
1440
|
+
|
|
1441
|
+
sig { params(finished_at: Time).void }
|
|
1442
|
+
attr_writer :finished_at
|
|
1443
|
+
|
|
1444
|
+
# IP address of the our system handling the request.
|
|
1445
|
+
sig { returns(T.nilable(String)) }
|
|
1446
|
+
attr_reader :ip
|
|
1447
|
+
|
|
1448
|
+
sig { params(ip: String).void }
|
|
1449
|
+
attr_writer :ip
|
|
1450
|
+
|
|
1451
|
+
# Language preference used in the client workspace (e.g., "fra").
|
|
1452
|
+
sig { returns(T.nilable(String)) }
|
|
1453
|
+
attr_reader :language
|
|
1454
|
+
|
|
1455
|
+
sig { params(language: String).void }
|
|
1456
|
+
attr_writer :language
|
|
1457
|
+
|
|
1458
|
+
# IP address of the end client (final user) captured.
|
|
1459
|
+
sig { returns(T.nilable(String)) }
|
|
1460
|
+
attr_reader :location_ip
|
|
1461
|
+
|
|
1462
|
+
sig { params(location_ip: String).void }
|
|
1463
|
+
attr_writer :location_ip
|
|
1464
|
+
|
|
1465
|
+
# Timestamp indicating when the request or process needs review; null if none.
|
|
1466
|
+
sig { returns(T.nilable(Time)) }
|
|
1467
|
+
attr_accessor :need_review_at
|
|
1468
|
+
|
|
1469
|
+
# Flag indicating if notification confirmation is required or received.
|
|
1470
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1471
|
+
attr_reader :notification_confirmation
|
|
1472
|
+
|
|
1473
|
+
sig { params(notification_confirmation: T::Boolean).void }
|
|
1474
|
+
attr_writer :notification_confirmation
|
|
1475
|
+
|
|
1476
|
+
# Indicates whether QR code is enabled ("true" or "false").
|
|
1477
|
+
sig { returns(T.nilable(String)) }
|
|
1478
|
+
attr_reader :qr_code
|
|
1479
|
+
|
|
1480
|
+
sig { params(qr_code: String).void }
|
|
1481
|
+
attr_writer :qr_code
|
|
1482
|
+
|
|
1483
|
+
# Flag indicating whether to include raw data in the response.
|
|
1484
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
1485
|
+
attr_reader :raw_data
|
|
1486
|
+
|
|
1487
|
+
sig { params(raw_data: T::Boolean).void }
|
|
1488
|
+
attr_writer :raw_data
|
|
1489
|
+
|
|
1490
|
+
# Timestamp when the request or process was rejected; null if not rejected.
|
|
1491
|
+
sig { returns(T.nilable(Time)) }
|
|
1492
|
+
attr_accessor :rejected_at
|
|
1493
|
+
|
|
1494
|
+
# Duration of the user session in seconds.
|
|
1495
|
+
sig { returns(T.nilable(Integer)) }
|
|
1496
|
+
attr_reader :session_duration
|
|
1497
|
+
|
|
1498
|
+
sig { params(session_duration: Integer).void }
|
|
1499
|
+
attr_writer :session_duration
|
|
1500
|
+
|
|
1501
|
+
# Timestamp when the process started.
|
|
1502
|
+
sig { returns(T.nilable(Time)) }
|
|
1503
|
+
attr_reader :started_at
|
|
1504
|
+
|
|
1505
|
+
sig { params(started_at: Time).void }
|
|
1506
|
+
attr_writer :started_at
|
|
1507
|
+
|
|
1508
|
+
# Date/time of data transfer.
|
|
1509
|
+
sig { returns(T.nilable(Time)) }
|
|
1510
|
+
attr_reader :transfer_at
|
|
1511
|
+
|
|
1512
|
+
sig { params(transfer_at: Time).void }
|
|
1513
|
+
attr_writer :transfer_at
|
|
1514
|
+
|
|
1515
|
+
# Mode of data transfer.
|
|
1516
|
+
sig { returns(T.nilable(String)) }
|
|
1517
|
+
attr_reader :transfer_mode
|
|
1518
|
+
|
|
1519
|
+
sig { params(transfer_mode: String).void }
|
|
1520
|
+
attr_writer :transfer_mode
|
|
1521
|
+
|
|
1522
|
+
# Technical metadata related to the request, such as IP address, QR code settings,
|
|
1523
|
+
# and callback URLs.
|
|
1524
|
+
sig do
|
|
1525
|
+
params(
|
|
1526
|
+
active_aml_suspicions: T::Boolean,
|
|
1527
|
+
api_version: Integer,
|
|
1528
|
+
approved_at: Time,
|
|
1529
|
+
callback_url: String,
|
|
1530
|
+
callback_url_notification: String,
|
|
1531
|
+
disable_notification: T::Boolean,
|
|
1532
|
+
disable_notification_date: T.nilable(Time),
|
|
1533
|
+
export_type: String,
|
|
1534
|
+
finished_at: Time,
|
|
1535
|
+
ip: String,
|
|
1536
|
+
language: String,
|
|
1537
|
+
location_ip: String,
|
|
1538
|
+
need_review_at: T.nilable(Time),
|
|
1539
|
+
notification_confirmation: T::Boolean,
|
|
1540
|
+
qr_code: String,
|
|
1541
|
+
raw_data: T::Boolean,
|
|
1542
|
+
rejected_at: T.nilable(Time),
|
|
1543
|
+
session_duration: Integer,
|
|
1544
|
+
started_at: Time,
|
|
1545
|
+
transfer_at: Time,
|
|
1546
|
+
transfer_mode: String
|
|
1547
|
+
).returns(T.attached_class)
|
|
1548
|
+
end
|
|
1549
|
+
def self.new(
|
|
1550
|
+
# Flag indicating whether there are active research AML (Anti-Money Laundering)
|
|
1551
|
+
# suspicions for the object when you apply for a new entry or get an existing one.
|
|
1552
|
+
active_aml_suspicions: nil,
|
|
1553
|
+
# Version number of the API used.
|
|
1554
|
+
api_version: nil,
|
|
1555
|
+
# Timestamp when the request or process was approved.
|
|
1556
|
+
approved_at: nil,
|
|
1557
|
+
# URL to receive callback data from the AML system.
|
|
1558
|
+
callback_url: nil,
|
|
1559
|
+
# URL to receive notification updates about the processing status.
|
|
1560
|
+
callback_url_notification: nil,
|
|
1561
|
+
# Flag to indicate if notifications are disabled.
|
|
1562
|
+
disable_notification: nil,
|
|
1563
|
+
# Timestamp when notifications were disabled; null if never disabled.
|
|
1564
|
+
disable_notification_date: nil,
|
|
1565
|
+
# Export format defined by the API (e.g., "json", "xml").
|
|
1566
|
+
export_type: nil,
|
|
1567
|
+
# Timestamp when the process finished.
|
|
1568
|
+
finished_at: nil,
|
|
1569
|
+
# IP address of the our system handling the request.
|
|
1570
|
+
ip: nil,
|
|
1571
|
+
# Language preference used in the client workspace (e.g., "fra").
|
|
1572
|
+
language: nil,
|
|
1573
|
+
# IP address of the end client (final user) captured.
|
|
1574
|
+
location_ip: nil,
|
|
1575
|
+
# Timestamp indicating when the request or process needs review; null if none.
|
|
1576
|
+
need_review_at: nil,
|
|
1577
|
+
# Flag indicating if notification confirmation is required or received.
|
|
1578
|
+
notification_confirmation: nil,
|
|
1579
|
+
# Indicates whether QR code is enabled ("true" or "false").
|
|
1580
|
+
qr_code: nil,
|
|
1581
|
+
# Flag indicating whether to include raw data in the response.
|
|
1582
|
+
raw_data: nil,
|
|
1583
|
+
# Timestamp when the request or process was rejected; null if not rejected.
|
|
1584
|
+
rejected_at: nil,
|
|
1585
|
+
# Duration of the user session in seconds.
|
|
1586
|
+
session_duration: nil,
|
|
1587
|
+
# Timestamp when the process started.
|
|
1588
|
+
started_at: nil,
|
|
1589
|
+
# Date/time of data transfer.
|
|
1590
|
+
transfer_at: nil,
|
|
1591
|
+
# Mode of data transfer.
|
|
1592
|
+
transfer_mode: nil
|
|
1593
|
+
)
|
|
1594
|
+
end
|
|
1595
|
+
|
|
1596
|
+
sig do
|
|
1597
|
+
override.returns(
|
|
1598
|
+
{
|
|
1599
|
+
active_aml_suspicions: T::Boolean,
|
|
1600
|
+
api_version: Integer,
|
|
1601
|
+
approved_at: Time,
|
|
1602
|
+
callback_url: String,
|
|
1603
|
+
callback_url_notification: String,
|
|
1604
|
+
disable_notification: T::Boolean,
|
|
1605
|
+
disable_notification_date: T.nilable(Time),
|
|
1606
|
+
export_type: String,
|
|
1607
|
+
finished_at: Time,
|
|
1608
|
+
ip: String,
|
|
1609
|
+
language: String,
|
|
1610
|
+
location_ip: String,
|
|
1611
|
+
need_review_at: T.nilable(Time),
|
|
1612
|
+
notification_confirmation: T::Boolean,
|
|
1613
|
+
qr_code: String,
|
|
1614
|
+
raw_data: T::Boolean,
|
|
1615
|
+
rejected_at: T.nilable(Time),
|
|
1616
|
+
session_duration: Integer,
|
|
1617
|
+
started_at: Time,
|
|
1618
|
+
transfer_at: Time,
|
|
1619
|
+
transfer_mode: String
|
|
1620
|
+
}
|
|
1621
|
+
)
|
|
1622
|
+
end
|
|
1623
|
+
def to_hash
|
|
1624
|
+
end
|
|
1625
|
+
end
|
|
1626
|
+
end
|
|
1627
|
+
end
|
|
1628
|
+
end
|