e-invoice-api 0.1.0.pre.alpha.5

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 (233) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +57 -0
  4. data/README.md +285 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/e_invoice_api/client.rb +94 -0
  7. data/lib/e_invoice_api/errors.rb +192 -0
  8. data/lib/e_invoice_api/file_part.rb +55 -0
  9. data/lib/e_invoice_api/internal/documents_number_page.rb +96 -0
  10. data/lib/e_invoice_api/internal/transport/base_client.rb +555 -0
  11. data/lib/e_invoice_api/internal/transport/pooled_net_requester.rb +209 -0
  12. data/lib/e_invoice_api/internal/type/array_of.rb +162 -0
  13. data/lib/e_invoice_api/internal/type/base_model.rb +482 -0
  14. data/lib/e_invoice_api/internal/type/base_page.rb +55 -0
  15. data/lib/e_invoice_api/internal/type/boolean.rb +71 -0
  16. data/lib/e_invoice_api/internal/type/converter.rb +292 -0
  17. data/lib/e_invoice_api/internal/type/enum.rb +148 -0
  18. data/lib/e_invoice_api/internal/type/file_input.rb +103 -0
  19. data/lib/e_invoice_api/internal/type/hash_of.rb +182 -0
  20. data/lib/e_invoice_api/internal/type/request_parameters.rb +42 -0
  21. data/lib/e_invoice_api/internal/type/union.rb +236 -0
  22. data/lib/e_invoice_api/internal/type/unknown.rb +75 -0
  23. data/lib/e_invoice_api/internal/util.rb +914 -0
  24. data/lib/e_invoice_api/internal.rb +20 -0
  25. data/lib/e_invoice_api/models/certificate.rb +34 -0
  26. data/lib/e_invoice_api/models/currency_code.rb +28 -0
  27. data/lib/e_invoice_api/models/document_attachment_create.rb +33 -0
  28. data/lib/e_invoice_api/models/document_create.rb +521 -0
  29. data/lib/e_invoice_api/models/document_create_params.rb +14 -0
  30. data/lib/e_invoice_api/models/document_delete_params.rb +14 -0
  31. data/lib/e_invoice_api/models/document_delete_response.rb +16 -0
  32. data/lib/e_invoice_api/models/document_direction.rb +15 -0
  33. data/lib/e_invoice_api/models/document_response.rb +418 -0
  34. data/lib/e_invoice_api/models/document_retrieve_params.rb +14 -0
  35. data/lib/e_invoice_api/models/document_send_params.rb +44 -0
  36. data/lib/e_invoice_api/models/document_state.rb +18 -0
  37. data/lib/e_invoice_api/models/document_type.rb +15 -0
  38. data/lib/e_invoice_api/models/documents/attachment_add_params.rb +22 -0
  39. data/lib/e_invoice_api/models/documents/attachment_delete_params.rb +22 -0
  40. data/lib/e_invoice_api/models/documents/attachment_delete_response.rb +18 -0
  41. data/lib/e_invoice_api/models/documents/attachment_list_params.rb +16 -0
  42. data/lib/e_invoice_api/models/documents/attachment_list_response.rb +11 -0
  43. data/lib/e_invoice_api/models/documents/attachment_retrieve_params.rb +22 -0
  44. data/lib/e_invoice_api/models/documents/document_attachment.rb +44 -0
  45. data/lib/e_invoice_api/models/documents/ubl_get_params.rb +16 -0
  46. data/lib/e_invoice_api/models/documents/ubl_get_response.rb +72 -0
  47. data/lib/e_invoice_api/models/inbox_list_credit_notes_params.rb +30 -0
  48. data/lib/e_invoice_api/models/inbox_list_invoices_params.rb +30 -0
  49. data/lib/e_invoice_api/models/inbox_list_params.rb +78 -0
  50. data/lib/e_invoice_api/models/lookup_retrieve_params.rb +26 -0
  51. data/lib/e_invoice_api/models/lookup_retrieve_response.rb +491 -0
  52. data/lib/e_invoice_api/models/outbox_list_draft_documents_params.rb +30 -0
  53. data/lib/e_invoice_api/models/outbox_list_received_documents_params.rb +78 -0
  54. data/lib/e_invoice_api/models/paginated_document_response.rb +39 -0
  55. data/lib/e_invoice_api/models/payment_detail_create.rb +33 -0
  56. data/lib/e_invoice_api/models/ubl_document_validation.rb +97 -0
  57. data/lib/e_invoice_api/models/unit_of_measure_code.rb +104 -0
  58. data/lib/e_invoice_api/models/validate_validate_json_params.rb +14 -0
  59. data/lib/e_invoice_api/models/validate_validate_peppol_id_params.rb +26 -0
  60. data/lib/e_invoice_api/models/validate_validate_peppol_id_response.rb +80 -0
  61. data/lib/e_invoice_api/models/validate_validate_ubl_params.rb +20 -0
  62. data/lib/e_invoice_api/models/webhook_create_params.rb +32 -0
  63. data/lib/e_invoice_api/models/webhook_delete_params.rb +14 -0
  64. data/lib/e_invoice_api/models/webhook_delete_response.rb +18 -0
  65. data/lib/e_invoice_api/models/webhook_list_params.rb +14 -0
  66. data/lib/e_invoice_api/models/webhook_list_response.rb +8 -0
  67. data/lib/e_invoice_api/models/webhook_response.rb +42 -0
  68. data/lib/e_invoice_api/models/webhook_retrieve_params.rb +14 -0
  69. data/lib/e_invoice_api/models/webhook_update_params.rb +32 -0
  70. data/lib/e_invoice_api/models.rb +105 -0
  71. data/lib/e_invoice_api/request_options.rb +77 -0
  72. data/lib/e_invoice_api/resources/documents/attachments.rb +109 -0
  73. data/lib/e_invoice_api/resources/documents/ubl.rb +35 -0
  74. data/lib/e_invoice_api/resources/documents.rb +188 -0
  75. data/lib/e_invoice_api/resources/inbox.rb +101 -0
  76. data/lib/e_invoice_api/resources/lookup.rb +43 -0
  77. data/lib/e_invoice_api/resources/outbox.rb +76 -0
  78. data/lib/e_invoice_api/resources/validate.rb +168 -0
  79. data/lib/e_invoice_api/resources/webhooks.rb +117 -0
  80. data/lib/e_invoice_api/version.rb +5 -0
  81. data/lib/e_invoice_api.rb +107 -0
  82. data/manifest.yaml +15 -0
  83. data/rbi/e_invoice_api/client.rbi +64 -0
  84. data/rbi/e_invoice_api/errors.rbi +162 -0
  85. data/rbi/e_invoice_api/file_part.rbi +37 -0
  86. data/rbi/e_invoice_api/internal/documents_number_page.rbi +28 -0
  87. data/rbi/e_invoice_api/internal/transport/base_client.rbi +298 -0
  88. data/rbi/e_invoice_api/internal/transport/pooled_net_requester.rbi +80 -0
  89. data/rbi/e_invoice_api/internal/type/array_of.rbi +104 -0
  90. data/rbi/e_invoice_api/internal/type/base_model.rbi +304 -0
  91. data/rbi/e_invoice_api/internal/type/base_page.rbi +43 -0
  92. data/rbi/e_invoice_api/internal/type/boolean.rbi +56 -0
  93. data/rbi/e_invoice_api/internal/type/converter.rbi +162 -0
  94. data/rbi/e_invoice_api/internal/type/enum.rbi +82 -0
  95. data/rbi/e_invoice_api/internal/type/file_input.rbi +59 -0
  96. data/rbi/e_invoice_api/internal/type/hash_of.rbi +104 -0
  97. data/rbi/e_invoice_api/internal/type/request_parameters.rbi +31 -0
  98. data/rbi/e_invoice_api/internal/type/union.rbi +116 -0
  99. data/rbi/e_invoice_api/internal/type/unknown.rbi +56 -0
  100. data/rbi/e_invoice_api/internal/util.rbi +487 -0
  101. data/rbi/e_invoice_api/internal.rbi +18 -0
  102. data/rbi/e_invoice_api/models/certificate.rbi +54 -0
  103. data/rbi/e_invoice_api/models/currency_code.rbi +34 -0
  104. data/rbi/e_invoice_api/models/document_attachment_create.rbi +57 -0
  105. data/rbi/e_invoice_api/models/document_create.rbi +638 -0
  106. data/rbi/e_invoice_api/models/document_create_params.rbi +30 -0
  107. data/rbi/e_invoice_api/models/document_delete_params.rbi +30 -0
  108. data/rbi/e_invoice_api/models/document_delete_response.rbi +26 -0
  109. data/rbi/e_invoice_api/models/document_direction.rbi +22 -0
  110. data/rbi/e_invoice_api/models/document_response.rbi +504 -0
  111. data/rbi/e_invoice_api/models/document_retrieve_params.rbi +30 -0
  112. data/rbi/e_invoice_api/models/document_send_params.rbi +65 -0
  113. data/rbi/e_invoice_api/models/document_state.rbi +24 -0
  114. data/rbi/e_invoice_api/models/document_type.rbi +21 -0
  115. data/rbi/e_invoice_api/models/documents/attachment_add_params.rbi +43 -0
  116. data/rbi/e_invoice_api/models/documents/attachment_delete_params.rbi +43 -0
  117. data/rbi/e_invoice_api/models/documents/attachment_delete_response.rbi +28 -0
  118. data/rbi/e_invoice_api/models/documents/attachment_list_params.rbi +34 -0
  119. data/rbi/e_invoice_api/models/documents/attachment_list_response.rbi +15 -0
  120. data/rbi/e_invoice_api/models/documents/attachment_retrieve_params.rbi +43 -0
  121. data/rbi/e_invoice_api/models/documents/document_attachment.rbi +72 -0
  122. data/rbi/e_invoice_api/models/documents/ubl_get_params.rbi +34 -0
  123. data/rbi/e_invoice_api/models/documents/ubl_get_response.rbi +97 -0
  124. data/rbi/e_invoice_api/models/inbox_list_credit_notes_params.rbi +60 -0
  125. data/rbi/e_invoice_api/models/inbox_list_invoices_params.rbi +60 -0
  126. data/rbi/e_invoice_api/models/inbox_list_params.rbi +105 -0
  127. data/rbi/e_invoice_api/models/lookup_retrieve_params.rbi +45 -0
  128. data/rbi/e_invoice_api/models/lookup_retrieve_response.rbi +852 -0
  129. data/rbi/e_invoice_api/models/outbox_list_draft_documents_params.rbi +60 -0
  130. data/rbi/e_invoice_api/models/outbox_list_received_documents_params.rbi +108 -0
  131. data/rbi/e_invoice_api/models/paginated_document_response.rbi +56 -0
  132. data/rbi/e_invoice_api/models/payment_detail_create.rbi +56 -0
  133. data/rbi/e_invoice_api/models/ubl_document_validation.rbi +159 -0
  134. data/rbi/e_invoice_api/models/unit_of_measure_code.rbi +149 -0
  135. data/rbi/e_invoice_api/models/validate_validate_json_params.rbi +30 -0
  136. data/rbi/e_invoice_api/models/validate_validate_peppol_id_params.rbi +45 -0
  137. data/rbi/e_invoice_api/models/validate_validate_peppol_id_response.rbi +141 -0
  138. data/rbi/e_invoice_api/models/validate_validate_ubl_params.rbi +41 -0
  139. data/rbi/e_invoice_api/models/webhook_create_params.rbi +54 -0
  140. data/rbi/e_invoice_api/models/webhook_delete_params.rbi +30 -0
  141. data/rbi/e_invoice_api/models/webhook_delete_response.rbi +27 -0
  142. data/rbi/e_invoice_api/models/webhook_list_params.rbi +27 -0
  143. data/rbi/e_invoice_api/models/webhook_list_response.rbi +11 -0
  144. data/rbi/e_invoice_api/models/webhook_response.rbi +57 -0
  145. data/rbi/e_invoice_api/models/webhook_retrieve_params.rbi +30 -0
  146. data/rbi/e_invoice_api/models/webhook_update_params.rbi +51 -0
  147. data/rbi/e_invoice_api/models.rbi +70 -0
  148. data/rbi/e_invoice_api/request_options.rbi +59 -0
  149. data/rbi/e_invoice_api/resources/documents/attachments.rbi +58 -0
  150. data/rbi/e_invoice_api/resources/documents/ubl.rbi +24 -0
  151. data/rbi/e_invoice_api/resources/documents.rbi +164 -0
  152. data/rbi/e_invoice_api/resources/inbox.rbi +93 -0
  153. data/rbi/e_invoice_api/resources/lookup.rbi +31 -0
  154. data/rbi/e_invoice_api/resources/outbox.rbi +72 -0
  155. data/rbi/e_invoice_api/resources/validate.rbi +145 -0
  156. data/rbi/e_invoice_api/resources/webhooks.rbi +72 -0
  157. data/rbi/e_invoice_api/version.rbi +5 -0
  158. data/sig/e_invoice_api/client.rbs +36 -0
  159. data/sig/e_invoice_api/errors.rbs +101 -0
  160. data/sig/e_invoice_api/file_part.rbs +21 -0
  161. data/sig/e_invoice_api/internal/documents_number_page.rbs +17 -0
  162. data/sig/e_invoice_api/internal/transport/base_client.rbs +131 -0
  163. data/sig/e_invoice_api/internal/transport/pooled_net_requester.rbs +45 -0
  164. data/sig/e_invoice_api/internal/type/array_of.rbs +48 -0
  165. data/sig/e_invoice_api/internal/type/base_model.rbs +102 -0
  166. data/sig/e_invoice_api/internal/type/base_page.rbs +24 -0
  167. data/sig/e_invoice_api/internal/type/boolean.rbs +26 -0
  168. data/sig/e_invoice_api/internal/type/converter.rbs +56 -0
  169. data/sig/e_invoice_api/internal/type/enum.rbs +32 -0
  170. data/sig/e_invoice_api/internal/type/file_input.rbs +25 -0
  171. data/sig/e_invoice_api/internal/type/hash_of.rbs +48 -0
  172. data/sig/e_invoice_api/internal/type/request_parameters.rbs +19 -0
  173. data/sig/e_invoice_api/internal/type/union.rbs +52 -0
  174. data/sig/e_invoice_api/internal/type/unknown.rbs +26 -0
  175. data/sig/e_invoice_api/internal/util.rbs +185 -0
  176. data/sig/e_invoice_api/internal.rbs +9 -0
  177. data/sig/e_invoice_api/models/certificate.rbs +26 -0
  178. data/sig/e_invoice_api/models/currency_code.rbs +42 -0
  179. data/sig/e_invoice_api/models/document_attachment_create.rbs +39 -0
  180. data/sig/e_invoice_api/models/document_create.rbs +403 -0
  181. data/sig/e_invoice_api/models/document_create_params.rbs +15 -0
  182. data/sig/e_invoice_api/models/document_delete_params.rbs +15 -0
  183. data/sig/e_invoice_api/models/document_delete_response.rbs +13 -0
  184. data/sig/e_invoice_api/models/document_direction.rbs +14 -0
  185. data/sig/e_invoice_api/models/document_response.rbs +358 -0
  186. data/sig/e_invoice_api/models/document_retrieve_params.rbs +15 -0
  187. data/sig/e_invoice_api/models/document_send_params.rbs +46 -0
  188. data/sig/e_invoice_api/models/document_state.rbs +17 -0
  189. data/sig/e_invoice_api/models/document_type.rbs +14 -0
  190. data/sig/e_invoice_api/models/documents/attachment_add_params.rbs +26 -0
  191. data/sig/e_invoice_api/models/documents/attachment_delete_params.rbs +26 -0
  192. data/sig/e_invoice_api/models/documents/attachment_delete_response.rbs +15 -0
  193. data/sig/e_invoice_api/models/documents/attachment_list_params.rbs +17 -0
  194. data/sig/e_invoice_api/models/documents/attachment_list_response.rbs +10 -0
  195. data/sig/e_invoice_api/models/documents/attachment_retrieve_params.rbs +26 -0
  196. data/sig/e_invoice_api/models/documents/document_attachment.rbs +48 -0
  197. data/sig/e_invoice_api/models/documents/ubl_get_params.rbs +17 -0
  198. data/sig/e_invoice_api/models/documents/ubl_get_response.rbs +69 -0
  199. data/sig/e_invoice_api/models/inbox_list_credit_notes_params.rbs +32 -0
  200. data/sig/e_invoice_api/models/inbox_list_invoices_params.rbs +32 -0
  201. data/sig/e_invoice_api/models/inbox_list_params.rbs +65 -0
  202. data/sig/e_invoice_api/models/lookup_retrieve_params.rbs +23 -0
  203. data/sig/e_invoice_api/models/lookup_retrieve_response.rbs +365 -0
  204. data/sig/e_invoice_api/models/outbox_list_draft_documents_params.rbs +32 -0
  205. data/sig/e_invoice_api/models/outbox_list_received_documents_params.rbs +65 -0
  206. data/sig/e_invoice_api/models/paginated_document_response.rbs +40 -0
  207. data/sig/e_invoice_api/models/payment_detail_create.rbs +35 -0
  208. data/sig/e_invoice_api/models/ubl_document_validation.rbs +98 -0
  209. data/sig/e_invoice_api/models/unit_of_measure_code.rbs +192 -0
  210. data/sig/e_invoice_api/models/validate_validate_json_params.rbs +15 -0
  211. data/sig/e_invoice_api/models/validate_validate_peppol_id_params.rbs +23 -0
  212. data/sig/e_invoice_api/models/validate_validate_peppol_id_response.rbs +65 -0
  213. data/sig/e_invoice_api/models/validate_validate_ubl_params.rbs +24 -0
  214. data/sig/e_invoice_api/models/webhook_create_params.rbs +34 -0
  215. data/sig/e_invoice_api/models/webhook_delete_params.rbs +15 -0
  216. data/sig/e_invoice_api/models/webhook_delete_response.rbs +13 -0
  217. data/sig/e_invoice_api/models/webhook_list_params.rbs +15 -0
  218. data/sig/e_invoice_api/models/webhook_list_response.rbs +7 -0
  219. data/sig/e_invoice_api/models/webhook_response.rbs +42 -0
  220. data/sig/e_invoice_api/models/webhook_retrieve_params.rbs +15 -0
  221. data/sig/e_invoice_api/models/webhook_update_params.rbs +32 -0
  222. data/sig/e_invoice_api/models.rbs +65 -0
  223. data/sig/e_invoice_api/request_options.rbs +36 -0
  224. data/sig/e_invoice_api/resources/documents/attachments.rbs +32 -0
  225. data/sig/e_invoice_api/resources/documents/ubl.rbs +14 -0
  226. data/sig/e_invoice_api/resources/documents.rbs +76 -0
  227. data/sig/e_invoice_api/resources/inbox.rbs +31 -0
  228. data/sig/e_invoice_api/resources/lookup.rbs +12 -0
  229. data/sig/e_invoice_api/resources/outbox.rbs +25 -0
  230. data/sig/e_invoice_api/resources/validate.rbs +62 -0
  231. data/sig/e_invoice_api/resources/webhooks.rbs +36 -0
  232. data/sig/e_invoice_api/version.rbs +3 -0
  233. metadata +290 -0
@@ -0,0 +1,28 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Internal
5
+ class DocumentsNumberPage
6
+ include EInvoiceAPI::Internal::Type::BasePage
7
+
8
+ Elem = type_member
9
+
10
+ sig { returns(T.nilable(T::Array[Elem])) }
11
+ attr_accessor :items
12
+
13
+ sig { returns(Integer) }
14
+ attr_accessor :page
15
+
16
+ sig { returns(Integer) }
17
+ attr_accessor :page_size
18
+
19
+ sig { returns(Integer) }
20
+ attr_accessor :total
21
+
22
+ # @api private
23
+ sig { returns(String) }
24
+ def inspect
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,298 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Internal
5
+ module Transport
6
+ # @api private
7
+ class BaseClient
8
+ extend EInvoiceAPI::Internal::Util::SorbetRuntimeSupport
9
+
10
+ abstract!
11
+
12
+ RequestComponents =
13
+ T.type_alias do
14
+ {
15
+ method: Symbol,
16
+ path: T.any(String, T::Array[String]),
17
+ query:
18
+ T.nilable(
19
+ T::Hash[String, T.nilable(T.any(T::Array[String], String))]
20
+ ),
21
+ headers:
22
+ T.nilable(
23
+ T::Hash[
24
+ String,
25
+ T.nilable(
26
+ T.any(
27
+ String,
28
+ Integer,
29
+ T::Array[T.nilable(T.any(String, Integer))]
30
+ )
31
+ )
32
+ ]
33
+ ),
34
+ body: T.nilable(T.anything),
35
+ unwrap:
36
+ T.nilable(
37
+ T.any(
38
+ Symbol,
39
+ Integer,
40
+ T::Array[T.any(Symbol, Integer)],
41
+ T.proc.params(arg0: T.anything).returns(T.anything)
42
+ )
43
+ ),
44
+ page:
45
+ T.nilable(
46
+ T::Class[
47
+ EInvoiceAPI::Internal::Type::BasePage[
48
+ EInvoiceAPI::Internal::Type::BaseModel
49
+ ]
50
+ ]
51
+ ),
52
+ stream: T.nilable(T::Class[T.anything]),
53
+ model: T.nilable(EInvoiceAPI::Internal::Type::Converter::Input),
54
+ options: T.nilable(EInvoiceAPI::RequestOptions::OrHash)
55
+ }
56
+ end
57
+
58
+ RequestInput =
59
+ T.type_alias do
60
+ {
61
+ method: Symbol,
62
+ url: URI::Generic,
63
+ headers: T::Hash[String, String],
64
+ body: T.anything,
65
+ max_retries: Integer,
66
+ timeout: Float
67
+ }
68
+ end
69
+
70
+ # from whatwg fetch spec
71
+ MAX_REDIRECTS = 20
72
+
73
+ PLATFORM_HEADERS = T::Hash[String, String]
74
+
75
+ class << self
76
+ # @api private
77
+ sig do
78
+ params(
79
+ req:
80
+ EInvoiceAPI::Internal::Transport::BaseClient::RequestComponents
81
+ ).void
82
+ end
83
+ def validate!(req)
84
+ end
85
+
86
+ # @api private
87
+ sig do
88
+ params(
89
+ status: Integer,
90
+ headers: T.any(T::Hash[String, String], Net::HTTPHeader)
91
+ ).returns(T::Boolean)
92
+ end
93
+ def should_retry?(status, headers:)
94
+ end
95
+
96
+ # @api private
97
+ sig do
98
+ params(
99
+ request:
100
+ EInvoiceAPI::Internal::Transport::BaseClient::RequestInput,
101
+ status: Integer,
102
+ response_headers: T.any(T::Hash[String, String], Net::HTTPHeader)
103
+ ).returns(
104
+ EInvoiceAPI::Internal::Transport::BaseClient::RequestInput
105
+ )
106
+ end
107
+ def follow_redirect(request, status:, response_headers:)
108
+ end
109
+
110
+ # @api private
111
+ sig do
112
+ params(
113
+ status: T.any(Integer, EInvoiceAPI::Errors::APIConnectionError),
114
+ stream: T.nilable(T::Enumerable[String])
115
+ ).void
116
+ end
117
+ def reap_connection!(status, stream:)
118
+ end
119
+ end
120
+
121
+ sig { returns(URI::Generic) }
122
+ attr_reader :base_url
123
+
124
+ sig { returns(Float) }
125
+ attr_reader :timeout
126
+
127
+ sig { returns(Integer) }
128
+ attr_reader :max_retries
129
+
130
+ sig { returns(Float) }
131
+ attr_reader :initial_retry_delay
132
+
133
+ sig { returns(Float) }
134
+ attr_reader :max_retry_delay
135
+
136
+ sig { returns(T::Hash[String, String]) }
137
+ attr_reader :headers
138
+
139
+ sig { returns(T.nilable(String)) }
140
+ attr_reader :idempotency_header
141
+
142
+ # @api private
143
+ sig { returns(EInvoiceAPI::Internal::Transport::PooledNetRequester) }
144
+ attr_reader :requester
145
+
146
+ # @api private
147
+ sig do
148
+ params(
149
+ base_url: String,
150
+ timeout: Float,
151
+ max_retries: Integer,
152
+ initial_retry_delay: Float,
153
+ max_retry_delay: Float,
154
+ headers:
155
+ T::Hash[
156
+ String,
157
+ T.nilable(
158
+ T.any(
159
+ String,
160
+ Integer,
161
+ T::Array[T.nilable(T.any(String, Integer))]
162
+ )
163
+ )
164
+ ],
165
+ idempotency_header: T.nilable(String)
166
+ ).returns(T.attached_class)
167
+ end
168
+ def self.new(
169
+ base_url:,
170
+ timeout: 0.0,
171
+ max_retries: 0,
172
+ initial_retry_delay: 0.0,
173
+ max_retry_delay: 0.0,
174
+ headers: {},
175
+ idempotency_header: nil
176
+ )
177
+ end
178
+
179
+ # @api private
180
+ sig { overridable.returns(T::Hash[String, String]) }
181
+ private def auth_headers
182
+ end
183
+
184
+ # @api private
185
+ sig { returns(String) }
186
+ private def generate_idempotency_key
187
+ end
188
+
189
+ # @api private
190
+ sig do
191
+ overridable
192
+ .params(
193
+ req:
194
+ EInvoiceAPI::Internal::Transport::BaseClient::RequestComponents,
195
+ opts: EInvoiceAPI::Internal::AnyHash
196
+ )
197
+ .returns(EInvoiceAPI::Internal::Transport::BaseClient::RequestInput)
198
+ end
199
+ private def build_request(req, opts)
200
+ end
201
+
202
+ # @api private
203
+ sig do
204
+ params(
205
+ headers: T::Hash[String, String],
206
+ retry_count: Integer
207
+ ).returns(Float)
208
+ end
209
+ private def retry_delay(headers, retry_count:)
210
+ end
211
+
212
+ # @api private
213
+ sig do
214
+ params(
215
+ request: EInvoiceAPI::Internal::Transport::BaseClient::RequestInput,
216
+ redirect_count: Integer,
217
+ retry_count: Integer,
218
+ send_retry_header: T::Boolean
219
+ ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
220
+ end
221
+ private def send_request(
222
+ request,
223
+ redirect_count:,
224
+ retry_count:,
225
+ send_retry_header:
226
+ )
227
+ end
228
+
229
+ # Execute the request specified by `req`. This is the method that all resource
230
+ # methods call into.
231
+ #
232
+ # @overload request(method, path, query: {}, headers: {}, body: nil, unwrap: nil, page: nil, stream: nil, model: EInvoiceAPI::Internal::Type::Unknown, options: {})
233
+ sig do
234
+ params(
235
+ method: Symbol,
236
+ path: T.any(String, T::Array[String]),
237
+ query:
238
+ T.nilable(
239
+ T::Hash[String, T.nilable(T.any(T::Array[String], String))]
240
+ ),
241
+ headers:
242
+ T.nilable(
243
+ T::Hash[
244
+ String,
245
+ T.nilable(
246
+ T.any(
247
+ String,
248
+ Integer,
249
+ T::Array[T.nilable(T.any(String, Integer))]
250
+ )
251
+ )
252
+ ]
253
+ ),
254
+ body: T.nilable(T.anything),
255
+ unwrap:
256
+ T.nilable(
257
+ T.any(
258
+ Symbol,
259
+ Integer,
260
+ T::Array[T.any(Symbol, Integer)],
261
+ T.proc.params(arg0: T.anything).returns(T.anything)
262
+ )
263
+ ),
264
+ page:
265
+ T.nilable(
266
+ T::Class[
267
+ EInvoiceAPI::Internal::Type::BasePage[
268
+ EInvoiceAPI::Internal::Type::BaseModel
269
+ ]
270
+ ]
271
+ ),
272
+ stream: T.nilable(T::Class[T.anything]),
273
+ model: T.nilable(EInvoiceAPI::Internal::Type::Converter::Input),
274
+ options: T.nilable(EInvoiceAPI::RequestOptions::OrHash)
275
+ ).returns(T.anything)
276
+ end
277
+ def request(
278
+ method,
279
+ path,
280
+ query: {},
281
+ headers: {},
282
+ body: nil,
283
+ unwrap: nil,
284
+ page: nil,
285
+ stream: nil,
286
+ model: EInvoiceAPI::Internal::Type::Unknown,
287
+ options: {}
288
+ )
289
+ end
290
+
291
+ # @api private
292
+ sig { returns(String) }
293
+ def inspect
294
+ end
295
+ end
296
+ end
297
+ end
298
+ end
@@ -0,0 +1,80 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Internal
5
+ module Transport
6
+ # @api private
7
+ class PooledNetRequester
8
+ extend EInvoiceAPI::Internal::Util::SorbetRuntimeSupport
9
+
10
+ Request =
11
+ T.type_alias do
12
+ {
13
+ method: Symbol,
14
+ url: URI::Generic,
15
+ headers: T::Hash[String, String],
16
+ body: T.anything,
17
+ deadline: Float
18
+ }
19
+ end
20
+
21
+ # from the golang stdlib
22
+ # https://github.com/golang/go/blob/c8eced8580028328fde7c03cbfcb720ce15b2358/src/net/http/transport.go#L49
23
+ KEEP_ALIVE_TIMEOUT = 30
24
+
25
+ DEFAULT_MAX_CONNECTIONS = T.let(T.unsafe(nil), Integer)
26
+
27
+ class << self
28
+ # @api private
29
+ sig { params(url: URI::Generic).returns(Net::HTTP) }
30
+ def connect(url)
31
+ end
32
+
33
+ # @api private
34
+ sig { params(conn: Net::HTTP, deadline: Float).void }
35
+ def calibrate_socket_timeout(conn, deadline)
36
+ end
37
+
38
+ # @api private
39
+ sig do
40
+ params(
41
+ request:
42
+ EInvoiceAPI::Internal::Transport::PooledNetRequester::Request,
43
+ blk: T.proc.params(arg0: String).void
44
+ ).returns([Net::HTTPGenericRequest, T.proc.void])
45
+ end
46
+ def build_request(request, &blk)
47
+ end
48
+ end
49
+
50
+ # @api private
51
+ sig do
52
+ params(
53
+ url: URI::Generic,
54
+ deadline: Float,
55
+ blk: T.proc.params(arg0: Net::HTTP).void
56
+ ).void
57
+ end
58
+ private def with_pool(url, deadline:, &blk)
59
+ end
60
+
61
+ # @api private
62
+ sig do
63
+ params(
64
+ request:
65
+ EInvoiceAPI::Internal::Transport::PooledNetRequester::Request
66
+ ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
67
+ end
68
+ def execute(request)
69
+ end
70
+
71
+ # @api private
72
+ sig { params(size: Integer).returns(T.attached_class) }
73
+ def self.new(
74
+ size: EInvoiceAPI::Internal::Transport::PooledNetRequester::DEFAULT_MAX_CONNECTIONS
75
+ )
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,104 @@
1
+ # typed: strong
2
+
3
+ module EInvoiceAPI
4
+ module Internal
5
+ module Type
6
+ # @api private
7
+ #
8
+ # Array of items of a given type.
9
+ class ArrayOf
10
+ include EInvoiceAPI::Internal::Type::Converter
11
+ include EInvoiceAPI::Internal::Util::SorbetRuntimeSupport
12
+
13
+ abstract!
14
+
15
+ Elem = type_member(:out)
16
+
17
+ sig do
18
+ params(
19
+ type_info:
20
+ T.any(
21
+ EInvoiceAPI::Internal::AnyHash,
22
+ T.proc.returns(EInvoiceAPI::Internal::Type::Converter::Input),
23
+ EInvoiceAPI::Internal::Type::Converter::Input
24
+ ),
25
+ spec: EInvoiceAPI::Internal::AnyHash
26
+ ).returns(T.attached_class)
27
+ end
28
+ def self.[](type_info, spec = {})
29
+ end
30
+
31
+ sig { params(other: T.anything).returns(T::Boolean) }
32
+ def ===(other)
33
+ end
34
+
35
+ sig { params(other: T.anything).returns(T::Boolean) }
36
+ def ==(other)
37
+ end
38
+
39
+ sig { returns(Integer) }
40
+ def hash
41
+ end
42
+
43
+ # @api private
44
+ sig do
45
+ override
46
+ .params(
47
+ value: T.any(T::Array[T.anything], T.anything),
48
+ state: EInvoiceAPI::Internal::Type::Converter::CoerceState
49
+ )
50
+ .returns(T.any(T::Array[T.anything], T.anything))
51
+ end
52
+ def coerce(value, state:)
53
+ end
54
+
55
+ # @api private
56
+ sig do
57
+ override
58
+ .params(
59
+ value: T.any(T::Array[T.anything], T.anything),
60
+ state: EInvoiceAPI::Internal::Type::Converter::DumpState
61
+ )
62
+ .returns(T.any(T::Array[T.anything], T.anything))
63
+ end
64
+ def dump(value, state:)
65
+ end
66
+
67
+ # @api private
68
+ sig { returns(T.anything) }
69
+ def to_sorbet_type
70
+ end
71
+
72
+ # @api private
73
+ sig { returns(Elem) }
74
+ protected def item_type
75
+ end
76
+
77
+ # @api private
78
+ sig { returns(T::Boolean) }
79
+ protected def nilable?
80
+ end
81
+
82
+ # @api private
83
+ sig do
84
+ params(
85
+ type_info:
86
+ T.any(
87
+ EInvoiceAPI::Internal::AnyHash,
88
+ T.proc.returns(EInvoiceAPI::Internal::Type::Converter::Input),
89
+ EInvoiceAPI::Internal::Type::Converter::Input
90
+ ),
91
+ spec: EInvoiceAPI::Internal::AnyHash
92
+ ).void
93
+ end
94
+ def initialize(type_info, spec = {})
95
+ end
96
+
97
+ # @api private
98
+ sig { params(depth: Integer).returns(String) }
99
+ def inspect(depth: 0)
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end