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,513 @@
1
+ # typed: strong
2
+
3
+ module Dataleon
4
+ module Models
5
+ module Individuals
6
+ class Kbis < Dataleon::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Dataleon::Individuals::Kbis, Dataleon::Internal::AnyHash)
10
+ end
11
+
12
+ # Declared business activities.
13
+ sig { returns(T.nilable(String)) }
14
+ attr_reader :activities
15
+
16
+ sig { params(activities: String).void }
17
+ attr_writer :activities
18
+
19
+ # Official address of the company.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :address
22
+
23
+ sig { params(address: String).void }
24
+ attr_writer :address
25
+
26
+ # Registered social capital of the company.
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :capital_social
29
+
30
+ sig { params(capital_social: String).void }
31
+ attr_writer :capital_social
32
+
33
+ # Date of closure, if applicable.
34
+ sig { returns(T.nilable(Date)) }
35
+ attr_reader :closure_date
36
+
37
+ sig { params(closure_date: Date).void }
38
+ attr_writer :closure_date
39
+
40
+ # Official name of the company.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :company_name
43
+
44
+ sig { params(company_name: String).void }
45
+ attr_writer :company_name
46
+
47
+ # Date when the document was issued.
48
+ sig { returns(T.nilable(Date)) }
49
+ attr_reader :document_date
50
+
51
+ sig { params(document_date: Date).void }
52
+ attr_writer :document_date
53
+
54
+ # Fixed identifier for the document type.
55
+ sig { returns(T.nilable(String)) }
56
+ attr_reader :document_type
57
+
58
+ sig { params(document_type: String).void }
59
+ attr_writer :document_type
60
+
61
+ # Date of the first fiscal closure.
62
+ sig { returns(T.nilable(Date)) }
63
+ attr_reader :first_closure_date
64
+
65
+ sig { params(first_closure_date: Date).void }
66
+ attr_writer :first_closure_date
67
+
68
+ # Registry office that issued the document.
69
+ sig { returns(T.nilable(String)) }
70
+ attr_reader :from_greffe
71
+
72
+ sig { params(from_greffe: String).void }
73
+ attr_writer :from_greffe
74
+
75
+ # Legal form of the company (e.g., SAS, SARL).
76
+ sig { returns(T.nilable(String)) }
77
+ attr_reader :legal_form
78
+
79
+ sig { params(legal_form: String).void }
80
+ attr_writer :legal_form
81
+
82
+ # List of people or entities associated with the company.
83
+ sig do
84
+ returns(T.nilable(T::Array[Dataleon::Individuals::Kbis::Member]))
85
+ end
86
+ attr_reader :members
87
+
88
+ sig do
89
+ params(
90
+ members: T::Array[Dataleon::Individuals::Kbis::Member::OrHash]
91
+ ).void
92
+ end
93
+ attr_writer :members
94
+
95
+ # Business registry number or NGestion.
96
+ sig { returns(T.nilable(String)) }
97
+ attr_reader :ngestion
98
+
99
+ sig { params(ngestion: String).void }
100
+ attr_writer :ngestion
101
+
102
+ # RCS (Company Registration Number).
103
+ sig { returns(T.nilable(String)) }
104
+ attr_reader :rcs_number
105
+
106
+ sig { params(rcs_number: String).void }
107
+ attr_writer :rcs_number
108
+
109
+ # Date of registration with the registry.
110
+ sig { returns(T.nilable(Date)) }
111
+ attr_reader :registration_date
112
+
113
+ sig { params(registration_date: Date).void }
114
+ attr_writer :registration_date
115
+
116
+ # SIREN number of the company.
117
+ sig { returns(T.nilable(String)) }
118
+ attr_reader :siren_info
119
+
120
+ sig { params(siren_info: String).void }
121
+ attr_writer :siren_info
122
+
123
+ # A document representing official registration data from the KBIS (France).
124
+ sig do
125
+ params(
126
+ activities: String,
127
+ address: String,
128
+ capital_social: String,
129
+ closure_date: Date,
130
+ company_name: String,
131
+ document_date: Date,
132
+ document_type: String,
133
+ first_closure_date: Date,
134
+ from_greffe: String,
135
+ legal_form: String,
136
+ members: T::Array[Dataleon::Individuals::Kbis::Member::OrHash],
137
+ ngestion: String,
138
+ rcs_number: String,
139
+ registration_date: Date,
140
+ siren_info: String
141
+ ).returns(T.attached_class)
142
+ end
143
+ def self.new(
144
+ # Declared business activities.
145
+ activities: nil,
146
+ # Official address of the company.
147
+ address: nil,
148
+ # Registered social capital of the company.
149
+ capital_social: nil,
150
+ # Date of closure, if applicable.
151
+ closure_date: nil,
152
+ # Official name of the company.
153
+ company_name: nil,
154
+ # Date when the document was issued.
155
+ document_date: nil,
156
+ # Fixed identifier for the document type.
157
+ document_type: nil,
158
+ # Date of the first fiscal closure.
159
+ first_closure_date: nil,
160
+ # Registry office that issued the document.
161
+ from_greffe: nil,
162
+ # Legal form of the company (e.g., SAS, SARL).
163
+ legal_form: nil,
164
+ # List of people or entities associated with the company.
165
+ members: nil,
166
+ # Business registry number or NGestion.
167
+ ngestion: nil,
168
+ # RCS (Company Registration Number).
169
+ rcs_number: nil,
170
+ # Date of registration with the registry.
171
+ registration_date: nil,
172
+ # SIREN number of the company.
173
+ siren_info: nil
174
+ )
175
+ end
176
+
177
+ sig do
178
+ override.returns(
179
+ {
180
+ activities: String,
181
+ address: String,
182
+ capital_social: String,
183
+ closure_date: Date,
184
+ company_name: String,
185
+ document_date: Date,
186
+ document_type: String,
187
+ first_closure_date: Date,
188
+ from_greffe: String,
189
+ legal_form: String,
190
+ members: T::Array[Dataleon::Individuals::Kbis::Member],
191
+ ngestion: String,
192
+ rcs_number: String,
193
+ registration_date: Date,
194
+ siren_info: String
195
+ }
196
+ )
197
+ end
198
+ def to_hash
199
+ end
200
+
201
+ class Member < Dataleon::Internal::Type::BaseModel
202
+ OrHash =
203
+ T.type_alias do
204
+ T.any(
205
+ Dataleon::Individuals::Kbis::Member,
206
+ Dataleon::Internal::AnyHash
207
+ )
208
+ end
209
+
210
+ # Unique identifier for the member.
211
+ sig { returns(T.nilable(String)) }
212
+ attr_reader :id
213
+
214
+ sig { params(id: String).void }
215
+ attr_writer :id
216
+
217
+ # Address of the member.
218
+ sig { returns(T.nilable(String)) }
219
+ attr_reader :address
220
+
221
+ sig { params(address: String).void }
222
+ attr_writer :address
223
+
224
+ # Birth date of the person (only if type = person).
225
+ sig { returns(T.nilable(Time)) }
226
+ attr_reader :birthday
227
+
228
+ sig { params(birthday: Time).void }
229
+ attr_writer :birthday
230
+
231
+ # Place of birth (only if type = person).
232
+ sig { returns(T.nilable(String)) }
233
+ attr_reader :birthplace
234
+
235
+ sig { params(birthplace: String).void }
236
+ attr_writer :birthplace
237
+
238
+ # Country of residence or registration.
239
+ sig { returns(T.nilable(String)) }
240
+ attr_reader :country
241
+
242
+ sig { params(country: String).void }
243
+ attr_writer :country
244
+
245
+ # Email address of the member.
246
+ sig { returns(T.nilable(String)) }
247
+ attr_reader :email
248
+
249
+ sig { params(email: String).void }
250
+ attr_writer :email
251
+
252
+ # First name of the person (only if type = person).
253
+ sig { returns(T.nilable(String)) }
254
+ attr_reader :first_name
255
+
256
+ sig { params(first_name: String).void }
257
+ attr_writer :first_name
258
+
259
+ # Indicates if this member is a beneficial owner.
260
+ sig { returns(T.nilable(T::Boolean)) }
261
+ attr_reader :is_beneficial_owner
262
+
263
+ sig { params(is_beneficial_owner: T::Boolean).void }
264
+ attr_writer :is_beneficial_owner
265
+
266
+ # Indicates if this member is a delegator.
267
+ sig { returns(T.nilable(T::Boolean)) }
268
+ attr_reader :is_delegator
269
+
270
+ sig { params(is_delegator: T::Boolean).void }
271
+ attr_writer :is_delegator
272
+
273
+ # Last name of the person (only if type = person).
274
+ sig { returns(T.nilable(String)) }
275
+ attr_reader :last_name
276
+
277
+ sig { params(last_name: String).void }
278
+ attr_writer :last_name
279
+
280
+ # Indicates if the member passed liveness verification.
281
+ sig { returns(T.nilable(T::Boolean)) }
282
+ attr_reader :liveness_verification
283
+
284
+ sig { params(liveness_verification: T::Boolean).void }
285
+ attr_writer :liveness_verification
286
+
287
+ # Name of the company (only if type = company).
288
+ sig { returns(T.nilable(String)) }
289
+ attr_reader :name
290
+
291
+ sig { params(name: String).void }
292
+ attr_writer :name
293
+
294
+ # Ownership percentage held by the member.
295
+ sig { returns(T.nilable(Integer)) }
296
+ attr_reader :ownership_percentage
297
+
298
+ sig { params(ownership_percentage: Integer).void }
299
+ attr_writer :ownership_percentage
300
+
301
+ # Phone number of the member.
302
+ sig { returns(T.nilable(String)) }
303
+ attr_reader :phone_number
304
+
305
+ sig { params(phone_number: String).void }
306
+ attr_writer :phone_number
307
+
308
+ # Postal code of the member's address.
309
+ sig { returns(T.nilable(String)) }
310
+ attr_reader :postal_code
311
+
312
+ sig { params(postal_code: String).void }
313
+ attr_writer :postal_code
314
+
315
+ # Company registration number (if type = company).
316
+ sig { returns(T.nilable(String)) }
317
+ attr_reader :registration_id
318
+
319
+ sig { params(registration_id: String).void }
320
+ attr_writer :registration_id
321
+
322
+ # Type of relation (e.g., shareholder, director).
323
+ sig { returns(T.nilable(String)) }
324
+ attr_reader :relation
325
+
326
+ sig { params(relation: String).void }
327
+ attr_writer :relation
328
+
329
+ # Roles held by the member (e.g., legal_representative or shareholder).
330
+ sig { returns(T.nilable(String)) }
331
+ attr_reader :roles
332
+
333
+ sig { params(roles: String).void }
334
+ attr_writer :roles
335
+
336
+ # Source of the data (e.g., gouv, user, company).
337
+ sig { returns(T.nilable(String)) }
338
+ attr_reader :source
339
+
340
+ sig { params(source: String).void }
341
+ attr_writer :source
342
+
343
+ # Current status of the member.
344
+ sig { returns(T.nilable(String)) }
345
+ attr_reader :status
346
+
347
+ sig { params(status: String).void }
348
+ attr_writer :status
349
+
350
+ # Type of entity (company or person).
351
+ sig do
352
+ returns(
353
+ T.nilable(Dataleon::Individuals::Kbis::Member::Type::OrSymbol)
354
+ )
355
+ end
356
+ attr_reader :type
357
+
358
+ sig do
359
+ params(
360
+ type: Dataleon::Individuals::Kbis::Member::Type::OrSymbol
361
+ ).void
362
+ end
363
+ attr_writer :type
364
+
365
+ # Workspace identifier for internal tracking.
366
+ sig { returns(T.nilable(String)) }
367
+ attr_reader :workspace_id
368
+
369
+ sig { params(workspace_id: String).void }
370
+ attr_writer :workspace_id
371
+
372
+ # A member (person or entity) associated with the company from a KBIS document.
373
+ sig do
374
+ params(
375
+ id: String,
376
+ address: String,
377
+ birthday: Time,
378
+ birthplace: String,
379
+ country: String,
380
+ email: String,
381
+ first_name: String,
382
+ is_beneficial_owner: T::Boolean,
383
+ is_delegator: T::Boolean,
384
+ last_name: String,
385
+ liveness_verification: T::Boolean,
386
+ name: String,
387
+ ownership_percentage: Integer,
388
+ phone_number: String,
389
+ postal_code: String,
390
+ registration_id: String,
391
+ relation: String,
392
+ roles: String,
393
+ source: String,
394
+ status: String,
395
+ type: Dataleon::Individuals::Kbis::Member::Type::OrSymbol,
396
+ workspace_id: String
397
+ ).returns(T.attached_class)
398
+ end
399
+ def self.new(
400
+ # Unique identifier for the member.
401
+ id: nil,
402
+ # Address of the member.
403
+ address: nil,
404
+ # Birth date of the person (only if type = person).
405
+ birthday: nil,
406
+ # Place of birth (only if type = person).
407
+ birthplace: nil,
408
+ # Country of residence or registration.
409
+ country: nil,
410
+ # Email address of the member.
411
+ email: nil,
412
+ # First name of the person (only if type = person).
413
+ first_name: nil,
414
+ # Indicates if this member is a beneficial owner.
415
+ is_beneficial_owner: nil,
416
+ # Indicates if this member is a delegator.
417
+ is_delegator: nil,
418
+ # Last name of the person (only if type = person).
419
+ last_name: nil,
420
+ # Indicates if the member passed liveness verification.
421
+ liveness_verification: nil,
422
+ # Name of the company (only if type = company).
423
+ name: nil,
424
+ # Ownership percentage held by the member.
425
+ ownership_percentage: nil,
426
+ # Phone number of the member.
427
+ phone_number: nil,
428
+ # Postal code of the member's address.
429
+ postal_code: nil,
430
+ # Company registration number (if type = company).
431
+ registration_id: nil,
432
+ # Type of relation (e.g., shareholder, director).
433
+ relation: nil,
434
+ # Roles held by the member (e.g., legal_representative or shareholder).
435
+ roles: nil,
436
+ # Source of the data (e.g., gouv, user, company).
437
+ source: nil,
438
+ # Current status of the member.
439
+ status: nil,
440
+ # Type of entity (company or person).
441
+ type: nil,
442
+ # Workspace identifier for internal tracking.
443
+ workspace_id: nil
444
+ )
445
+ end
446
+
447
+ sig do
448
+ override.returns(
449
+ {
450
+ id: String,
451
+ address: String,
452
+ birthday: Time,
453
+ birthplace: String,
454
+ country: String,
455
+ email: String,
456
+ first_name: String,
457
+ is_beneficial_owner: T::Boolean,
458
+ is_delegator: T::Boolean,
459
+ last_name: String,
460
+ liveness_verification: T::Boolean,
461
+ name: String,
462
+ ownership_percentage: Integer,
463
+ phone_number: String,
464
+ postal_code: String,
465
+ registration_id: String,
466
+ relation: String,
467
+ roles: String,
468
+ source: String,
469
+ status: String,
470
+ type: Dataleon::Individuals::Kbis::Member::Type::OrSymbol,
471
+ workspace_id: String
472
+ }
473
+ )
474
+ end
475
+ def to_hash
476
+ end
477
+
478
+ # Type of entity (company or person).
479
+ module Type
480
+ extend Dataleon::Internal::Type::Enum
481
+
482
+ TaggedSymbol =
483
+ T.type_alias do
484
+ T.all(Symbol, Dataleon::Individuals::Kbis::Member::Type)
485
+ end
486
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
487
+
488
+ COMPANY =
489
+ T.let(
490
+ :company,
491
+ Dataleon::Individuals::Kbis::Member::Type::TaggedSymbol
492
+ )
493
+ PERSON =
494
+ T.let(
495
+ :person,
496
+ Dataleon::Individuals::Kbis::Member::Type::TaggedSymbol
497
+ )
498
+
499
+ sig do
500
+ override.returns(
501
+ T::Array[
502
+ Dataleon::Individuals::Kbis::Member::Type::TaggedSymbol
503
+ ]
504
+ )
505
+ end
506
+ def self.values
507
+ end
508
+ end
509
+ end
510
+ end
511
+ end
512
+ end
513
+ end
@@ -0,0 +1,33 @@
1
+ # typed: strong
2
+
3
+ module Dataleon
4
+ Check = Dataleon::Models::Check
5
+
6
+ Companies = Dataleon::Models::Companies
7
+
8
+ CompanyCreateParams = Dataleon::Models::CompanyCreateParams
9
+
10
+ CompanyDeleteParams = Dataleon::Models::CompanyDeleteParams
11
+
12
+ CompanyListParams = Dataleon::Models::CompanyListParams
13
+
14
+ CompanyRegistration = Dataleon::Models::CompanyRegistration
15
+
16
+ CompanyRetrieveParams = Dataleon::Models::CompanyRetrieveParams
17
+
18
+ CompanyUpdateParams = Dataleon::Models::CompanyUpdateParams
19
+
20
+ Individual = Dataleon::Models::Individual
21
+
22
+ IndividualCreateParams = Dataleon::Models::IndividualCreateParams
23
+
24
+ IndividualDeleteParams = Dataleon::Models::IndividualDeleteParams
25
+
26
+ IndividualListParams = Dataleon::Models::IndividualListParams
27
+
28
+ IndividualRetrieveParams = Dataleon::Models::IndividualRetrieveParams
29
+
30
+ Individuals = Dataleon::Models::Individuals
31
+
32
+ IndividualUpdateParams = Dataleon::Models::IndividualUpdateParams
33
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module Dataleon
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < Dataleon::Internal::Type::BaseModel
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(Dataleon::RequestOptions, Dataleon::Internal::AnyHash)
13
+ end
14
+
15
+ # @api private
16
+ sig { params(opts: Dataleon::RequestOptions::OrHash).void }
17
+ def self.validate!(opts)
18
+ end
19
+
20
+ # Idempotency key to send with request and all associated retries. Will only be
21
+ # sent for write requests.
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :idempotency_key
24
+
25
+ # Extra query params to send with the request. These are `.merge`’d into any
26
+ # `query` given at the client level.
27
+ sig do
28
+ returns(
29
+ T.nilable(T::Hash[String, T.nilable(T.any(T::Array[String], String))])
30
+ )
31
+ end
32
+ attr_accessor :extra_query
33
+
34
+ # Extra headers to send with the request. These are `.merged`’d into any
35
+ # `extra_headers` given at the client level.
36
+ sig { returns(T.nilable(T::Hash[String, T.nilable(String)])) }
37
+ attr_accessor :extra_headers
38
+
39
+ # Extra data to send with the request. These are deep merged into any data
40
+ # generated as part of the normal request.
41
+ sig { returns(T.nilable(T.anything)) }
42
+ attr_accessor :extra_body
43
+
44
+ # Maximum number of retries to attempt after a failed initial request.
45
+ sig { returns(T.nilable(Integer)) }
46
+ attr_accessor :max_retries
47
+
48
+ # Request timeout in seconds.
49
+ sig { returns(T.nilable(Float)) }
50
+ attr_accessor :timeout
51
+
52
+ # Returns a new instance of RequestOptions.
53
+ sig do
54
+ params(values: Dataleon::Internal::AnyHash).returns(T.attached_class)
55
+ end
56
+ def self.new(values = {})
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,52 @@
1
+ # typed: strong
2
+
3
+ module Dataleon
4
+ module Resources
5
+ class Companies
6
+ class Documents
7
+ # Get documents to an company
8
+ sig do
9
+ params(
10
+ company_id: String,
11
+ request_options: Dataleon::RequestOptions::OrHash
12
+ ).returns(Dataleon::Individuals::DocumentResponse)
13
+ end
14
+ def list(
15
+ # ID of the company to upload document
16
+ company_id,
17
+ request_options: {}
18
+ )
19
+ end
20
+
21
+ # Upload documents to an company
22
+ sig do
23
+ params(
24
+ company_id: String,
25
+ document_type:
26
+ Dataleon::Companies::DocumentUploadParams::DocumentType::OrSymbol,
27
+ file: Dataleon::Internal::FileInput,
28
+ url: String,
29
+ request_options: Dataleon::RequestOptions::OrHash
30
+ ).returns(Dataleon::Individuals::GenericDocument)
31
+ end
32
+ def upload(
33
+ # ID of the company to upload document
34
+ company_id,
35
+ # Filter by document type for upload (must be one of the allowed values)
36
+ document_type:,
37
+ # File to upload (required)
38
+ file: nil,
39
+ # URL of the file to upload (either `file` or `url` is required)
40
+ url: nil,
41
+ request_options: {}
42
+ )
43
+ end
44
+
45
+ # @api private
46
+ sig { params(client: Dataleon::Client).returns(T.attached_class) }
47
+ def self.new(client:)
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end