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.
Files changed (149) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +50 -0
  4. data/README.md +257 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/dataleon/client.rb +80 -0
  7. data/lib/dataleon/errors.rb +214 -0
  8. data/lib/dataleon/file_part.rb +55 -0
  9. data/lib/dataleon/internal/transport/base_client.rb +563 -0
  10. data/lib/dataleon/internal/transport/pooled_net_requester.rb +201 -0
  11. data/lib/dataleon/internal/type/array_of.rb +168 -0
  12. data/lib/dataleon/internal/type/base_model.rb +531 -0
  13. data/lib/dataleon/internal/type/base_page.rb +55 -0
  14. data/lib/dataleon/internal/type/boolean.rb +77 -0
  15. data/lib/dataleon/internal/type/converter.rb +327 -0
  16. data/lib/dataleon/internal/type/enum.rb +131 -0
  17. data/lib/dataleon/internal/type/file_input.rb +108 -0
  18. data/lib/dataleon/internal/type/hash_of.rb +188 -0
  19. data/lib/dataleon/internal/type/request_parameters.rb +42 -0
  20. data/lib/dataleon/internal/type/union.rb +237 -0
  21. data/lib/dataleon/internal/type/unknown.rb +81 -0
  22. data/lib/dataleon/internal/util.rb +914 -0
  23. data/lib/dataleon/internal.rb +20 -0
  24. data/lib/dataleon/models/check.rb +50 -0
  25. data/lib/dataleon/models/companies/document_list_params.rb +16 -0
  26. data/lib/dataleon/models/companies/document_upload_params.rb +82 -0
  27. data/lib/dataleon/models/company_create_params.rb +228 -0
  28. data/lib/dataleon/models/company_delete_params.rb +14 -0
  29. data/lib/dataleon/models/company_list_params.rb +108 -0
  30. data/lib/dataleon/models/company_list_response.rb +8 -0
  31. data/lib/dataleon/models/company_registration.rb +964 -0
  32. data/lib/dataleon/models/company_retrieve_params.rb +30 -0
  33. data/lib/dataleon/models/company_update_params.rb +228 -0
  34. data/lib/dataleon/models/individual.rb +805 -0
  35. data/lib/dataleon/models/individual_create_params.rb +174 -0
  36. data/lib/dataleon/models/individual_delete_params.rb +14 -0
  37. data/lib/dataleon/models/individual_list_params.rb +108 -0
  38. data/lib/dataleon/models/individual_list_response.rb +8 -0
  39. data/lib/dataleon/models/individual_retrieve_params.rb +30 -0
  40. data/lib/dataleon/models/individual_update_params.rb +174 -0
  41. data/lib/dataleon/models/individuals/document_list_params.rb +16 -0
  42. data/lib/dataleon/models/individuals/document_response.rb +98 -0
  43. data/lib/dataleon/models/individuals/document_upload_params.rb +82 -0
  44. data/lib/dataleon/models/individuals/generic_document.rb +132 -0
  45. data/lib/dataleon/models/individuals/kbis.rb +326 -0
  46. data/lib/dataleon/models.rb +71 -0
  47. data/lib/dataleon/request_options.rb +77 -0
  48. data/lib/dataleon/resources/companies/documents.rb +65 -0
  49. data/lib/dataleon/resources/companies.rb +164 -0
  50. data/lib/dataleon/resources/individuals/documents.rb +65 -0
  51. data/lib/dataleon/resources/individuals.rb +164 -0
  52. data/lib/dataleon/version.rb +5 -0
  53. data/lib/dataleon.rb +79 -0
  54. data/manifest.yaml +15 -0
  55. data/rbi/dataleon/client.rbi +56 -0
  56. data/rbi/dataleon/errors.rbi +178 -0
  57. data/rbi/dataleon/file_part.rbi +37 -0
  58. data/rbi/dataleon/internal/transport/base_client.rbi +293 -0
  59. data/rbi/dataleon/internal/transport/pooled_net_requester.rbi +79 -0
  60. data/rbi/dataleon/internal/type/array_of.rbi +104 -0
  61. data/rbi/dataleon/internal/type/base_model.rbi +302 -0
  62. data/rbi/dataleon/internal/type/base_page.rbi +42 -0
  63. data/rbi/dataleon/internal/type/boolean.rbi +58 -0
  64. data/rbi/dataleon/internal/type/converter.rbi +216 -0
  65. data/rbi/dataleon/internal/type/enum.rbi +82 -0
  66. data/rbi/dataleon/internal/type/file_input.rbi +59 -0
  67. data/rbi/dataleon/internal/type/hash_of.rbi +104 -0
  68. data/rbi/dataleon/internal/type/request_parameters.rbi +29 -0
  69. data/rbi/dataleon/internal/type/union.rbi +128 -0
  70. data/rbi/dataleon/internal/type/unknown.rbi +58 -0
  71. data/rbi/dataleon/internal/util.rbi +487 -0
  72. data/rbi/dataleon/internal.rbi +16 -0
  73. data/rbi/dataleon/models/check.rbi +83 -0
  74. data/rbi/dataleon/models/companies/document_list_params.rbi +32 -0
  75. data/rbi/dataleon/models/companies/document_upload_params.rbi +266 -0
  76. data/rbi/dataleon/models/company_create_params.rbi +361 -0
  77. data/rbi/dataleon/models/company_delete_params.rbi +27 -0
  78. data/rbi/dataleon/models/company_list_params.rbi +182 -0
  79. data/rbi/dataleon/models/company_list_response.rbi +11 -0
  80. data/rbi/dataleon/models/company_registration.rbi +1628 -0
  81. data/rbi/dataleon/models/company_retrieve_params.rbi +57 -0
  82. data/rbi/dataleon/models/company_update_params.rbi +361 -0
  83. data/rbi/dataleon/models/individual.rbi +1281 -0
  84. data/rbi/dataleon/models/individual_create_params.rbi +323 -0
  85. data/rbi/dataleon/models/individual_delete_params.rbi +27 -0
  86. data/rbi/dataleon/models/individual_list_params.rbi +193 -0
  87. data/rbi/dataleon/models/individual_list_response.rbi +11 -0
  88. data/rbi/dataleon/models/individual_retrieve_params.rbi +57 -0
  89. data/rbi/dataleon/models/individual_update_params.rbi +323 -0
  90. data/rbi/dataleon/models/individuals/document_list_params.rbi +32 -0
  91. data/rbi/dataleon/models/individuals/document_response.rbi +190 -0
  92. data/rbi/dataleon/models/individuals/document_upload_params.rbi +266 -0
  93. data/rbi/dataleon/models/individuals/generic_document.rbi +252 -0
  94. data/rbi/dataleon/models/individuals/kbis.rbi +513 -0
  95. data/rbi/dataleon/models.rbi +33 -0
  96. data/rbi/dataleon/request_options.rbi +59 -0
  97. data/rbi/dataleon/resources/companies/documents.rbi +52 -0
  98. data/rbi/dataleon/resources/companies.rbi +135 -0
  99. data/rbi/dataleon/resources/individuals/documents.rbi +52 -0
  100. data/rbi/dataleon/resources/individuals.rbi +137 -0
  101. data/rbi/dataleon/version.rbi +5 -0
  102. data/sig/dataleon/client.rbs +28 -0
  103. data/sig/dataleon/errors.rbs +110 -0
  104. data/sig/dataleon/file_part.rbs +21 -0
  105. data/sig/dataleon/internal/transport/base_client.rbs +131 -0
  106. data/sig/dataleon/internal/transport/pooled_net_requester.rbs +45 -0
  107. data/sig/dataleon/internal/type/array_of.rbs +48 -0
  108. data/sig/dataleon/internal/type/base_model.rbs +102 -0
  109. data/sig/dataleon/internal/type/base_page.rbs +24 -0
  110. data/sig/dataleon/internal/type/boolean.rbs +26 -0
  111. data/sig/dataleon/internal/type/converter.rbs +79 -0
  112. data/sig/dataleon/internal/type/enum.rbs +32 -0
  113. data/sig/dataleon/internal/type/file_input.rbs +25 -0
  114. data/sig/dataleon/internal/type/hash_of.rbs +48 -0
  115. data/sig/dataleon/internal/type/request_parameters.rbs +17 -0
  116. data/sig/dataleon/internal/type/union.rbs +52 -0
  117. data/sig/dataleon/internal/type/unknown.rbs +26 -0
  118. data/sig/dataleon/internal/util.rbs +185 -0
  119. data/sig/dataleon/internal.rbs +9 -0
  120. data/sig/dataleon/models/check.rbs +50 -0
  121. data/sig/dataleon/models/companies/document_list_params.rbs +17 -0
  122. data/sig/dataleon/models/companies/document_upload_params.rbs +119 -0
  123. data/sig/dataleon/models/company_create_params.rbs +209 -0
  124. data/sig/dataleon/models/company_delete_params.rbs +15 -0
  125. data/sig/dataleon/models/company_list_params.rbs +120 -0
  126. data/sig/dataleon/models/company_list_response.rbs +7 -0
  127. data/sig/dataleon/models/company_registration.rbs +847 -0
  128. data/sig/dataleon/models/company_retrieve_params.rbs +32 -0
  129. data/sig/dataleon/models/company_update_params.rbs +209 -0
  130. data/sig/dataleon/models/individual.rbs +717 -0
  131. data/sig/dataleon/models/individual_create_params.rbs +172 -0
  132. data/sig/dataleon/models/individual_delete_params.rbs +15 -0
  133. data/sig/dataleon/models/individual_list_params.rbs +120 -0
  134. data/sig/dataleon/models/individual_list_response.rbs +7 -0
  135. data/sig/dataleon/models/individual_retrieve_params.rbs +32 -0
  136. data/sig/dataleon/models/individual_update_params.rbs +172 -0
  137. data/sig/dataleon/models/individuals/document_list_params.rbs +17 -0
  138. data/sig/dataleon/models/individuals/document_response.rbs +101 -0
  139. data/sig/dataleon/models/individuals/document_upload_params.rbs +119 -0
  140. data/sig/dataleon/models/individuals/generic_document.rbs +132 -0
  141. data/sig/dataleon/models/individuals/kbis.rbs +303 -0
  142. data/sig/dataleon/models.rbs +31 -0
  143. data/sig/dataleon/request_options.rbs +34 -0
  144. data/sig/dataleon/resources/companies/documents.rbs +22 -0
  145. data/sig/dataleon/resources/companies.rbs +50 -0
  146. data/sig/dataleon/resources/individuals/documents.rbs +22 -0
  147. data/sig/dataleon/resources/individuals.rbs +50 -0
  148. data/sig/dataleon/version.rbs +3 -0
  149. metadata +206 -0
@@ -0,0 +1,57 @@
1
+ # typed: strong
2
+
3
+ module Dataleon
4
+ module Models
5
+ class CompanyRetrieveParams < Dataleon::Internal::Type::BaseModel
6
+ extend Dataleon::Internal::Type::RequestParameters::Converter
7
+ include Dataleon::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Dataleon::CompanyRetrieveParams, Dataleon::Internal::AnyHash)
12
+ end
13
+
14
+ # Include document signed url
15
+ sig { returns(T.nilable(T::Boolean)) }
16
+ attr_reader :document
17
+
18
+ sig { params(document: T::Boolean).void }
19
+ attr_writer :document
20
+
21
+ # Scope filter (id or scope)
22
+ sig { returns(T.nilable(String)) }
23
+ attr_reader :scope
24
+
25
+ sig { params(scope: String).void }
26
+ attr_writer :scope
27
+
28
+ sig do
29
+ params(
30
+ document: T::Boolean,
31
+ scope: String,
32
+ request_options: Dataleon::RequestOptions::OrHash
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Include document signed url
37
+ document: nil,
38
+ # Scope filter (id or scope)
39
+ scope: nil,
40
+ request_options: {}
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ {
47
+ document: T::Boolean,
48
+ scope: String,
49
+ request_options: Dataleon::RequestOptions
50
+ }
51
+ )
52
+ end
53
+ def to_hash
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,361 @@
1
+ # typed: strong
2
+
3
+ module Dataleon
4
+ module Models
5
+ class CompanyUpdateParams < Dataleon::Internal::Type::BaseModel
6
+ extend Dataleon::Internal::Type::RequestParameters::Converter
7
+ include Dataleon::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Dataleon::CompanyUpdateParams, Dataleon::Internal::AnyHash)
12
+ end
13
+
14
+ # Main information about the company being registered.
15
+ sig { returns(Dataleon::CompanyUpdateParams::Company) }
16
+ attr_reader :company
17
+
18
+ sig do
19
+ params(company: Dataleon::CompanyUpdateParams::Company::OrHash).void
20
+ end
21
+ attr_writer :company
22
+
23
+ # Unique identifier of the workspace in which the company is being created.
24
+ sig { returns(String) }
25
+ attr_accessor :workspace_id
26
+
27
+ # Optional identifier to track the origin of the request or integration from your
28
+ # system.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :source_id
31
+
32
+ sig { params(source_id: String).void }
33
+ attr_writer :source_id
34
+
35
+ # Technical metadata and callback configuration.
36
+ sig { returns(T.nilable(Dataleon::CompanyUpdateParams::TechnicalData)) }
37
+ attr_reader :technical_data
38
+
39
+ sig do
40
+ params(
41
+ technical_data: Dataleon::CompanyUpdateParams::TechnicalData::OrHash
42
+ ).void
43
+ end
44
+ attr_writer :technical_data
45
+
46
+ sig do
47
+ params(
48
+ company: Dataleon::CompanyUpdateParams::Company::OrHash,
49
+ workspace_id: String,
50
+ source_id: String,
51
+ technical_data: Dataleon::CompanyUpdateParams::TechnicalData::OrHash,
52
+ request_options: Dataleon::RequestOptions::OrHash
53
+ ).returns(T.attached_class)
54
+ end
55
+ def self.new(
56
+ # Main information about the company being registered.
57
+ company:,
58
+ # Unique identifier of the workspace in which the company is being created.
59
+ workspace_id:,
60
+ # Optional identifier to track the origin of the request or integration from your
61
+ # system.
62
+ source_id: nil,
63
+ # Technical metadata and callback configuration.
64
+ technical_data: nil,
65
+ request_options: {}
66
+ )
67
+ end
68
+
69
+ sig do
70
+ override.returns(
71
+ {
72
+ company: Dataleon::CompanyUpdateParams::Company,
73
+ workspace_id: String,
74
+ source_id: String,
75
+ technical_data: Dataleon::CompanyUpdateParams::TechnicalData,
76
+ request_options: Dataleon::RequestOptions
77
+ }
78
+ )
79
+ end
80
+ def to_hash
81
+ end
82
+
83
+ class Company < Dataleon::Internal::Type::BaseModel
84
+ OrHash =
85
+ T.type_alias do
86
+ T.any(
87
+ Dataleon::CompanyUpdateParams::Company,
88
+ Dataleon::Internal::AnyHash
89
+ )
90
+ end
91
+
92
+ # Legal name of the company.
93
+ sig { returns(String) }
94
+ attr_accessor :name
95
+
96
+ # Registered address of the company.
97
+ sig { returns(T.nilable(String)) }
98
+ attr_reader :address
99
+
100
+ sig { params(address: String).void }
101
+ attr_writer :address
102
+
103
+ # Commercial or trade name of the company, if different from the legal name.
104
+ sig { returns(T.nilable(String)) }
105
+ attr_reader :commercial_name
106
+
107
+ sig { params(commercial_name: String).void }
108
+ attr_writer :commercial_name
109
+
110
+ # ISO 3166-1 alpha-2 country code of company registration (e.g., "FR" for France).
111
+ sig { returns(T.nilable(String)) }
112
+ attr_reader :country
113
+
114
+ sig { params(country: String).void }
115
+ attr_writer :country
116
+
117
+ # Contact email address for the company.
118
+ sig { returns(T.nilable(String)) }
119
+ attr_reader :email
120
+
121
+ sig { params(email: String).void }
122
+ attr_writer :email
123
+
124
+ # Employer Identification Number (EIN) or equivalent.
125
+ sig { returns(T.nilable(String)) }
126
+ attr_reader :employer_identification_number
127
+
128
+ sig { params(employer_identification_number: String).void }
129
+ attr_writer :employer_identification_number
130
+
131
+ # Legal structure of the company (e.g., SARL, SAS).
132
+ sig { returns(T.nilable(String)) }
133
+ attr_reader :legal_form
134
+
135
+ sig { params(legal_form: String).void }
136
+ attr_writer :legal_form
137
+
138
+ # Contact phone number for the company.
139
+ sig { returns(T.nilable(String)) }
140
+ attr_reader :phone_number
141
+
142
+ sig { params(phone_number: String).void }
143
+ attr_writer :phone_number
144
+
145
+ # Date of official company registration in YYYY-MM-DD format.
146
+ sig { returns(T.nilable(String)) }
147
+ attr_reader :registration_date
148
+
149
+ sig { params(registration_date: String).void }
150
+ attr_writer :registration_date
151
+
152
+ # Official company registration identifier.
153
+ sig { returns(T.nilable(String)) }
154
+ attr_reader :registration_id
155
+
156
+ sig { params(registration_id: String).void }
157
+ attr_writer :registration_id
158
+
159
+ # Declared share capital of the company, usually in euros.
160
+ sig { returns(T.nilable(String)) }
161
+ attr_reader :share_capital
162
+
163
+ sig { params(share_capital: String).void }
164
+ attr_writer :share_capital
165
+
166
+ # Current status of the company (e.g., active, inactive).
167
+ sig { returns(T.nilable(String)) }
168
+ attr_reader :status
169
+
170
+ sig { params(status: String).void }
171
+ attr_writer :status
172
+
173
+ # National tax identifier (e.g., VAT or TIN).
174
+ sig { returns(T.nilable(String)) }
175
+ attr_reader :tax_identification_number
176
+
177
+ sig { params(tax_identification_number: String).void }
178
+ attr_writer :tax_identification_number
179
+
180
+ # Type of company, such as "main" or "affiliated".
181
+ sig { returns(T.nilable(String)) }
182
+ attr_reader :type
183
+
184
+ sig { params(type: String).void }
185
+ attr_writer :type
186
+
187
+ # Company’s official website URL.
188
+ sig { returns(T.nilable(String)) }
189
+ attr_reader :website_url
190
+
191
+ sig { params(website_url: String).void }
192
+ attr_writer :website_url
193
+
194
+ # Main information about the company being registered.
195
+ sig do
196
+ params(
197
+ name: String,
198
+ address: String,
199
+ commercial_name: String,
200
+ country: String,
201
+ email: String,
202
+ employer_identification_number: String,
203
+ legal_form: String,
204
+ phone_number: String,
205
+ registration_date: String,
206
+ registration_id: String,
207
+ share_capital: String,
208
+ status: String,
209
+ tax_identification_number: String,
210
+ type: String,
211
+ website_url: String
212
+ ).returns(T.attached_class)
213
+ end
214
+ def self.new(
215
+ # Legal name of the company.
216
+ name:,
217
+ # Registered address of the company.
218
+ address: nil,
219
+ # Commercial or trade name of the company, if different from the legal name.
220
+ commercial_name: nil,
221
+ # ISO 3166-1 alpha-2 country code of company registration (e.g., "FR" for France).
222
+ country: nil,
223
+ # Contact email address for the company.
224
+ email: nil,
225
+ # Employer Identification Number (EIN) or equivalent.
226
+ employer_identification_number: nil,
227
+ # Legal structure of the company (e.g., SARL, SAS).
228
+ legal_form: nil,
229
+ # Contact phone number for the company.
230
+ phone_number: nil,
231
+ # Date of official company registration in YYYY-MM-DD format.
232
+ registration_date: nil,
233
+ # Official company registration identifier.
234
+ registration_id: nil,
235
+ # Declared share capital of the company, usually in euros.
236
+ share_capital: nil,
237
+ # Current status of the company (e.g., active, inactive).
238
+ status: nil,
239
+ # National tax identifier (e.g., VAT or TIN).
240
+ tax_identification_number: nil,
241
+ # Type of company, such as "main" or "affiliated".
242
+ type: nil,
243
+ # Company’s official website URL.
244
+ website_url: nil
245
+ )
246
+ end
247
+
248
+ sig do
249
+ override.returns(
250
+ {
251
+ name: String,
252
+ address: String,
253
+ commercial_name: String,
254
+ country: String,
255
+ email: String,
256
+ employer_identification_number: String,
257
+ legal_form: String,
258
+ phone_number: String,
259
+ registration_date: String,
260
+ registration_id: String,
261
+ share_capital: String,
262
+ status: String,
263
+ tax_identification_number: String,
264
+ type: String,
265
+ website_url: String
266
+ }
267
+ )
268
+ end
269
+ def to_hash
270
+ end
271
+ end
272
+
273
+ class TechnicalData < Dataleon::Internal::Type::BaseModel
274
+ OrHash =
275
+ T.type_alias do
276
+ T.any(
277
+ Dataleon::CompanyUpdateParams::TechnicalData,
278
+ Dataleon::Internal::AnyHash
279
+ )
280
+ end
281
+
282
+ # Flag indicating whether there are active research AML (Anti-Money Laundering)
283
+ # suspicions for the company when you apply for a new entry or get an existing
284
+ # one.
285
+ sig { returns(T.nilable(T::Boolean)) }
286
+ attr_reader :active_aml_suspicions
287
+
288
+ sig { params(active_aml_suspicions: T::Boolean).void }
289
+ attr_writer :active_aml_suspicions
290
+
291
+ # URL to receive a callback once the company is processed.
292
+ sig { returns(T.nilable(String)) }
293
+ attr_reader :callback_url
294
+
295
+ sig { params(callback_url: String).void }
296
+ attr_writer :callback_url
297
+
298
+ # URL to receive notifications about the processing state and status.
299
+ sig { returns(T.nilable(String)) }
300
+ attr_reader :callback_url_notification
301
+
302
+ sig { params(callback_url_notification: String).void }
303
+ attr_writer :callback_url_notification
304
+
305
+ # Preferred language for responses or notifications (e.g., "eng", "fra").
306
+ sig { returns(T.nilable(String)) }
307
+ attr_reader :language
308
+
309
+ sig { params(language: String).void }
310
+ attr_writer :language
311
+
312
+ # Flag indicating whether to include raw data in the response.
313
+ sig { returns(T.nilable(T::Boolean)) }
314
+ attr_reader :raw_data
315
+
316
+ sig { params(raw_data: T::Boolean).void }
317
+ attr_writer :raw_data
318
+
319
+ # Technical metadata and callback configuration.
320
+ sig do
321
+ params(
322
+ active_aml_suspicions: T::Boolean,
323
+ callback_url: String,
324
+ callback_url_notification: String,
325
+ language: String,
326
+ raw_data: T::Boolean
327
+ ).returns(T.attached_class)
328
+ end
329
+ def self.new(
330
+ # Flag indicating whether there are active research AML (Anti-Money Laundering)
331
+ # suspicions for the company when you apply for a new entry or get an existing
332
+ # one.
333
+ active_aml_suspicions: nil,
334
+ # URL to receive a callback once the company is processed.
335
+ callback_url: nil,
336
+ # URL to receive notifications about the processing state and status.
337
+ callback_url_notification: nil,
338
+ # Preferred language for responses or notifications (e.g., "eng", "fra").
339
+ language: nil,
340
+ # Flag indicating whether to include raw data in the response.
341
+ raw_data: nil
342
+ )
343
+ end
344
+
345
+ sig do
346
+ override.returns(
347
+ {
348
+ active_aml_suspicions: T::Boolean,
349
+ callback_url: String,
350
+ callback_url_notification: String,
351
+ language: String,
352
+ raw_data: T::Boolean
353
+ }
354
+ )
355
+ end
356
+ def to_hash
357
+ end
358
+ end
359
+ end
360
+ end
361
+ end