lithic 0.17.0 → 0.18.0

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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/models/auth_rules/rule_feature.rb +291 -2
  5. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  6. data/lib/lithic/models/claim_created_webhook_event.rb +190 -0
  7. data/lib/lithic/models/claim_document_accepted_webhook_event.rb +175 -0
  8. data/lib/lithic/models/claim_document_rejected_webhook_event.rb +175 -0
  9. data/lib/lithic/models/claim_document_uploaded_webhook_event.rb +175 -0
  10. data/lib/lithic/models/claim_updated_webhook_event.rb +190 -0
  11. data/lib/lithic/models/event.rb +23 -0
  12. data/lib/lithic/models/event_list_params.rb +14 -0
  13. data/lib/lithic/models/event_subscription.rb +14 -0
  14. data/lib/lithic/models/events/subscription_create_params.rb +14 -0
  15. data/lib/lithic/models/events/subscription_send_simulated_example_params.rb +5 -0
  16. data/lib/lithic/models/events/subscription_update_params.rb +14 -0
  17. data/lib/lithic/models/parsed_webhook_event.rb +11 -1
  18. data/lib/lithic/models.rb +10 -0
  19. data/lib/lithic/resources/webhooks.rb +1 -1
  20. data/lib/lithic/version.rb +1 -1
  21. data/lib/lithic.rb +5 -0
  22. data/rbi/lithic/models/auth_rules/rule_feature.rbi +686 -2
  23. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +15 -3
  24. data/rbi/lithic/models/claim_created_webhook_event.rbi +386 -0
  25. data/rbi/lithic/models/claim_document_accepted_webhook_event.rbi +315 -0
  26. data/rbi/lithic/models/claim_document_rejected_webhook_event.rbi +315 -0
  27. data/rbi/lithic/models/claim_document_uploaded_webhook_event.rbi +315 -0
  28. data/rbi/lithic/models/claim_updated_webhook_event.rbi +386 -0
  29. data/rbi/lithic/models/event.rbi +46 -0
  30. data/rbi/lithic/models/event_list_params.rbi +34 -0
  31. data/rbi/lithic/models/event_subscription.rbi +34 -0
  32. data/rbi/lithic/models/events/subscription_create_params.rbi +34 -0
  33. data/rbi/lithic/models/events/subscription_send_simulated_example_params.rbi +25 -0
  34. data/rbi/lithic/models/events/subscription_update_params.rbi +34 -0
  35. data/rbi/lithic/models/parsed_webhook_event.rbi +5 -0
  36. data/rbi/lithic/models.rbi +13 -0
  37. data/rbi/lithic/resources/webhooks.rbi +5 -0
  38. data/sig/lithic/models/auth_rules/rule_feature.rbs +252 -0
  39. data/sig/lithic/models/claim_created_webhook_event.rbs +169 -0
  40. data/sig/lithic/models/claim_document_accepted_webhook_event.rbs +131 -0
  41. data/sig/lithic/models/claim_document_rejected_webhook_event.rbs +131 -0
  42. data/sig/lithic/models/claim_document_uploaded_webhook_event.rbs +131 -0
  43. data/sig/lithic/models/claim_updated_webhook_event.rbs +169 -0
  44. data/sig/lithic/models/event.rbs +10 -0
  45. data/sig/lithic/models/event_list_params.rbs +10 -0
  46. data/sig/lithic/models/event_subscription.rbs +10 -0
  47. data/sig/lithic/models/events/subscription_create_params.rbs +10 -0
  48. data/sig/lithic/models/events/subscription_send_simulated_example_params.rbs +10 -0
  49. data/sig/lithic/models/events/subscription_update_params.rbs +10 -0
  50. data/sig/lithic/models/parsed_webhook_event.rbs +5 -0
  51. data/sig/lithic/models.rbs +10 -0
  52. data/sig/lithic/resources/webhooks.rbs +5 -0
  53. metadata +17 -2
@@ -0,0 +1,315 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class ClaimDocumentAcceptedWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Lithic::ClaimDocumentAcceptedWebhookEvent,
10
+ Lithic::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Unique identifier for the document, in UUID format
15
+ sig { returns(String) }
16
+ attr_accessor :token
17
+
18
+ # When the document was created
19
+ sig { returns(Time) }
20
+ attr_accessor :created
21
+
22
+ # Presigned URL for downloading the uploaded document. Available once the document
23
+ # is being validated or has been accepted (`VALIDATING` or `ACCEPTED`)
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :download_url
26
+
27
+ # When the download URL expires
28
+ sig { returns(T.nilable(Time)) }
29
+ attr_accessor :download_url_expires_at
30
+
31
+ # The type of event that occurred.
32
+ sig { returns(Symbol) }
33
+ attr_accessor :event_type
34
+
35
+ # Reason the document failed validation. Null unless `status` is `REJECTED`
36
+ sig do
37
+ returns(
38
+ T.nilable(
39
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::TaggedSymbol
40
+ )
41
+ )
42
+ end
43
+ attr_accessor :failure_reason
44
+
45
+ # Name provided when the upload intent was created
46
+ sig { returns(String) }
47
+ attr_accessor :name
48
+
49
+ # Identifier of the document requirement this document satisfies. Null for
50
+ # supplemental documents not tied to a specific requirement
51
+ sig { returns(T.nilable(String)) }
52
+ attr_accessor :requirement_id
53
+
54
+ # Current validation status of the document
55
+ sig do
56
+ returns(Lithic::ClaimDocumentAcceptedWebhookEvent::Status::TaggedSymbol)
57
+ end
58
+ attr_accessor :status
59
+
60
+ # When the document was last updated
61
+ sig { returns(Time) }
62
+ attr_accessor :updated
63
+
64
+ # Constraints that an uploaded file must satisfy.
65
+ sig do
66
+ returns(
67
+ T.nilable(
68
+ Lithic::ClaimDocumentAcceptedWebhookEvent::UploadConstraints
69
+ )
70
+ )
71
+ end
72
+ attr_reader :upload_constraints
73
+
74
+ sig do
75
+ params(
76
+ upload_constraints:
77
+ T.nilable(
78
+ Lithic::ClaimDocumentAcceptedWebhookEvent::UploadConstraints::OrHash
79
+ )
80
+ ).void
81
+ end
82
+ attr_writer :upload_constraints
83
+
84
+ # Presigned URL for uploading the file via HTTP PUT. Null after the upload window
85
+ # expires or after the document has been validated
86
+ sig { returns(T.nilable(String)) }
87
+ attr_accessor :upload_url
88
+
89
+ # When the upload URL expires
90
+ sig { returns(T.nilable(Time)) }
91
+ attr_accessor :upload_url_expires_at
92
+
93
+ sig do
94
+ params(
95
+ token: String,
96
+ created: Time,
97
+ download_url: T.nilable(String),
98
+ download_url_expires_at: T.nilable(Time),
99
+ failure_reason:
100
+ T.nilable(
101
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::OrSymbol
102
+ ),
103
+ name: String,
104
+ requirement_id: T.nilable(String),
105
+ status: Lithic::ClaimDocumentAcceptedWebhookEvent::Status::OrSymbol,
106
+ updated: Time,
107
+ upload_constraints:
108
+ T.nilable(
109
+ Lithic::ClaimDocumentAcceptedWebhookEvent::UploadConstraints::OrHash
110
+ ),
111
+ upload_url: T.nilable(String),
112
+ upload_url_expires_at: T.nilable(Time),
113
+ event_type: Symbol
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ # Unique identifier for the document, in UUID format
118
+ token:,
119
+ # When the document was created
120
+ created:,
121
+ # Presigned URL for downloading the uploaded document. Available once the document
122
+ # is being validated or has been accepted (`VALIDATING` or `ACCEPTED`)
123
+ download_url:,
124
+ # When the download URL expires
125
+ download_url_expires_at:,
126
+ # Reason the document failed validation. Null unless `status` is `REJECTED`
127
+ failure_reason:,
128
+ # Name provided when the upload intent was created
129
+ name:,
130
+ # Identifier of the document requirement this document satisfies. Null for
131
+ # supplemental documents not tied to a specific requirement
132
+ requirement_id:,
133
+ # Current validation status of the document
134
+ status:,
135
+ # When the document was last updated
136
+ updated:,
137
+ # Constraints that an uploaded file must satisfy.
138
+ upload_constraints:,
139
+ # Presigned URL for uploading the file via HTTP PUT. Null after the upload window
140
+ # expires or after the document has been validated
141
+ upload_url:,
142
+ # When the upload URL expires
143
+ upload_url_expires_at:,
144
+ # The type of event that occurred.
145
+ event_type: :"claim_document.accepted"
146
+ )
147
+ end
148
+
149
+ sig do
150
+ override.returns(
151
+ {
152
+ token: String,
153
+ created: Time,
154
+ download_url: T.nilable(String),
155
+ download_url_expires_at: T.nilable(Time),
156
+ event_type: Symbol,
157
+ failure_reason:
158
+ T.nilable(
159
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::TaggedSymbol
160
+ ),
161
+ name: String,
162
+ requirement_id: T.nilable(String),
163
+ status:
164
+ Lithic::ClaimDocumentAcceptedWebhookEvent::Status::TaggedSymbol,
165
+ updated: Time,
166
+ upload_constraints:
167
+ T.nilable(
168
+ Lithic::ClaimDocumentAcceptedWebhookEvent::UploadConstraints
169
+ ),
170
+ upload_url: T.nilable(String),
171
+ upload_url_expires_at: T.nilable(Time)
172
+ }
173
+ )
174
+ end
175
+ def to_hash
176
+ end
177
+
178
+ # Reason the document failed validation. Null unless `status` is `REJECTED`
179
+ module FailureReason
180
+ extend Lithic::Internal::Type::Enum
181
+
182
+ TaggedSymbol =
183
+ T.type_alias do
184
+ T.all(
185
+ Symbol,
186
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason
187
+ )
188
+ end
189
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
190
+
191
+ INVALID_MIME_TYPE =
192
+ T.let(
193
+ :INVALID_MIME_TYPE,
194
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::TaggedSymbol
195
+ )
196
+ FILE_TOO_LARGE =
197
+ T.let(
198
+ :FILE_TOO_LARGE,
199
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::TaggedSymbol
200
+ )
201
+ FILE_EMPTY =
202
+ T.let(
203
+ :FILE_EMPTY,
204
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::TaggedSymbol
205
+ )
206
+ CORRUPT_FILE =
207
+ T.let(
208
+ :CORRUPT_FILE,
209
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::TaggedSymbol
210
+ )
211
+ OTHER =
212
+ T.let(
213
+ :OTHER,
214
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::TaggedSymbol
215
+ )
216
+
217
+ sig do
218
+ override.returns(
219
+ T::Array[
220
+ Lithic::ClaimDocumentAcceptedWebhookEvent::FailureReason::TaggedSymbol
221
+ ]
222
+ )
223
+ end
224
+ def self.values
225
+ end
226
+ end
227
+
228
+ # Current validation status of the document
229
+ module Status
230
+ extend Lithic::Internal::Type::Enum
231
+
232
+ TaggedSymbol =
233
+ T.type_alias do
234
+ T.all(Symbol, Lithic::ClaimDocumentAcceptedWebhookEvent::Status)
235
+ end
236
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
237
+
238
+ PENDING =
239
+ T.let(
240
+ :PENDING,
241
+ Lithic::ClaimDocumentAcceptedWebhookEvent::Status::TaggedSymbol
242
+ )
243
+ VALIDATING =
244
+ T.let(
245
+ :VALIDATING,
246
+ Lithic::ClaimDocumentAcceptedWebhookEvent::Status::TaggedSymbol
247
+ )
248
+ ACCEPTED =
249
+ T.let(
250
+ :ACCEPTED,
251
+ Lithic::ClaimDocumentAcceptedWebhookEvent::Status::TaggedSymbol
252
+ )
253
+ REJECTED =
254
+ T.let(
255
+ :REJECTED,
256
+ Lithic::ClaimDocumentAcceptedWebhookEvent::Status::TaggedSymbol
257
+ )
258
+
259
+ sig do
260
+ override.returns(
261
+ T::Array[
262
+ Lithic::ClaimDocumentAcceptedWebhookEvent::Status::TaggedSymbol
263
+ ]
264
+ )
265
+ end
266
+ def self.values
267
+ end
268
+ end
269
+
270
+ class UploadConstraints < Lithic::Internal::Type::BaseModel
271
+ OrHash =
272
+ T.type_alias do
273
+ T.any(
274
+ Lithic::ClaimDocumentAcceptedWebhookEvent::UploadConstraints,
275
+ Lithic::Internal::AnyHash
276
+ )
277
+ end
278
+
279
+ # MIME types accepted for upload
280
+ sig { returns(T::Array[String]) }
281
+ attr_accessor :accepted_mime_types
282
+
283
+ # Maximum file size in bytes. Null if there is no enforced size limit
284
+ sig { returns(T.nilable(Integer)) }
285
+ attr_accessor :max_size_bytes
286
+
287
+ # Constraints that an uploaded file must satisfy.
288
+ sig do
289
+ params(
290
+ accepted_mime_types: T::Array[String],
291
+ max_size_bytes: T.nilable(Integer)
292
+ ).returns(T.attached_class)
293
+ end
294
+ def self.new(
295
+ # MIME types accepted for upload
296
+ accepted_mime_types:,
297
+ # Maximum file size in bytes. Null if there is no enforced size limit
298
+ max_size_bytes:
299
+ )
300
+ end
301
+
302
+ sig do
303
+ override.returns(
304
+ {
305
+ accepted_mime_types: T::Array[String],
306
+ max_size_bytes: T.nilable(Integer)
307
+ }
308
+ )
309
+ end
310
+ def to_hash
311
+ end
312
+ end
313
+ end
314
+ end
315
+ end
@@ -0,0 +1,315 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ class ClaimDocumentRejectedWebhookEvent < Lithic::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ Lithic::ClaimDocumentRejectedWebhookEvent,
10
+ Lithic::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ # Unique identifier for the document, in UUID format
15
+ sig { returns(String) }
16
+ attr_accessor :token
17
+
18
+ # When the document was created
19
+ sig { returns(Time) }
20
+ attr_accessor :created
21
+
22
+ # Presigned URL for downloading the uploaded document. Available once the document
23
+ # is being validated or has been accepted (`VALIDATING` or `ACCEPTED`)
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :download_url
26
+
27
+ # When the download URL expires
28
+ sig { returns(T.nilable(Time)) }
29
+ attr_accessor :download_url_expires_at
30
+
31
+ # The type of event that occurred.
32
+ sig { returns(Symbol) }
33
+ attr_accessor :event_type
34
+
35
+ # Reason the document failed validation. Null unless `status` is `REJECTED`
36
+ sig do
37
+ returns(
38
+ T.nilable(
39
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::TaggedSymbol
40
+ )
41
+ )
42
+ end
43
+ attr_accessor :failure_reason
44
+
45
+ # Name provided when the upload intent was created
46
+ sig { returns(String) }
47
+ attr_accessor :name
48
+
49
+ # Identifier of the document requirement this document satisfies. Null for
50
+ # supplemental documents not tied to a specific requirement
51
+ sig { returns(T.nilable(String)) }
52
+ attr_accessor :requirement_id
53
+
54
+ # Current validation status of the document
55
+ sig do
56
+ returns(Lithic::ClaimDocumentRejectedWebhookEvent::Status::TaggedSymbol)
57
+ end
58
+ attr_accessor :status
59
+
60
+ # When the document was last updated
61
+ sig { returns(Time) }
62
+ attr_accessor :updated
63
+
64
+ # Constraints that an uploaded file must satisfy.
65
+ sig do
66
+ returns(
67
+ T.nilable(
68
+ Lithic::ClaimDocumentRejectedWebhookEvent::UploadConstraints
69
+ )
70
+ )
71
+ end
72
+ attr_reader :upload_constraints
73
+
74
+ sig do
75
+ params(
76
+ upload_constraints:
77
+ T.nilable(
78
+ Lithic::ClaimDocumentRejectedWebhookEvent::UploadConstraints::OrHash
79
+ )
80
+ ).void
81
+ end
82
+ attr_writer :upload_constraints
83
+
84
+ # Presigned URL for uploading the file via HTTP PUT. Null after the upload window
85
+ # expires or after the document has been validated
86
+ sig { returns(T.nilable(String)) }
87
+ attr_accessor :upload_url
88
+
89
+ # When the upload URL expires
90
+ sig { returns(T.nilable(Time)) }
91
+ attr_accessor :upload_url_expires_at
92
+
93
+ sig do
94
+ params(
95
+ token: String,
96
+ created: Time,
97
+ download_url: T.nilable(String),
98
+ download_url_expires_at: T.nilable(Time),
99
+ failure_reason:
100
+ T.nilable(
101
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::OrSymbol
102
+ ),
103
+ name: String,
104
+ requirement_id: T.nilable(String),
105
+ status: Lithic::ClaimDocumentRejectedWebhookEvent::Status::OrSymbol,
106
+ updated: Time,
107
+ upload_constraints:
108
+ T.nilable(
109
+ Lithic::ClaimDocumentRejectedWebhookEvent::UploadConstraints::OrHash
110
+ ),
111
+ upload_url: T.nilable(String),
112
+ upload_url_expires_at: T.nilable(Time),
113
+ event_type: Symbol
114
+ ).returns(T.attached_class)
115
+ end
116
+ def self.new(
117
+ # Unique identifier for the document, in UUID format
118
+ token:,
119
+ # When the document was created
120
+ created:,
121
+ # Presigned URL for downloading the uploaded document. Available once the document
122
+ # is being validated or has been accepted (`VALIDATING` or `ACCEPTED`)
123
+ download_url:,
124
+ # When the download URL expires
125
+ download_url_expires_at:,
126
+ # Reason the document failed validation. Null unless `status` is `REJECTED`
127
+ failure_reason:,
128
+ # Name provided when the upload intent was created
129
+ name:,
130
+ # Identifier of the document requirement this document satisfies. Null for
131
+ # supplemental documents not tied to a specific requirement
132
+ requirement_id:,
133
+ # Current validation status of the document
134
+ status:,
135
+ # When the document was last updated
136
+ updated:,
137
+ # Constraints that an uploaded file must satisfy.
138
+ upload_constraints:,
139
+ # Presigned URL for uploading the file via HTTP PUT. Null after the upload window
140
+ # expires or after the document has been validated
141
+ upload_url:,
142
+ # When the upload URL expires
143
+ upload_url_expires_at:,
144
+ # The type of event that occurred.
145
+ event_type: :"claim_document.rejected"
146
+ )
147
+ end
148
+
149
+ sig do
150
+ override.returns(
151
+ {
152
+ token: String,
153
+ created: Time,
154
+ download_url: T.nilable(String),
155
+ download_url_expires_at: T.nilable(Time),
156
+ event_type: Symbol,
157
+ failure_reason:
158
+ T.nilable(
159
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::TaggedSymbol
160
+ ),
161
+ name: String,
162
+ requirement_id: T.nilable(String),
163
+ status:
164
+ Lithic::ClaimDocumentRejectedWebhookEvent::Status::TaggedSymbol,
165
+ updated: Time,
166
+ upload_constraints:
167
+ T.nilable(
168
+ Lithic::ClaimDocumentRejectedWebhookEvent::UploadConstraints
169
+ ),
170
+ upload_url: T.nilable(String),
171
+ upload_url_expires_at: T.nilable(Time)
172
+ }
173
+ )
174
+ end
175
+ def to_hash
176
+ end
177
+
178
+ # Reason the document failed validation. Null unless `status` is `REJECTED`
179
+ module FailureReason
180
+ extend Lithic::Internal::Type::Enum
181
+
182
+ TaggedSymbol =
183
+ T.type_alias do
184
+ T.all(
185
+ Symbol,
186
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason
187
+ )
188
+ end
189
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
190
+
191
+ INVALID_MIME_TYPE =
192
+ T.let(
193
+ :INVALID_MIME_TYPE,
194
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::TaggedSymbol
195
+ )
196
+ FILE_TOO_LARGE =
197
+ T.let(
198
+ :FILE_TOO_LARGE,
199
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::TaggedSymbol
200
+ )
201
+ FILE_EMPTY =
202
+ T.let(
203
+ :FILE_EMPTY,
204
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::TaggedSymbol
205
+ )
206
+ CORRUPT_FILE =
207
+ T.let(
208
+ :CORRUPT_FILE,
209
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::TaggedSymbol
210
+ )
211
+ OTHER =
212
+ T.let(
213
+ :OTHER,
214
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::TaggedSymbol
215
+ )
216
+
217
+ sig do
218
+ override.returns(
219
+ T::Array[
220
+ Lithic::ClaimDocumentRejectedWebhookEvent::FailureReason::TaggedSymbol
221
+ ]
222
+ )
223
+ end
224
+ def self.values
225
+ end
226
+ end
227
+
228
+ # Current validation status of the document
229
+ module Status
230
+ extend Lithic::Internal::Type::Enum
231
+
232
+ TaggedSymbol =
233
+ T.type_alias do
234
+ T.all(Symbol, Lithic::ClaimDocumentRejectedWebhookEvent::Status)
235
+ end
236
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
237
+
238
+ PENDING =
239
+ T.let(
240
+ :PENDING,
241
+ Lithic::ClaimDocumentRejectedWebhookEvent::Status::TaggedSymbol
242
+ )
243
+ VALIDATING =
244
+ T.let(
245
+ :VALIDATING,
246
+ Lithic::ClaimDocumentRejectedWebhookEvent::Status::TaggedSymbol
247
+ )
248
+ ACCEPTED =
249
+ T.let(
250
+ :ACCEPTED,
251
+ Lithic::ClaimDocumentRejectedWebhookEvent::Status::TaggedSymbol
252
+ )
253
+ REJECTED =
254
+ T.let(
255
+ :REJECTED,
256
+ Lithic::ClaimDocumentRejectedWebhookEvent::Status::TaggedSymbol
257
+ )
258
+
259
+ sig do
260
+ override.returns(
261
+ T::Array[
262
+ Lithic::ClaimDocumentRejectedWebhookEvent::Status::TaggedSymbol
263
+ ]
264
+ )
265
+ end
266
+ def self.values
267
+ end
268
+ end
269
+
270
+ class UploadConstraints < Lithic::Internal::Type::BaseModel
271
+ OrHash =
272
+ T.type_alias do
273
+ T.any(
274
+ Lithic::ClaimDocumentRejectedWebhookEvent::UploadConstraints,
275
+ Lithic::Internal::AnyHash
276
+ )
277
+ end
278
+
279
+ # MIME types accepted for upload
280
+ sig { returns(T::Array[String]) }
281
+ attr_accessor :accepted_mime_types
282
+
283
+ # Maximum file size in bytes. Null if there is no enforced size limit
284
+ sig { returns(T.nilable(Integer)) }
285
+ attr_accessor :max_size_bytes
286
+
287
+ # Constraints that an uploaded file must satisfy.
288
+ sig do
289
+ params(
290
+ accepted_mime_types: T::Array[String],
291
+ max_size_bytes: T.nilable(Integer)
292
+ ).returns(T.attached_class)
293
+ end
294
+ def self.new(
295
+ # MIME types accepted for upload
296
+ accepted_mime_types:,
297
+ # Maximum file size in bytes. Null if there is no enforced size limit
298
+ max_size_bytes:
299
+ )
300
+ end
301
+
302
+ sig do
303
+ override.returns(
304
+ {
305
+ accepted_mime_types: T::Array[String],
306
+ max_size_bytes: T.nilable(Integer)
307
+ }
308
+ )
309
+ end
310
+ def to_hash
311
+ end
312
+ end
313
+ end
314
+ end
315
+ end