e-invoice-api 0.32.0 → 0.34.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 (111) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/e_invoice_api/client.rb +16 -0
  5. data/lib/e_invoice_api/models/conversion/document_create_from_pdf_task.rb +43 -0
  6. data/lib/e_invoice_api/models/conversion/pdf_create_params.rb +22 -0
  7. data/lib/e_invoice_api/models/conversion/pdf_result_params.rb +22 -0
  8. data/lib/e_invoice_api/models/conversion/pdf_retrieve_params.rb +22 -0
  9. data/lib/e_invoice_api/models/document_create.rb +158 -5
  10. data/lib/e_invoice_api/models/document_create_from_pdf_response.rb +108 -5
  11. data/lib/e_invoice_api/models/document_lifecycle_params.rb +20 -0
  12. data/lib/e_invoice_api/models/document_lifecycle_response.rb +134 -0
  13. data/lib/e_invoice_api/models/document_response.rb +112 -7
  14. data/lib/e_invoice_api/models/document_timeline_params.rb +20 -0
  15. data/lib/e_invoice_api/models/document_timeline_response.rb +71 -0
  16. data/lib/e_invoice_api/models/draft_list_params.rb +113 -0
  17. data/lib/e_invoice_api/models/inbound_email_response.rb +129 -0
  18. data/lib/e_invoice_api/models/mailbox_download_attachment_params.rb +26 -0
  19. data/lib/e_invoice_api/models/mailbox_list_params.rb +129 -0
  20. data/lib/e_invoice_api/models/mailbox_reprocess_params.rb +20 -0
  21. data/lib/e_invoice_api/models/mailbox_retrieve_params.rb +20 -0
  22. data/lib/e_invoice_api/models/me_retrieve_response.rb +8 -7
  23. data/lib/e_invoice_api/models/payment_detail_create.rb +4 -2
  24. data/lib/e_invoice_api/models/stats_retrieve_params.rb +55 -0
  25. data/lib/e_invoice_api/models/stats_retrieve_response.rb +141 -0
  26. data/lib/e_invoice_api/models/ubl_document_validation.rb +10 -1
  27. data/lib/e_invoice_api/models/webhook_history_params.rb +20 -0
  28. data/lib/e_invoice_api/models/webhook_history_response.rb +17 -0
  29. data/lib/e_invoice_api/models/webhook_test_params.rb +37 -0
  30. data/lib/e_invoice_api/models/webhook_test_response.rb +35 -0
  31. data/lib/e_invoice_api/models.rb +24 -0
  32. data/lib/e_invoice_api/resources/conversion/pdf.rb +76 -0
  33. data/lib/e_invoice_api/resources/conversion.rb +18 -0
  34. data/lib/e_invoice_api/resources/documents.rb +62 -1
  35. data/lib/e_invoice_api/resources/drafts.rb +55 -0
  36. data/lib/e_invoice_api/resources/mailbox.rb +123 -0
  37. data/lib/e_invoice_api/resources/stats.rb +47 -0
  38. data/lib/e_invoice_api/resources/validate.rb +22 -2
  39. data/lib/e_invoice_api/resources/webhooks.rb +45 -0
  40. data/lib/e_invoice_api/version.rb +1 -1
  41. data/lib/e_invoice_api.rb +25 -0
  42. data/rbi/e_invoice_api/client.rbi +12 -0
  43. data/rbi/e_invoice_api/models/conversion/document_create_from_pdf_task.rbi +108 -0
  44. data/rbi/e_invoice_api/models/conversion/pdf_create_params.rbi +43 -0
  45. data/rbi/e_invoice_api/models/conversion/pdf_result_params.rbi +40 -0
  46. data/rbi/e_invoice_api/models/conversion/pdf_retrieve_params.rbi +40 -0
  47. data/rbi/e_invoice_api/models/document_create.rbi +210 -3
  48. data/rbi/e_invoice_api/models/document_create_from_pdf_response.rbi +124 -3
  49. data/rbi/e_invoice_api/models/document_lifecycle_params.rbi +38 -0
  50. data/rbi/e_invoice_api/models/document_lifecycle_response.rbi +353 -0
  51. data/rbi/e_invoice_api/models/document_response.rbi +130 -5
  52. data/rbi/e_invoice_api/models/document_timeline_params.rbi +38 -0
  53. data/rbi/e_invoice_api/models/document_timeline_response.rbi +168 -0
  54. data/rbi/e_invoice_api/models/draft_list_params.rbi +194 -0
  55. data/rbi/e_invoice_api/models/inbound_email_response.rbi +189 -0
  56. data/rbi/e_invoice_api/models/mailbox_download_attachment_params.rbi +46 -0
  57. data/rbi/e_invoice_api/models/mailbox_list_params.rbi +218 -0
  58. data/rbi/e_invoice_api/models/mailbox_reprocess_params.rbi +41 -0
  59. data/rbi/e_invoice_api/models/mailbox_retrieve_params.rbi +41 -0
  60. data/rbi/e_invoice_api/models/me_retrieve_response.rbi +10 -8
  61. data/rbi/e_invoice_api/models/payment_detail_create.rbi +6 -2
  62. data/rbi/e_invoice_api/models/stats_retrieve_params.rbi +111 -0
  63. data/rbi/e_invoice_api/models/stats_retrieve_response.rbi +251 -0
  64. data/rbi/e_invoice_api/models/ubl_document_validation.rbi +11 -1
  65. data/rbi/e_invoice_api/models/webhook_history_params.rbi +38 -0
  66. data/rbi/e_invoice_api/models/webhook_history_response.rbi +32 -0
  67. data/rbi/e_invoice_api/models/webhook_test_params.rbi +57 -0
  68. data/rbi/e_invoice_api/models/webhook_test_response.rbi +57 -0
  69. data/rbi/e_invoice_api/models.rbi +25 -0
  70. data/rbi/e_invoice_api/resources/conversion/pdf.rbi +44 -0
  71. data/rbi/e_invoice_api/resources/conversion.rbi +15 -0
  72. data/rbi/e_invoice_api/resources/documents.rbi +67 -0
  73. data/rbi/e_invoice_api/resources/drafts.rbi +55 -0
  74. data/rbi/e_invoice_api/resources/mailbox.rbi +93 -0
  75. data/rbi/e_invoice_api/resources/stats.rbi +38 -0
  76. data/rbi/e_invoice_api/resources/validate.rbi +44 -1
  77. data/rbi/e_invoice_api/resources/webhooks.rbi +29 -0
  78. data/sig/e_invoice_api/client.rbs +8 -0
  79. data/sig/e_invoice_api/models/conversion/document_create_from_pdf_task.rbs +45 -0
  80. data/sig/e_invoice_api/models/conversion/pdf_create_params.rbs +26 -0
  81. data/sig/e_invoice_api/models/conversion/pdf_result_params.rbs +25 -0
  82. data/sig/e_invoice_api/models/conversion/pdf_retrieve_params.rbs +25 -0
  83. data/sig/e_invoice_api/models/document_create.rbs +87 -4
  84. data/sig/e_invoice_api/models/document_create_from_pdf_response.rbs +61 -4
  85. data/sig/e_invoice_api/models/document_lifecycle_params.rbs +23 -0
  86. data/sig/e_invoice_api/models/document_lifecycle_response.rbs +151 -0
  87. data/sig/e_invoice_api/models/document_response.rbs +61 -4
  88. data/sig/e_invoice_api/models/document_timeline_params.rbs +23 -0
  89. data/sig/e_invoice_api/models/document_timeline_response.rbs +84 -0
  90. data/sig/e_invoice_api/models/draft_list_params.rbs +112 -0
  91. data/sig/e_invoice_api/models/inbound_email_response.rbs +126 -0
  92. data/sig/e_invoice_api/models/mailbox_download_attachment_params.rbs +28 -0
  93. data/sig/e_invoice_api/models/mailbox_list_params.rbs +112 -0
  94. data/sig/e_invoice_api/models/mailbox_reprocess_params.rbs +24 -0
  95. data/sig/e_invoice_api/models/mailbox_retrieve_params.rbs +24 -0
  96. data/sig/e_invoice_api/models/stats_retrieve_params.rbs +48 -0
  97. data/sig/e_invoice_api/models/stats_retrieve_response.rbs +107 -0
  98. data/sig/e_invoice_api/models/webhook_history_params.rbs +23 -0
  99. data/sig/e_invoice_api/models/webhook_history_response.rbs +13 -0
  100. data/sig/e_invoice_api/models/webhook_test_params.rbs +32 -0
  101. data/sig/e_invoice_api/models/webhook_test_response.rbs +30 -0
  102. data/sig/e_invoice_api/models.rbs +24 -0
  103. data/sig/e_invoice_api/resources/conversion/pdf.rbs +24 -0
  104. data/sig/e_invoice_api/resources/conversion.rbs +9 -0
  105. data/sig/e_invoice_api/resources/documents.rbs +19 -0
  106. data/sig/e_invoice_api/resources/drafts.rbs +20 -0
  107. data/sig/e_invoice_api/resources/mailbox.rbs +36 -0
  108. data/sig/e_invoice_api/resources/stats.rbs +14 -0
  109. data/sig/e_invoice_api/resources/validate.rbs +9 -0
  110. data/sig/e_invoice_api/resources/webhooks.rbs +12 -0
  111. metadata +77 -2
@@ -0,0 +1,194 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ class DraftListParams < EInvoiceAPI::Internal::Type::BaseModel
6
+ extend EInvoiceAPI::Internal::Type::RequestParameters::Converter
7
+ include EInvoiceAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(EInvoiceAPI::DraftListParams, EInvoiceAPI::Internal::AnyHash)
12
+ end
13
+
14
+ # Filter by issue date (from)
15
+ sig { returns(T.nilable(Time)) }
16
+ attr_accessor :date_from
17
+
18
+ # Filter by issue date (to)
19
+ sig { returns(T.nilable(Time)) }
20
+ attr_accessor :date_to
21
+
22
+ # Page number
23
+ sig { returns(T.nilable(Integer)) }
24
+ attr_reader :page
25
+
26
+ sig { params(page: Integer).void }
27
+ attr_writer :page
28
+
29
+ # Number of items per page
30
+ sig { returns(T.nilable(Integer)) }
31
+ attr_reader :page_size
32
+
33
+ sig { params(page_size: Integer).void }
34
+ attr_writer :page_size
35
+
36
+ # Search in invoice number, seller/buyer names
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :search
39
+
40
+ # Field to sort by
41
+ sig { returns(T.nilable(EInvoiceAPI::DraftListParams::SortBy::OrSymbol)) }
42
+ attr_reader :sort_by
43
+
44
+ sig do
45
+ params(sort_by: EInvoiceAPI::DraftListParams::SortBy::OrSymbol).void
46
+ end
47
+ attr_writer :sort_by
48
+
49
+ # Sort direction (asc/desc)
50
+ sig do
51
+ returns(T.nilable(EInvoiceAPI::DraftListParams::SortOrder::OrSymbol))
52
+ end
53
+ attr_reader :sort_order
54
+
55
+ sig do
56
+ params(
57
+ sort_order: EInvoiceAPI::DraftListParams::SortOrder::OrSymbol
58
+ ).void
59
+ end
60
+ attr_writer :sort_order
61
+
62
+ # Filter by document state. By default return all states (DRAFT, TRANSIT, FAILED).
63
+ sig { returns(T.nilable(EInvoiceAPI::DocumentState::OrSymbol)) }
64
+ attr_accessor :state
65
+
66
+ # Filter by document type
67
+ sig { returns(T.nilable(EInvoiceAPI::DocumentType::OrSymbol)) }
68
+ attr_accessor :type
69
+
70
+ sig do
71
+ params(
72
+ date_from: T.nilable(Time),
73
+ date_to: T.nilable(Time),
74
+ page: Integer,
75
+ page_size: Integer,
76
+ search: T.nilable(String),
77
+ sort_by: EInvoiceAPI::DraftListParams::SortBy::OrSymbol,
78
+ sort_order: EInvoiceAPI::DraftListParams::SortOrder::OrSymbol,
79
+ state: T.nilable(EInvoiceAPI::DocumentState::OrSymbol),
80
+ type: T.nilable(EInvoiceAPI::DocumentType::OrSymbol),
81
+ request_options: EInvoiceAPI::RequestOptions::OrHash
82
+ ).returns(T.attached_class)
83
+ end
84
+ def self.new(
85
+ # Filter by issue date (from)
86
+ date_from: nil,
87
+ # Filter by issue date (to)
88
+ date_to: nil,
89
+ # Page number
90
+ page: nil,
91
+ # Number of items per page
92
+ page_size: nil,
93
+ # Search in invoice number, seller/buyer names
94
+ search: nil,
95
+ # Field to sort by
96
+ sort_by: nil,
97
+ # Sort direction (asc/desc)
98
+ sort_order: nil,
99
+ # Filter by document state. By default return all states (DRAFT, TRANSIT, FAILED).
100
+ state: nil,
101
+ # Filter by document type
102
+ type: nil,
103
+ request_options: {}
104
+ )
105
+ end
106
+
107
+ sig do
108
+ override.returns(
109
+ {
110
+ date_from: T.nilable(Time),
111
+ date_to: T.nilable(Time),
112
+ page: Integer,
113
+ page_size: Integer,
114
+ search: T.nilable(String),
115
+ sort_by: EInvoiceAPI::DraftListParams::SortBy::OrSymbol,
116
+ sort_order: EInvoiceAPI::DraftListParams::SortOrder::OrSymbol,
117
+ state: T.nilable(EInvoiceAPI::DocumentState::OrSymbol),
118
+ type: T.nilable(EInvoiceAPI::DocumentType::OrSymbol),
119
+ request_options: EInvoiceAPI::RequestOptions
120
+ }
121
+ )
122
+ end
123
+ def to_hash
124
+ end
125
+
126
+ # Field to sort by
127
+ module SortBy
128
+ extend EInvoiceAPI::Internal::Type::Enum
129
+
130
+ TaggedSymbol =
131
+ T.type_alias { T.all(Symbol, EInvoiceAPI::DraftListParams::SortBy) }
132
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
133
+
134
+ CREATED_AT =
135
+ T.let(:created_at, EInvoiceAPI::DraftListParams::SortBy::TaggedSymbol)
136
+ INVOICE_DATE =
137
+ T.let(
138
+ :invoice_date,
139
+ EInvoiceAPI::DraftListParams::SortBy::TaggedSymbol
140
+ )
141
+ DUE_DATE =
142
+ T.let(:due_date, EInvoiceAPI::DraftListParams::SortBy::TaggedSymbol)
143
+ INVOICE_TOTAL =
144
+ T.let(
145
+ :invoice_total,
146
+ EInvoiceAPI::DraftListParams::SortBy::TaggedSymbol
147
+ )
148
+ CUSTOMER_NAME =
149
+ T.let(
150
+ :customer_name,
151
+ EInvoiceAPI::DraftListParams::SortBy::TaggedSymbol
152
+ )
153
+ VENDOR_NAME =
154
+ T.let(
155
+ :vendor_name,
156
+ EInvoiceAPI::DraftListParams::SortBy::TaggedSymbol
157
+ )
158
+ INVOICE_ID =
159
+ T.let(:invoice_id, EInvoiceAPI::DraftListParams::SortBy::TaggedSymbol)
160
+
161
+ sig do
162
+ override.returns(
163
+ T::Array[EInvoiceAPI::DraftListParams::SortBy::TaggedSymbol]
164
+ )
165
+ end
166
+ def self.values
167
+ end
168
+ end
169
+
170
+ # Sort direction (asc/desc)
171
+ module SortOrder
172
+ extend EInvoiceAPI::Internal::Type::Enum
173
+
174
+ TaggedSymbol =
175
+ T.type_alias do
176
+ T.all(Symbol, EInvoiceAPI::DraftListParams::SortOrder)
177
+ end
178
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
179
+
180
+ ASC = T.let(:asc, EInvoiceAPI::DraftListParams::SortOrder::TaggedSymbol)
181
+ DESC =
182
+ T.let(:desc, EInvoiceAPI::DraftListParams::SortOrder::TaggedSymbol)
183
+
184
+ sig do
185
+ override.returns(
186
+ T::Array[EInvoiceAPI::DraftListParams::SortOrder::TaggedSymbol]
187
+ )
188
+ end
189
+ def self.values
190
+ end
191
+ end
192
+ end
193
+ end
194
+ end
@@ -0,0 +1,189 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ class InboundEmailResponse < EInvoiceAPI::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(
9
+ EInvoiceAPI::InboundEmailResponse,
10
+ EInvoiceAPI::Internal::AnyHash
11
+ )
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig { returns(Time) }
18
+ attr_accessor :created_at
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :message_id
22
+
23
+ sig { returns(String) }
24
+ attr_accessor :sender_email
25
+
26
+ sig { returns(T.nilable(Integer)) }
27
+ attr_reader :attachment_count
28
+
29
+ sig { params(attachment_count: Integer).void }
30
+ attr_writer :attachment_count
31
+
32
+ sig do
33
+ returns(
34
+ T.nilable(T::Array[EInvoiceAPI::InboundEmailResponse::Attachment])
35
+ )
36
+ end
37
+ attr_reader :attachments
38
+
39
+ sig do
40
+ params(
41
+ attachments:
42
+ T::Array[EInvoiceAPI::InboundEmailResponse::Attachment::OrHash]
43
+ ).void
44
+ end
45
+ attr_writer :attachments
46
+
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :bcc_addresses
49
+
50
+ sig { returns(T.nilable(String)) }
51
+ attr_accessor :cc_addresses
52
+
53
+ sig { returns(T.nilable(String)) }
54
+ attr_accessor :document_id
55
+
56
+ sig { returns(T.nilable(String)) }
57
+ attr_accessor :error_message
58
+
59
+ sig { returns(T.nilable(T::Boolean)) }
60
+ attr_reader :processed
61
+
62
+ sig { params(processed: T::Boolean).void }
63
+ attr_writer :processed
64
+
65
+ sig { returns(T.nilable(Time)) }
66
+ attr_accessor :processed_at
67
+
68
+ sig { returns(T.nilable(Time)) }
69
+ attr_accessor :received_at
70
+
71
+ sig { returns(T.nilable(String)) }
72
+ attr_accessor :sender_name
73
+
74
+ sig { returns(T.nilable(String)) }
75
+ attr_accessor :subject
76
+
77
+ sig { returns(T.nilable(String)) }
78
+ attr_accessor :to_addresses
79
+
80
+ sig do
81
+ params(
82
+ id: String,
83
+ created_at: Time,
84
+ message_id: String,
85
+ sender_email: String,
86
+ attachment_count: Integer,
87
+ attachments:
88
+ T::Array[EInvoiceAPI::InboundEmailResponse::Attachment::OrHash],
89
+ bcc_addresses: T.nilable(String),
90
+ cc_addresses: T.nilable(String),
91
+ document_id: T.nilable(String),
92
+ error_message: T.nilable(String),
93
+ processed: T::Boolean,
94
+ processed_at: T.nilable(Time),
95
+ received_at: T.nilable(Time),
96
+ sender_name: T.nilable(String),
97
+ subject: T.nilable(String),
98
+ to_addresses: T.nilable(String)
99
+ ).returns(T.attached_class)
100
+ end
101
+ def self.new(
102
+ id:,
103
+ created_at:,
104
+ message_id:,
105
+ sender_email:,
106
+ attachment_count: nil,
107
+ attachments: nil,
108
+ bcc_addresses: nil,
109
+ cc_addresses: nil,
110
+ document_id: nil,
111
+ error_message: nil,
112
+ processed: nil,
113
+ processed_at: nil,
114
+ received_at: nil,
115
+ sender_name: nil,
116
+ subject: nil,
117
+ to_addresses: nil
118
+ )
119
+ end
120
+
121
+ sig do
122
+ override.returns(
123
+ {
124
+ id: String,
125
+ created_at: Time,
126
+ message_id: String,
127
+ sender_email: String,
128
+ attachment_count: Integer,
129
+ attachments:
130
+ T::Array[EInvoiceAPI::InboundEmailResponse::Attachment],
131
+ bcc_addresses: T.nilable(String),
132
+ cc_addresses: T.nilable(String),
133
+ document_id: T.nilable(String),
134
+ error_message: T.nilable(String),
135
+ processed: T::Boolean,
136
+ processed_at: T.nilable(Time),
137
+ received_at: T.nilable(Time),
138
+ sender_name: T.nilable(String),
139
+ subject: T.nilable(String),
140
+ to_addresses: T.nilable(String)
141
+ }
142
+ )
143
+ end
144
+ def to_hash
145
+ end
146
+
147
+ class Attachment < EInvoiceAPI::Internal::Type::BaseModel
148
+ OrHash =
149
+ T.type_alias do
150
+ T.any(
151
+ EInvoiceAPI::InboundEmailResponse::Attachment,
152
+ EInvoiceAPI::Internal::AnyHash
153
+ )
154
+ end
155
+
156
+ sig { returns(String) }
157
+ attr_accessor :filename
158
+
159
+ sig { returns(T.nilable(String)) }
160
+ attr_accessor :content_type
161
+
162
+ sig { returns(T.nilable(Integer)) }
163
+ attr_accessor :size
164
+
165
+ sig do
166
+ params(
167
+ filename: String,
168
+ content_type: T.nilable(String),
169
+ size: T.nilable(Integer)
170
+ ).returns(T.attached_class)
171
+ end
172
+ def self.new(filename:, content_type: nil, size: nil)
173
+ end
174
+
175
+ sig do
176
+ override.returns(
177
+ {
178
+ filename: String,
179
+ content_type: T.nilable(String),
180
+ size: T.nilable(Integer)
181
+ }
182
+ )
183
+ end
184
+ def to_hash
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
@@ -0,0 +1,46 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ class MailboxDownloadAttachmentParams < EInvoiceAPI::Internal::Type::BaseModel
6
+ extend EInvoiceAPI::Internal::Type::RequestParameters::Converter
7
+ include EInvoiceAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ EInvoiceAPI::MailboxDownloadAttachmentParams,
13
+ EInvoiceAPI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :inbound_email_id
19
+
20
+ sig { returns(String) }
21
+ attr_accessor :filename
22
+
23
+ sig do
24
+ params(
25
+ inbound_email_id: String,
26
+ filename: String,
27
+ request_options: EInvoiceAPI::RequestOptions::OrHash
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(inbound_email_id:, filename:, request_options: {})
31
+ end
32
+
33
+ sig do
34
+ override.returns(
35
+ {
36
+ inbound_email_id: String,
37
+ filename: String,
38
+ request_options: EInvoiceAPI::RequestOptions
39
+ }
40
+ )
41
+ end
42
+ def to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,218 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ class MailboxListParams < EInvoiceAPI::Internal::Type::BaseModel
6
+ extend EInvoiceAPI::Internal::Type::RequestParameters::Converter
7
+ include EInvoiceAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(EInvoiceAPI::MailboxListParams, EInvoiceAPI::Internal::AnyHash)
12
+ end
13
+
14
+ # Page number
15
+ sig { returns(T.nilable(Integer)) }
16
+ attr_reader :page
17
+
18
+ sig { params(page: Integer).void }
19
+ attr_writer :page
20
+
21
+ # Number of items per page
22
+ sig { returns(T.nilable(Integer)) }
23
+ attr_reader :page_size
24
+
25
+ sig { params(page_size: Integer).void }
26
+ attr_writer :page_size
27
+
28
+ # Filter by processing status. If not provided, returns all. Ignored when `status`
29
+ # is set.
30
+ sig { returns(T.nilable(T::Boolean)) }
31
+ attr_accessor :processed
32
+
33
+ # Inclusive lower bound on received date (falls back to created_at when
34
+ # received_at is null)
35
+ sig { returns(T.nilable(Time)) }
36
+ attr_accessor :received_from
37
+
38
+ # Inclusive upper bound on received date (falls back to created_at when
39
+ # received_at is null)
40
+ sig { returns(T.nilable(Time)) }
41
+ attr_accessor :received_to
42
+
43
+ # Case-insensitive search across sender email, subject, message ID, and attachment
44
+ # filenames
45
+ sig { returns(T.nilable(String)) }
46
+ attr_accessor :search
47
+
48
+ # Field to sort by
49
+ sig do
50
+ returns(T.nilable(EInvoiceAPI::MailboxListParams::SortBy::OrSymbol))
51
+ end
52
+ attr_reader :sort_by
53
+
54
+ sig do
55
+ params(sort_by: EInvoiceAPI::MailboxListParams::SortBy::OrSymbol).void
56
+ end
57
+ attr_writer :sort_by
58
+
59
+ # Sort direction (asc/desc)
60
+ sig do
61
+ returns(T.nilable(EInvoiceAPI::MailboxListParams::SortOrder::OrSymbol))
62
+ end
63
+ attr_reader :sort_order
64
+
65
+ sig do
66
+ params(
67
+ sort_order: EInvoiceAPI::MailboxListParams::SortOrder::OrSymbol
68
+ ).void
69
+ end
70
+ attr_writer :sort_order
71
+
72
+ # Filter by status: pending, success, or failed. Takes precedence over `processed`
73
+ # if both are provided.
74
+ sig do
75
+ returns(T.nilable(EInvoiceAPI::MailboxListParams::Status::OrSymbol))
76
+ end
77
+ attr_accessor :status
78
+
79
+ sig do
80
+ params(
81
+ page: Integer,
82
+ page_size: Integer,
83
+ processed: T.nilable(T::Boolean),
84
+ received_from: T.nilable(Time),
85
+ received_to: T.nilable(Time),
86
+ search: T.nilable(String),
87
+ sort_by: EInvoiceAPI::MailboxListParams::SortBy::OrSymbol,
88
+ sort_order: EInvoiceAPI::MailboxListParams::SortOrder::OrSymbol,
89
+ status: T.nilable(EInvoiceAPI::MailboxListParams::Status::OrSymbol),
90
+ request_options: EInvoiceAPI::RequestOptions::OrHash
91
+ ).returns(T.attached_class)
92
+ end
93
+ def self.new(
94
+ # Page number
95
+ page: nil,
96
+ # Number of items per page
97
+ page_size: nil,
98
+ # Filter by processing status. If not provided, returns all. Ignored when `status`
99
+ # is set.
100
+ processed: nil,
101
+ # Inclusive lower bound on received date (falls back to created_at when
102
+ # received_at is null)
103
+ received_from: nil,
104
+ # Inclusive upper bound on received date (falls back to created_at when
105
+ # received_at is null)
106
+ received_to: nil,
107
+ # Case-insensitive search across sender email, subject, message ID, and attachment
108
+ # filenames
109
+ search: nil,
110
+ # Field to sort by
111
+ sort_by: nil,
112
+ # Sort direction (asc/desc)
113
+ sort_order: nil,
114
+ # Filter by status: pending, success, or failed. Takes precedence over `processed`
115
+ # if both are provided.
116
+ status: nil,
117
+ request_options: {}
118
+ )
119
+ end
120
+
121
+ sig do
122
+ override.returns(
123
+ {
124
+ page: Integer,
125
+ page_size: Integer,
126
+ processed: T.nilable(T::Boolean),
127
+ received_from: T.nilable(Time),
128
+ received_to: T.nilable(Time),
129
+ search: T.nilable(String),
130
+ sort_by: EInvoiceAPI::MailboxListParams::SortBy::OrSymbol,
131
+ sort_order: EInvoiceAPI::MailboxListParams::SortOrder::OrSymbol,
132
+ status: T.nilable(EInvoiceAPI::MailboxListParams::Status::OrSymbol),
133
+ request_options: EInvoiceAPI::RequestOptions
134
+ }
135
+ )
136
+ end
137
+ def to_hash
138
+ end
139
+
140
+ # Field to sort by
141
+ module SortBy
142
+ extend EInvoiceAPI::Internal::Type::Enum
143
+
144
+ TaggedSymbol =
145
+ T.type_alias { T.all(Symbol, EInvoiceAPI::MailboxListParams::SortBy) }
146
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
147
+
148
+ RECEIVED_AT =
149
+ T.let(
150
+ :received_at,
151
+ EInvoiceAPI::MailboxListParams::SortBy::TaggedSymbol
152
+ )
153
+ CREATED_AT =
154
+ T.let(
155
+ :created_at,
156
+ EInvoiceAPI::MailboxListParams::SortBy::TaggedSymbol
157
+ )
158
+
159
+ sig do
160
+ override.returns(
161
+ T::Array[EInvoiceAPI::MailboxListParams::SortBy::TaggedSymbol]
162
+ )
163
+ end
164
+ def self.values
165
+ end
166
+ end
167
+
168
+ # Sort direction (asc/desc)
169
+ module SortOrder
170
+ extend EInvoiceAPI::Internal::Type::Enum
171
+
172
+ TaggedSymbol =
173
+ T.type_alias do
174
+ T.all(Symbol, EInvoiceAPI::MailboxListParams::SortOrder)
175
+ end
176
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
177
+
178
+ ASC =
179
+ T.let(:asc, EInvoiceAPI::MailboxListParams::SortOrder::TaggedSymbol)
180
+ DESC =
181
+ T.let(:desc, EInvoiceAPI::MailboxListParams::SortOrder::TaggedSymbol)
182
+
183
+ sig do
184
+ override.returns(
185
+ T::Array[EInvoiceAPI::MailboxListParams::SortOrder::TaggedSymbol]
186
+ )
187
+ end
188
+ def self.values
189
+ end
190
+ end
191
+
192
+ # Filter by status: pending, success, or failed. Takes precedence over `processed`
193
+ # if both are provided.
194
+ module Status
195
+ extend EInvoiceAPI::Internal::Type::Enum
196
+
197
+ TaggedSymbol =
198
+ T.type_alias { T.all(Symbol, EInvoiceAPI::MailboxListParams::Status) }
199
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
200
+
201
+ PENDING =
202
+ T.let(:pending, EInvoiceAPI::MailboxListParams::Status::TaggedSymbol)
203
+ SUCCESS =
204
+ T.let(:success, EInvoiceAPI::MailboxListParams::Status::TaggedSymbol)
205
+ FAILED =
206
+ T.let(:failed, EInvoiceAPI::MailboxListParams::Status::TaggedSymbol)
207
+
208
+ sig do
209
+ override.returns(
210
+ T::Array[EInvoiceAPI::MailboxListParams::Status::TaggedSymbol]
211
+ )
212
+ end
213
+ def self.values
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
@@ -0,0 +1,41 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Models
5
+ class MailboxReprocessParams < EInvoiceAPI::Internal::Type::BaseModel
6
+ extend EInvoiceAPI::Internal::Type::RequestParameters::Converter
7
+ include EInvoiceAPI::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ EInvoiceAPI::MailboxReprocessParams,
13
+ EInvoiceAPI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :inbound_email_id
19
+
20
+ sig do
21
+ params(
22
+ inbound_email_id: String,
23
+ request_options: EInvoiceAPI::RequestOptions::OrHash
24
+ ).returns(T.attached_class)
25
+ end
26
+ def self.new(inbound_email_id:, request_options: {})
27
+ end
28
+
29
+ sig do
30
+ override.returns(
31
+ {
32
+ inbound_email_id: String,
33
+ request_options: EInvoiceAPI::RequestOptions
34
+ }
35
+ )
36
+ end
37
+ def to_hash
38
+ end
39
+ end
40
+ end
41
+ end