fattureincloud_ruby_sdk 2.0.4 → 2.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (303) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +47 -42
  4. data/docs/ArchiveApi.md +3 -1
  5. data/docs/ArchiveDocument.md +3 -3
  6. data/docs/AttachmentData.md +1 -1
  7. data/docs/CashbookEntry.md +4 -4
  8. data/docs/City.md +3 -3
  9. data/docs/Client.md +6 -3
  10. data/docs/ClientsApi.md +3 -1
  11. data/docs/CreateIssuedDocumentRequest.md +1 -0
  12. data/docs/CreateReceivedDocumentRequest.md +1 -1
  13. data/docs/DetailedCountry.md +12 -0
  14. data/docs/{EinvoiceRejectionReason.md → EInvoiceRejectionReason.md} +2 -2
  15. data/docs/EmailData.md +11 -11
  16. data/docs/EmailDataDefaultSenderEmail.md +2 -2
  17. data/docs/EmailSchedule.md +6 -6
  18. data/docs/EmailScheduleInclude.md +4 -4
  19. data/docs/Entity.md +6 -3
  20. data/docs/F24.md +3 -3
  21. data/docs/GetEInvoiceRejectionReasonResponse.md +1 -1
  22. data/docs/InfoApi.md +67 -0
  23. data/docs/IssuedDocument.md +12 -12
  24. data/docs/IssuedDocumentItemsListItem.md +4 -4
  25. data/docs/IssuedDocumentOptions.md +8 -0
  26. data/docs/IssuedDocumentPreCreateInfo.md +2 -2
  27. data/docs/IssuedDocumentTotals.md +6 -6
  28. data/docs/IssuedDocumentsApi.md +3 -1
  29. data/docs/IssuedEInvoicesApi.md +10 -10
  30. data/docs/Language.md +2 -2
  31. data/docs/ListDeliveryNotesDefaultCausalsResponse.md +1 -1
  32. data/docs/ListDetailedCountriesResponse.md +8 -0
  33. data/docs/ModifyIssuedDocumentRequest.md +1 -0
  34. data/docs/MonthlyTotal.md +3 -3
  35. data/docs/PaymentAccount.md +1 -1
  36. data/docs/PaymentMethod.md +2 -2
  37. data/docs/Product.md +1 -1
  38. data/docs/ProductsApi.md +3 -1
  39. data/docs/Receipt.md +4 -4
  40. data/docs/ReceiptPreCreateInfo.md +6 -6
  41. data/docs/ReceiptsApi.md +3 -1
  42. data/docs/ReceivedDocument.md +1 -1
  43. data/docs/ReceivedDocumentTotals.md +5 -5
  44. data/docs/ReceivedDocumentsApi.md +4 -2
  45. data/docs/SenderEmail.md +2 -2
  46. data/docs/Supplier.md +2 -2
  47. data/docs/SuppliersApi.md +3 -1
  48. data/docs/TaxesApi.md +3 -1
  49. data/docs/{IssuedDocumentTotalsVatListVatItem.md → VatItem.md} +1 -1
  50. data/docs/VatType.md +2 -2
  51. data/fattureincloud_ruby_sdk.gemspec +1 -1
  52. data/lib/fattureincloud_ruby_sdk/api/archive_api.rb +4 -1
  53. data/lib/fattureincloud_ruby_sdk/api/cashbook_api.rb +1 -1
  54. data/lib/fattureincloud_ruby_sdk/api/clients_api.rb +4 -1
  55. data/lib/fattureincloud_ruby_sdk/api/companies_api.rb +1 -1
  56. data/lib/fattureincloud_ruby_sdk/api/info_api.rb +58 -1
  57. data/lib/fattureincloud_ruby_sdk/api/issued_documents_api.rb +4 -1
  58. data/lib/fattureincloud_ruby_sdk/api/issued_e_invoices_api.rb +9 -9
  59. data/lib/fattureincloud_ruby_sdk/api/products_api.rb +4 -1
  60. data/lib/fattureincloud_ruby_sdk/api/receipts_api.rb +4 -1
  61. data/lib/fattureincloud_ruby_sdk/api/received_documents_api.rb +4 -1
  62. data/lib/fattureincloud_ruby_sdk/api/settings_api.rb +1 -1
  63. data/lib/fattureincloud_ruby_sdk/api/suppliers_api.rb +4 -1
  64. data/lib/fattureincloud_ruby_sdk/api/taxes_api.rb +4 -1
  65. data/lib/fattureincloud_ruby_sdk/api/user_api.rb +1 -1
  66. data/lib/fattureincloud_ruby_sdk/api_client.rb +2 -2
  67. data/lib/fattureincloud_ruby_sdk/api_error.rb +1 -1
  68. data/lib/fattureincloud_ruby_sdk/configuration.rb +1 -1
  69. data/lib/fattureincloud_ruby_sdk/filter/condition.rb +55 -0
  70. data/lib/fattureincloud_ruby_sdk/filter/conjunction.rb +37 -0
  71. data/lib/fattureincloud_ruby_sdk/filter/disjunction.rb +37 -0
  72. data/lib/fattureincloud_ruby_sdk/filter/expression.rb +10 -0
  73. data/lib/fattureincloud_ruby_sdk/filter/filter.rb +144 -0
  74. data/lib/fattureincloud_ruby_sdk/filter/operator.rb +29 -0
  75. data/lib/fattureincloud_ruby_sdk/models/archive_document.rb +9 -16
  76. data/lib/fattureincloud_ruby_sdk/models/attachment_data.rb +4 -6
  77. data/lib/fattureincloud_ruby_sdk/models/cashbook_entry.rb +7 -21
  78. data/lib/fattureincloud_ruby_sdk/models/cashbook_entry_document.rb +6 -1
  79. data/lib/fattureincloud_ruby_sdk/models/cashbook_entry_kind.rb +1 -1
  80. data/lib/fattureincloud_ruby_sdk/models/cashbook_entry_type.rb +1 -1
  81. data/lib/fattureincloud_ruby_sdk/models/city.rb +6 -16
  82. data/lib/fattureincloud_ruby_sdk/models/client.rb +64 -11
  83. data/lib/fattureincloud_ruby_sdk/models/client_type.rb +1 -1
  84. data/lib/fattureincloud_ruby_sdk/models/company.rb +9 -1
  85. data/lib/fattureincloud_ruby_sdk/models/company_info.rb +9 -1
  86. data/lib/fattureincloud_ruby_sdk/models/company_info_access_info.rb +4 -1
  87. data/lib/fattureincloud_ruby_sdk/models/company_info_plan_info.rb +6 -1
  88. data/lib/fattureincloud_ruby_sdk/models/company_info_plan_info_functions.rb +20 -1
  89. data/lib/fattureincloud_ruby_sdk/models/company_info_plan_info_functions_status.rb +3 -1
  90. data/lib/fattureincloud_ruby_sdk/models/company_info_plan_info_limits.rb +7 -1
  91. data/lib/fattureincloud_ruby_sdk/models/company_type.rb +1 -1
  92. data/lib/fattureincloud_ruby_sdk/models/controlled_company.rb +8 -1
  93. data/lib/fattureincloud_ruby_sdk/models/create_archive_document_request.rb +3 -1
  94. data/lib/fattureincloud_ruby_sdk/models/create_archive_document_response.rb +3 -1
  95. data/lib/fattureincloud_ruby_sdk/models/create_cashbook_entry_request.rb +3 -1
  96. data/lib/fattureincloud_ruby_sdk/models/create_cashbook_entry_response.rb +3 -1
  97. data/lib/fattureincloud_ruby_sdk/models/create_client_request.rb +3 -1
  98. data/lib/fattureincloud_ruby_sdk/models/create_client_response.rb +3 -1
  99. data/lib/fattureincloud_ruby_sdk/models/create_f24_request.rb +3 -1
  100. data/lib/fattureincloud_ruby_sdk/models/create_f24_response.rb +3 -1
  101. data/lib/fattureincloud_ruby_sdk/models/create_issued_document_request.rb +16 -5
  102. data/lib/fattureincloud_ruby_sdk/models/create_issued_document_response.rb +3 -1
  103. data/lib/fattureincloud_ruby_sdk/models/create_payment_account_request.rb +3 -1
  104. data/lib/fattureincloud_ruby_sdk/models/create_payment_account_response.rb +3 -1
  105. data/lib/fattureincloud_ruby_sdk/models/create_payment_method_request.rb +3 -1
  106. data/lib/fattureincloud_ruby_sdk/models/create_payment_method_response.rb +3 -1
  107. data/lib/fattureincloud_ruby_sdk/models/create_product_request.rb +3 -1
  108. data/lib/fattureincloud_ruby_sdk/models/create_product_response.rb +3 -1
  109. data/lib/fattureincloud_ruby_sdk/models/create_receipt_request.rb +4 -1
  110. data/lib/fattureincloud_ruby_sdk/models/create_receipt_response.rb +3 -1
  111. data/lib/fattureincloud_ruby_sdk/models/create_received_document_request.rb +4 -6
  112. data/lib/fattureincloud_ruby_sdk/models/create_received_document_response.rb +3 -1
  113. data/lib/fattureincloud_ruby_sdk/models/create_supplier_request.rb +3 -1
  114. data/lib/fattureincloud_ruby_sdk/models/create_supplier_response.rb +3 -1
  115. data/lib/fattureincloud_ruby_sdk/models/create_vat_type_request.rb +3 -1
  116. data/lib/fattureincloud_ruby_sdk/models/create_vat_type_response.rb +3 -1
  117. data/lib/fattureincloud_ruby_sdk/models/currency.rb +6 -1
  118. data/lib/fattureincloud_ruby_sdk/models/default_payment_terms_type.rb +1 -1
  119. data/lib/fattureincloud_ruby_sdk/models/detailed_country.rb +264 -0
  120. data/lib/fattureincloud_ruby_sdk/models/document_template.rb +6 -1
  121. data/lib/fattureincloud_ruby_sdk/models/{einvoice_rejection_reason.rb → e_invoice_rejection_reason.rb} +7 -5
  122. data/lib/fattureincloud_ruby_sdk/models/email_data.rb +13 -51
  123. data/lib/fattureincloud_ruby_sdk/models/email_data_default_sender_email.rb +5 -11
  124. data/lib/fattureincloud_ruby_sdk/models/email_schedule.rb +11 -31
  125. data/lib/fattureincloud_ruby_sdk/models/email_schedule_include.rb +7 -21
  126. data/lib/fattureincloud_ruby_sdk/models/entity.rb +55 -11
  127. data/lib/fattureincloud_ruby_sdk/models/entity_type.rb +1 -1
  128. data/lib/fattureincloud_ruby_sdk/models/f24.rb +7 -16
  129. data/lib/fattureincloud_ruby_sdk/models/f24_status.rb +1 -1
  130. data/lib/fattureincloud_ruby_sdk/models/function_status.rb +4 -1
  131. data/lib/fattureincloud_ruby_sdk/models/get_archive_document_response.rb +3 -1
  132. data/lib/fattureincloud_ruby_sdk/models/get_cashbook_entry_response.rb +3 -1
  133. data/lib/fattureincloud_ruby_sdk/models/get_client_response.rb +3 -1
  134. data/lib/fattureincloud_ruby_sdk/models/get_company_info_response.rb +3 -1
  135. data/lib/fattureincloud_ruby_sdk/models/get_e_invoice_rejection_reason_response.rb +4 -2
  136. data/lib/fattureincloud_ruby_sdk/models/get_email_data_response.rb +3 -1
  137. data/lib/fattureincloud_ruby_sdk/models/get_existing_issued_document_totals_request.rb +3 -1
  138. data/lib/fattureincloud_ruby_sdk/models/get_existing_issued_document_totals_response.rb +3 -1
  139. data/lib/fattureincloud_ruby_sdk/models/get_existing_received_document_totals_request.rb +3 -1
  140. data/lib/fattureincloud_ruby_sdk/models/get_existing_received_document_totals_response.rb +3 -1
  141. data/lib/fattureincloud_ruby_sdk/models/get_f24_response.rb +3 -1
  142. data/lib/fattureincloud_ruby_sdk/models/get_issued_document_pre_create_info_response.rb +3 -1
  143. data/lib/fattureincloud_ruby_sdk/models/get_issued_document_response.rb +3 -1
  144. data/lib/fattureincloud_ruby_sdk/models/get_new_issued_document_totals_request.rb +3 -1
  145. data/lib/fattureincloud_ruby_sdk/models/get_new_issued_document_totals_response.rb +3 -1
  146. data/lib/fattureincloud_ruby_sdk/models/get_new_received_document_totals_request.rb +3 -1
  147. data/lib/fattureincloud_ruby_sdk/models/get_new_received_document_totals_response.rb +3 -1
  148. data/lib/fattureincloud_ruby_sdk/models/get_payment_account_response.rb +3 -1
  149. data/lib/fattureincloud_ruby_sdk/models/get_payment_method_response.rb +3 -1
  150. data/lib/fattureincloud_ruby_sdk/models/get_product_response.rb +3 -1
  151. data/lib/fattureincloud_ruby_sdk/models/get_receipt_pre_create_info_response.rb +3 -1
  152. data/lib/fattureincloud_ruby_sdk/models/get_receipt_response.rb +3 -1
  153. data/lib/fattureincloud_ruby_sdk/models/get_receipts_monthly_totals_response.rb +4 -1
  154. data/lib/fattureincloud_ruby_sdk/models/get_received_document_pre_create_info_response.rb +3 -1
  155. data/lib/fattureincloud_ruby_sdk/models/get_received_document_response.rb +3 -1
  156. data/lib/fattureincloud_ruby_sdk/models/get_supplier_response.rb +3 -1
  157. data/lib/fattureincloud_ruby_sdk/models/get_user_info_response.rb +5 -1
  158. data/lib/fattureincloud_ruby_sdk/models/get_user_info_response_email_confirmation_state.rb +4 -1
  159. data/lib/fattureincloud_ruby_sdk/models/get_user_info_response_info.rb +6 -1
  160. data/lib/fattureincloud_ruby_sdk/models/get_vat_type_response.rb +3 -1
  161. data/lib/fattureincloud_ruby_sdk/models/issued_document.rb +55 -237
  162. data/lib/fattureincloud_ruby_sdk/models/issued_document_ei_data.rb +3 -1
  163. data/lib/fattureincloud_ruby_sdk/models/issued_document_extra_data.rb +3 -1
  164. data/lib/fattureincloud_ruby_sdk/models/issued_document_items_list_item.rb +17 -33
  165. data/lib/fattureincloud_ruby_sdk/models/issued_document_options.rb +222 -0
  166. data/lib/fattureincloud_ruby_sdk/models/issued_document_payments_list_item.rb +7 -1
  167. data/lib/fattureincloud_ruby_sdk/models/issued_document_pre_create_info.rb +22 -7
  168. data/lib/fattureincloud_ruby_sdk/models/issued_document_pre_create_info_default_values.rb +10 -1
  169. data/lib/fattureincloud_ruby_sdk/models/issued_document_pre_create_info_extra_data_default_values.rb +7 -1
  170. data/lib/fattureincloud_ruby_sdk/models/issued_document_pre_create_info_items_default_values.rb +3 -1
  171. data/lib/fattureincloud_ruby_sdk/models/issued_document_status.rb +1 -1
  172. data/lib/fattureincloud_ruby_sdk/models/issued_document_totals.rb +22 -29
  173. data/lib/fattureincloud_ruby_sdk/models/issued_document_type.rb +1 -1
  174. data/lib/fattureincloud_ruby_sdk/models/language.rb +5 -11
  175. data/lib/fattureincloud_ruby_sdk/models/list_archive_categories_response.rb +4 -1
  176. data/lib/fattureincloud_ruby_sdk/models/list_archive_documents_response.rb +11 -1
  177. data/lib/fattureincloud_ruby_sdk/models/list_archive_documents_response_page.rb +4 -1
  178. data/lib/fattureincloud_ruby_sdk/models/list_cashbook_entries_response.rb +4 -1
  179. data/lib/fattureincloud_ruby_sdk/models/list_cities_response.rb +4 -1
  180. data/lib/fattureincloud_ruby_sdk/models/list_clients_response.rb +11 -1
  181. data/lib/fattureincloud_ruby_sdk/models/list_clients_response_page.rb +4 -1
  182. data/lib/fattureincloud_ruby_sdk/models/list_cost_centers_response.rb +4 -1
  183. data/lib/fattureincloud_ruby_sdk/models/list_countries_response.rb +4 -1
  184. data/lib/fattureincloud_ruby_sdk/models/list_currencies_response.rb +4 -1
  185. data/lib/fattureincloud_ruby_sdk/models/list_delivery_notes_default_causals_response.rb +4 -6
  186. data/lib/fattureincloud_ruby_sdk/models/{issued_document_totals_vat_list.rb → list_detailed_countries_response.rb} +15 -11
  187. data/lib/fattureincloud_ruby_sdk/models/list_f24_response.rb +11 -1
  188. data/lib/fattureincloud_ruby_sdk/models/list_f24_response_aggregated_data.rb +4 -1
  189. data/lib/fattureincloud_ruby_sdk/models/list_f24_response_aggregation.rb +3 -1
  190. data/lib/fattureincloud_ruby_sdk/models/list_f24_response_page.rb +4 -1
  191. data/lib/fattureincloud_ruby_sdk/models/list_issued_documents_response.rb +11 -1
  192. data/lib/fattureincloud_ruby_sdk/models/list_issued_documents_response_page.rb +4 -1
  193. data/lib/fattureincloud_ruby_sdk/models/list_languages_response.rb +4 -1
  194. data/lib/fattureincloud_ruby_sdk/models/list_payment_accounts_response.rb +4 -1
  195. data/lib/fattureincloud_ruby_sdk/models/list_payment_methods_response.rb +4 -1
  196. data/lib/fattureincloud_ruby_sdk/models/list_product_categories_response.rb +4 -1
  197. data/lib/fattureincloud_ruby_sdk/models/list_products_response.rb +11 -1
  198. data/lib/fattureincloud_ruby_sdk/models/list_products_response_page.rb +4 -1
  199. data/lib/fattureincloud_ruby_sdk/models/list_receipts_response.rb +11 -1
  200. data/lib/fattureincloud_ruby_sdk/models/list_receipts_response_page.rb +4 -1
  201. data/lib/fattureincloud_ruby_sdk/models/list_received_document_categories_response.rb +4 -1
  202. data/lib/fattureincloud_ruby_sdk/models/list_received_documents_response.rb +11 -1
  203. data/lib/fattureincloud_ruby_sdk/models/list_received_documents_response_page.rb +4 -1
  204. data/lib/fattureincloud_ruby_sdk/models/list_revenue_centers_response.rb +4 -1
  205. data/lib/fattureincloud_ruby_sdk/models/list_suppliers_response.rb +11 -1
  206. data/lib/fattureincloud_ruby_sdk/models/list_suppliers_response_page.rb +4 -1
  207. data/lib/fattureincloud_ruby_sdk/models/list_templates_response.rb +4 -1
  208. data/lib/fattureincloud_ruby_sdk/models/list_units_of_measure_response.rb +4 -1
  209. data/lib/fattureincloud_ruby_sdk/models/list_user_companies_response.rb +4 -1
  210. data/lib/fattureincloud_ruby_sdk/models/list_user_companies_response_data.rb +4 -1
  211. data/lib/fattureincloud_ruby_sdk/models/list_vat_types_response.rb +4 -1
  212. data/lib/fattureincloud_ruby_sdk/models/modify_archive_document_request.rb +3 -1
  213. data/lib/fattureincloud_ruby_sdk/models/modify_archive_document_response.rb +3 -1
  214. data/lib/fattureincloud_ruby_sdk/models/modify_cashbook_entry_request.rb +3 -1
  215. data/lib/fattureincloud_ruby_sdk/models/modify_cashbook_entry_response.rb +3 -1
  216. data/lib/fattureincloud_ruby_sdk/models/modify_client_request.rb +3 -1
  217. data/lib/fattureincloud_ruby_sdk/models/modify_client_response.rb +3 -1
  218. data/lib/fattureincloud_ruby_sdk/models/modify_f24_request.rb +3 -1
  219. data/lib/fattureincloud_ruby_sdk/models/modify_f24_response.rb +3 -1
  220. data/lib/fattureincloud_ruby_sdk/models/modify_issued_document_request.rb +16 -5
  221. data/lib/fattureincloud_ruby_sdk/models/modify_issued_document_response.rb +3 -1
  222. data/lib/fattureincloud_ruby_sdk/models/modify_payment_account_request.rb +3 -1
  223. data/lib/fattureincloud_ruby_sdk/models/modify_payment_account_response.rb +3 -1
  224. data/lib/fattureincloud_ruby_sdk/models/modify_payment_method_request.rb +3 -1
  225. data/lib/fattureincloud_ruby_sdk/models/modify_payment_method_response.rb +3 -1
  226. data/lib/fattureincloud_ruby_sdk/models/modify_product_request.rb +3 -1
  227. data/lib/fattureincloud_ruby_sdk/models/modify_product_response.rb +3 -1
  228. data/lib/fattureincloud_ruby_sdk/models/modify_receipt_request.rb +3 -1
  229. data/lib/fattureincloud_ruby_sdk/models/modify_receipt_response.rb +3 -1
  230. data/lib/fattureincloud_ruby_sdk/models/modify_received_document_request.rb +3 -1
  231. data/lib/fattureincloud_ruby_sdk/models/modify_received_document_response.rb +3 -1
  232. data/lib/fattureincloud_ruby_sdk/models/modify_supplier_request.rb +3 -1
  233. data/lib/fattureincloud_ruby_sdk/models/modify_supplier_response.rb +3 -1
  234. data/lib/fattureincloud_ruby_sdk/models/modify_vat_type_request.rb +3 -1
  235. data/lib/fattureincloud_ruby_sdk/models/modify_vat_type_response.rb +3 -1
  236. data/lib/fattureincloud_ruby_sdk/models/monthly_total.rb +6 -16
  237. data/lib/fattureincloud_ruby_sdk/models/original_document_type.rb +1 -1
  238. data/lib/fattureincloud_ruby_sdk/models/pagination.rb +10 -1
  239. data/lib/fattureincloud_ruby_sdk/models/payment_account.rb +7 -6
  240. data/lib/fattureincloud_ruby_sdk/models/payment_account_type.rb +1 -1
  241. data/lib/fattureincloud_ruby_sdk/models/payment_method.rb +7 -7
  242. data/lib/fattureincloud_ruby_sdk/models/payment_method_details.rb +3 -1
  243. data/lib/fattureincloud_ruby_sdk/models/payment_method_type.rb +1 -1
  244. data/lib/fattureincloud_ruby_sdk/models/permission_level.rb +1 -1
  245. data/lib/fattureincloud_ruby_sdk/models/permissions.rb +4 -1
  246. data/lib/fattureincloud_ruby_sdk/models/permissions_fic_issued_documents_detailed.rb +3 -1
  247. data/lib/fattureincloud_ruby_sdk/models/product.rb +12 -6
  248. data/lib/fattureincloud_ruby_sdk/models/receipt.rb +14 -13
  249. data/lib/fattureincloud_ruby_sdk/models/receipt_items_list_item.rb +7 -1
  250. data/lib/fattureincloud_ruby_sdk/models/receipt_pre_create_info.rb +12 -34
  251. data/lib/fattureincloud_ruby_sdk/models/receipt_type.rb +1 -1
  252. data/lib/fattureincloud_ruby_sdk/models/received_document.rb +23 -54
  253. data/lib/fattureincloud_ruby_sdk/models/received_document_entity.rb +4 -1
  254. data/lib/fattureincloud_ruby_sdk/models/received_document_info.rb +10 -1
  255. data/lib/fattureincloud_ruby_sdk/models/received_document_info_default_values.rb +4 -1
  256. data/lib/fattureincloud_ruby_sdk/models/received_document_info_items_default_values.rb +3 -1
  257. data/lib/fattureincloud_ruby_sdk/models/received_document_items_list_item.rb +12 -1
  258. data/lib/fattureincloud_ruby_sdk/models/received_document_payments_list_item.rb +9 -1
  259. data/lib/fattureincloud_ruby_sdk/models/received_document_payments_list_item_payment_terms.rb +5 -1
  260. data/lib/fattureincloud_ruby_sdk/models/received_document_totals.rb +10 -26
  261. data/lib/fattureincloud_ruby_sdk/models/received_document_type.rb +1 -1
  262. data/lib/fattureincloud_ruby_sdk/models/schedule_email_request.rb +3 -1
  263. data/lib/fattureincloud_ruby_sdk/models/send_e_invoice_request.rb +4 -1
  264. data/lib/fattureincloud_ruby_sdk/models/send_e_invoice_request_data.rb +5 -1
  265. data/lib/fattureincloud_ruby_sdk/models/send_e_invoice_response.rb +4 -1
  266. data/lib/fattureincloud_ruby_sdk/models/send_e_invoice_response_data.rb +5 -1
  267. data/lib/fattureincloud_ruby_sdk/models/sender_email.rb +5 -11
  268. data/lib/fattureincloud_ruby_sdk/models/show_totals_mode.rb +1 -1
  269. data/lib/fattureincloud_ruby_sdk/models/supplier.rb +22 -8
  270. data/lib/fattureincloud_ruby_sdk/models/supplier_type.rb +1 -1
  271. data/lib/fattureincloud_ruby_sdk/models/upload_archive_attachment_response.rb +3 -1
  272. data/lib/fattureincloud_ruby_sdk/models/upload_f24_attachment_response.rb +3 -1
  273. data/lib/fattureincloud_ruby_sdk/models/upload_issued_document_attachment_response.rb +3 -1
  274. data/lib/fattureincloud_ruby_sdk/models/upload_received_document_attachment_response.rb +3 -1
  275. data/lib/fattureincloud_ruby_sdk/models/user.rb +5 -1
  276. data/lib/fattureincloud_ruby_sdk/models/user_company_role.rb +1 -1
  277. data/lib/fattureincloud_ruby_sdk/models/{issued_document_totals_vat_list_vat_item.rb → vat_item.rb} +8 -4
  278. data/lib/fattureincloud_ruby_sdk/models/vat_kind.rb +1 -1
  279. data/lib/fattureincloud_ruby_sdk/models/vat_type.rb +12 -36
  280. data/lib/fattureincloud_ruby_sdk/models/verify_e_invoice_xml_error_response.rb +5 -1
  281. data/lib/fattureincloud_ruby_sdk/models/verify_e_invoice_xml_error_response_error.rb +5 -1
  282. data/lib/fattureincloud_ruby_sdk/models/verify_e_invoice_xml_error_response_extra.rb +4 -1
  283. data/lib/fattureincloud_ruby_sdk/models/verify_e_invoice_xml_response.rb +4 -1
  284. data/lib/fattureincloud_ruby_sdk/models/verify_e_invoice_xml_response_data.rb +4 -1
  285. data/lib/fattureincloud_ruby_sdk/version.rb +2 -2
  286. data/lib/fattureincloud_ruby_sdk.rb +14 -4
  287. data/sdk-version.yaml +1 -1
  288. data/spec/api/info_api_spec.rb +19 -0
  289. data/spec/api_client_spec.rb +1 -1
  290. data/spec/configuration_spec.rb +1 -1
  291. data/spec/filter/condition_spec.rb +65 -0
  292. data/spec/filter/conjunction_spec.rb +43 -0
  293. data/spec/filter/disjunction_spec.rb +43 -0
  294. data/spec/filter/filter_spec.rb +171 -0
  295. data/spec/filter/operator_spec.rb +26 -0
  296. data/spec/models/detailed_country_spec.rb +67 -0
  297. data/spec/models/{einvoice_rejection_reason_spec.rb → e_invoice_rejection_reason_spec.rb} +6 -6
  298. data/spec/models/{issued_document_totals_vat_list_spec.rb → issued_document_options_spec.rb} +12 -14
  299. data/spec/models/list_detailed_countries_response_spec.rb +50 -0
  300. data/spec/models/{issued_document_totals_vat_list_vat_item_spec.rb → vat_item_spec.rb} +13 -13
  301. data/spec/spec_helper.rb +1 -1
  302. metadata +226 -202
  303. data/docs/IssuedDocumentTotalsVatList.md +0 -8
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -602,6 +602,7 @@ module FattureInCloud_Ruby_Sdk
602
602
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
603
603
  # @option opts [Integer] :page The page to retrieve. (default to 1)
604
604
  # @option opts [Integer] :per_page The size of the page. (default to 5)
605
+ # @option opts [String] :q Query for filtering the results.
605
606
  # @return [ListIssuedDocumentsResponse]
606
607
  def list_issued_documents(company_id, type, opts = {})
607
608
  data, _status_code, _headers = list_issued_documents_with_http_info(company_id, type, opts)
@@ -618,6 +619,7 @@ module FattureInCloud_Ruby_Sdk
618
619
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
619
620
  # @option opts [Integer] :page The page to retrieve.
620
621
  # @option opts [Integer] :per_page The size of the page.
622
+ # @option opts [String] :q Query for filtering the results.
621
623
  # @return [Array<(ListIssuedDocumentsResponse, Integer, Hash)>] ListIssuedDocumentsResponse data, response status code and response headers
622
624
  def list_issued_documents_with_http_info(company_id, type, opts = {})
623
625
  if @api_client.config.debugging
@@ -651,6 +653,7 @@ module FattureInCloud_Ruby_Sdk
651
653
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
652
654
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
653
655
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
656
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
654
657
 
655
658
  # header parameters
656
659
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -19,8 +19,8 @@ module FattureInCloud_Ruby_Sdk
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # Get EInvoice rejection reason
23
- # Get EInvoice rejection reason
22
+ # Get e-invoice rejection reason
23
+ # Get e-invoice rejection reason
24
24
  # @param company_id [Integer] The ID of the company.
25
25
  # @param document_id [Integer] The ID of the document.
26
26
  # @param [Hash] opts the optional parameters
@@ -30,8 +30,8 @@ module FattureInCloud_Ruby_Sdk
30
30
  data
31
31
  end
32
32
 
33
- # Get EInvoice rejection reason
34
- # Get EInvoice rejection reason
33
+ # Get e-invoice rejection reason
34
+ # Get e-invoice rejection reason
35
35
  # @param company_id [Integer] The ID of the company.
36
36
  # @param document_id [Integer] The ID of the document.
37
37
  # @param [Hash] opts the optional parameters
@@ -236,8 +236,8 @@ module FattureInCloud_Ruby_Sdk
236
236
  return data, status_code, headers
237
237
  end
238
238
 
239
- # Verify e-invoice xml
240
- # Verifies the e-invoice xml format. Checks if all of the mandatory fields are filled and compliant to the right format.
239
+ # Verify e-invoice XML
240
+ # Verifies the e-invoice XML format. Checks if all of the mandatory fields are filled and compliant to the right format.
241
241
  # @param company_id [Integer] The ID of the company.
242
242
  # @param document_id [Integer] The ID of the document.
243
243
  # @param [Hash] opts the optional parameters
@@ -247,8 +247,8 @@ module FattureInCloud_Ruby_Sdk
247
247
  data
248
248
  end
249
249
 
250
- # Verify e-invoice xml
251
- # Verifies the e-invoice xml format. Checks if all of the mandatory fields are filled and compliant to the right format.
250
+ # Verify e-invoice XML
251
+ # Verifies the e-invoice XML format. Checks if all of the mandatory fields are filled and compliant to the right format.
252
252
  # @param company_id [Integer] The ID of the company.
253
253
  # @param document_id [Integer] The ID of the document.
254
254
  # @param [Hash] opts the optional parameters
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -244,6 +244,7 @@ module FattureInCloud_Ruby_Sdk
244
244
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
245
245
  # @option opts [Integer] :page The page to retrieve. (default to 1)
246
246
  # @option opts [Integer] :per_page The size of the page. (default to 5)
247
+ # @option opts [String] :q Query for filtering the results.
247
248
  # @return [ListProductsResponse]
248
249
  def list_products(company_id, opts = {})
249
250
  data, _status_code, _headers = list_products_with_http_info(company_id, opts)
@@ -259,6 +260,7 @@ module FattureInCloud_Ruby_Sdk
259
260
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
260
261
  # @option opts [Integer] :page The page to retrieve.
261
262
  # @option opts [Integer] :per_page The size of the page.
263
+ # @option opts [String] :q Query for filtering the results.
262
264
  # @return [Array<(ListProductsResponse, Integer, Hash)>] ListProductsResponse data, response status code and response headers
263
265
  def list_products_with_http_info(company_id, opts = {})
264
266
  if @api_client.config.debugging
@@ -282,6 +284,7 @@ module FattureInCloud_Ruby_Sdk
282
284
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
283
285
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
284
286
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
287
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
285
288
 
286
289
  # header parameters
287
290
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -389,6 +389,7 @@ module FattureInCloud_Ruby_Sdk
389
389
  # @option opts [Integer] :page The page to retrieve. (default to 1)
390
390
  # @option opts [Integer] :per_page The size of the page. (default to 5)
391
391
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
392
+ # @option opts [String] :q Query for filtering the results.
392
393
  # @return [ListReceiptsResponse]
393
394
  def list_receipts(company_id, opts = {})
394
395
  data, _status_code, _headers = list_receipts_with_http_info(company_id, opts)
@@ -404,6 +405,7 @@ module FattureInCloud_Ruby_Sdk
404
405
  # @option opts [Integer] :page The page to retrieve.
405
406
  # @option opts [Integer] :per_page The size of the page.
406
407
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
408
+ # @option opts [String] :q Query for filtering the results.
407
409
  # @return [Array<(ListReceiptsResponse, Integer, Hash)>] ListReceiptsResponse data, response status code and response headers
408
410
  def list_receipts_with_http_info(company_id, opts = {})
409
411
  if @api_client.config.debugging
@@ -427,6 +429,7 @@ module FattureInCloud_Ruby_Sdk
427
429
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
428
430
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
429
431
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
432
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
430
433
 
431
434
  # header parameters
432
435
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -533,6 +533,7 @@ module FattureInCloud_Ruby_Sdk
533
533
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
534
534
  # @option opts [Integer] :page The page to retrieve. (default to 1)
535
535
  # @option opts [Integer] :per_page The size of the page. (default to 5)
536
+ # @option opts [String] :q Query for filtering the results.
536
537
  # @return [ListReceivedDocumentsResponse]
537
538
  def list_received_documents(company_id, type, opts = {})
538
539
  data, _status_code, _headers = list_received_documents_with_http_info(company_id, type, opts)
@@ -549,6 +550,7 @@ module FattureInCloud_Ruby_Sdk
549
550
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
550
551
  # @option opts [Integer] :page The page to retrieve.
551
552
  # @option opts [Integer] :per_page The size of the page.
553
+ # @option opts [String] :q Query for filtering the results.
552
554
  # @return [Array<(ListReceivedDocumentsResponse, Integer, Hash)>] ListReceivedDocumentsResponse data, response status code and response headers
553
555
  def list_received_documents_with_http_info(company_id, type, opts = {})
554
556
  if @api_client.config.debugging
@@ -582,6 +584,7 @@ module FattureInCloud_Ruby_Sdk
582
584
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
583
585
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
584
586
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
587
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
585
588
 
586
589
  # header parameters
587
590
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -244,6 +244,7 @@ module FattureInCloud_Ruby_Sdk
244
244
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
245
245
  # @option opts [Integer] :page The page to retrieve. (default to 1)
246
246
  # @option opts [Integer] :per_page The size of the page. (default to 5)
247
+ # @option opts [String] :q Query for filtering the results.
247
248
  # @return [ListSuppliersResponse]
248
249
  def list_suppliers(company_id, opts = {})
249
250
  data, _status_code, _headers = list_suppliers_with_http_info(company_id, opts)
@@ -259,6 +260,7 @@ module FattureInCloud_Ruby_Sdk
259
260
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
260
261
  # @option opts [Integer] :page The page to retrieve.
261
262
  # @option opts [Integer] :per_page The size of the page.
263
+ # @option opts [String] :q Query for filtering the results.
262
264
  # @return [Array<(ListSuppliersResponse, Integer, Hash)>] ListSuppliersResponse data, response status code and response headers
263
265
  def list_suppliers_with_http_info(company_id, opts = {})
264
266
  if @api_client.config.debugging
@@ -282,6 +284,7 @@ module FattureInCloud_Ruby_Sdk
282
284
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
283
285
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
284
286
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
287
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
285
288
 
286
289
  # header parameters
287
290
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -311,6 +311,7 @@ module FattureInCloud_Ruby_Sdk
311
311
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
312
312
  # @option opts [Integer] :page The page to retrieve. (default to 1)
313
313
  # @option opts [Integer] :per_page The size of the page. (default to 5)
314
+ # @option opts [String] :q Query for filtering the results.
314
315
  # @return [ListF24Response]
315
316
  def list_f24(company_id, opts = {})
316
317
  data, _status_code, _headers = list_f24_with_http_info(company_id, opts)
@@ -326,6 +327,7 @@ module FattureInCloud_Ruby_Sdk
326
327
  # @option opts [String] :sort List of comma-separated fields for result sorting (minus for desc sorting).
327
328
  # @option opts [Integer] :page The page to retrieve.
328
329
  # @option opts [Integer] :per_page The size of the page.
330
+ # @option opts [String] :q Query for filtering the results.
329
331
  # @return [Array<(ListF24Response, Integer, Hash)>] ListF24Response data, response status code and response headers
330
332
  def list_f24_with_http_info(company_id, opts = {})
331
333
  if @api_client.config.debugging
@@ -349,6 +351,7 @@ module FattureInCloud_Ruby_Sdk
349
351
  query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
350
352
  query_params[:'page'] = opts[:'page'] if !opts[:'page'].nil?
351
353
  query_params[:'per_page'] = opts[:'per_page'] if !opts[:'per_page'].nil?
354
+ query_params[:'q'] = opts[:'q'] if !opts[:'q'].nil?
352
355
 
353
356
  # header parameters
354
357
  header_params = opts[:header_params] || {}
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -31,7 +31,7 @@ module FattureInCloud_Ruby_Sdk
31
31
  # @option config [Configuration] Configuration for initializing the object, default to Configuration.default
32
32
  def initialize(config = Configuration.default)
33
33
  @config = config
34
- @user_agent = "FattureInCloud/2.0.4/Ruby-SDK"
34
+ @user_agent = "FattureInCloud/2.0.7/Ruby-SDK"
35
35
  @default_headers = {
36
36
  'Content-Type' => 'application/json',
37
37
  'User-Agent' => @user_agent
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -3,7 +3,7 @@
3
3
 
4
4
  #Connect your software with Fatture in Cloud, the invoicing platform chosen by more than 400.000 businesses in Italy. The Fatture in Cloud API is based on REST, and makes possible to interact with the user related data prior authorization via OAuth2 protocol.
5
5
 
6
- The version of the OpenAPI document: 2.0.11
6
+ The version of the OpenAPI document: 2.0.15
7
7
  Contact: info@fattureincloud.it
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 5.4.0
@@ -0,0 +1,55 @@
1
+ require_relative 'expression'
2
+
3
+ module FattureInCloud_Ruby_Sdk
4
+ # The Condition class represents a single condition in a filter.
5
+ class Condition < Expression
6
+ attr_accessor :field, :operator, :value
7
+
8
+ # Initializes a new instance of the Condition class.
9
+ # @param [String] field The field to compare.
10
+ # @param [Operator] operator The operator to use.
11
+ # @param [String][Numeric][Boolean][nil] value The value to compare.
12
+ def initialize(field, operator, value)
13
+ @field = field
14
+ @operator = operator
15
+ @value = value
16
+ end
17
+
18
+ # Builds the query from the condition.
19
+ # @return [String] The query.
20
+ def build_query
21
+ if @field.nil? || @field == ''
22
+ raise 'cannot build a query with an empty condition'
23
+ end
24
+
25
+ if @operator.nil? || @operator == ''
26
+ raise 'cannot build a query with an empty operator'
27
+ end
28
+
29
+ if @value.nil? || @value == 'null'
30
+ "#{@field} #{@operator} null"
31
+ elsif @value.instance_of? String
32
+ "#{@field} #{@operator} '#{@value}'"
33
+ else
34
+ "#{@field} #{@operator} #{@value}"
35
+ end
36
+ end
37
+
38
+ # Builds the query from the condition.
39
+ # @return [String] The query.
40
+ def to_s
41
+ build_query
42
+ end
43
+
44
+ # Overrides the == operator.
45
+ # @param [Condition] other The condition to compare.
46
+ # @return [Boolean] True if the conditions are equal, false otherwise.
47
+ def ==(other)
48
+ if other.instance_of? Condition
49
+ @field == other.field && @operator == other.operator && @value == other.value
50
+ else
51
+ false
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,37 @@
1
+ module FattureInCloud_Ruby_Sdk
2
+ # The Conjunction class is used to build a conjunction of two expressions.
3
+ class Conjunction < Expression
4
+ attr_accessor :left, :right
5
+
6
+ # Initializes a new instance of the Conjunction class.
7
+ # @param [Expression] left The left expression.
8
+ # @param [Expression] right The right expression.
9
+ def initialize(left, right)
10
+ @left = left
11
+ @right = right
12
+ end
13
+
14
+ # Builds the query from the conjunction.
15
+ # @return [String] The query.
16
+ def build_query
17
+ "(#{@left.build_query} and #{@right.build_query})"
18
+ end
19
+
20
+ # Builds the query from the conjunction.
21
+ # @return [String] The query.
22
+ def to_s
23
+ build_query
24
+ end
25
+
26
+ # Overrides the == operator.
27
+ # @param [Conjunction] other The conjunction to compare.
28
+ # @return [Boolean] True if the conjunctions are equal, false otherwise.
29
+ def ==(other)
30
+ if other.instance_of? Conjunction
31
+ @left == other.left && @right == other.right
32
+ else
33
+ false
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ module FattureInCloud_Ruby_Sdk
2
+ # The Conjunction class is used to build a conjunction of two expressions.
3
+ class Disjunction < Expression
4
+ attr_accessor :left, :right
5
+
6
+ # Initializes a new instance of the Conjunction class.
7
+ # @param [Expression] left The left expression.
8
+ # @param [Expression] right The right expression.
9
+ def initialize(left, right)
10
+ @left = left
11
+ @right = right
12
+ end
13
+
14
+ # Builds the query from the conjunction.
15
+ # @return [String] The query.
16
+ def build_query
17
+ "(#{@left.build_query} or #{@right.build_query})"
18
+ end
19
+
20
+ # Builds the query from the conjunction.
21
+ # @return [String] The query.
22
+ def to_s
23
+ build_query
24
+ end
25
+
26
+ # Overrides the == operator.
27
+ # @param [Conjunction] other The conjunction to compare.
28
+ # @return [Boolean] True if the conjunctions are equal, false otherwise.
29
+ def == (other)
30
+ if other.instance_of? Disjunction
31
+ @left == other.left && @right == other.right
32
+ else
33
+ false
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,10 @@
1
+ module FattureInCloud_Ruby_Sdk
2
+ # The Expression class is used to build an expression.
3
+ class Expression
4
+ # Builds the query from the expression.
5
+ # @return [String] The query.
6
+ def build_query
7
+ raise 'build_query not implemented'
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,144 @@
1
+ require 'cgi'
2
+
3
+ module FattureInCloud_Ruby_Sdk
4
+ # The Filter class is used to build a filter.
5
+ class Filter
6
+ attr_accessor :expression
7
+
8
+ # Initializes a new instance of the Filter class.
9
+ # @param [Expression] expression The expression.
10
+ def initialize(expression = nil)
11
+ @expression = expression
12
+ end
13
+
14
+ # Initializes a new instance of the Filter class with a Condition.
15
+ # @param [String] field The field to compare.
16
+ # @param [Operator] operator The operator to use.
17
+ # @param [String][Numeric][Boolean][nil] value The value to compare.
18
+ def where(field, operator, value)
19
+ @expression = Condition.new(field, operator, value)
20
+ self
21
+ end
22
+
23
+ # Initializes a new instance of the Filter class with an Expression.
24
+ # @param [Expression] expression The expression.
25
+ def where_expression(expression)
26
+ @expression = expression
27
+ self
28
+ end
29
+
30
+ # Adds an AND condition to the filter.
31
+ # @param [String] field The field to compare.
32
+ # @param [Operator] operator The operator to use.
33
+ # @param [String][Numeric][Boolean][nil] value The value to compare.
34
+ def and(field, operator, value)
35
+ if @expression.nil?
36
+ raise 'Cannot create a conjunction with an empty expression.'
37
+ end
38
+
39
+ left = @expression
40
+ right = Condition.new(field, operator, value)
41
+ @expression = Conjunction.new(left, right)
42
+ self
43
+ end
44
+
45
+ # Adds an AND expression to the filter.
46
+ # @param [Expression] expression The expression.
47
+ def and_expression(expression)
48
+ if @expression.nil? || expression.nil?
49
+ raise 'Cannot create a conjunction with an empty expression.'
50
+ end
51
+
52
+ left = @expression
53
+ right = expression
54
+ @expression = Conjunction.new(left, right)
55
+ self
56
+ end
57
+
58
+ # Adds an AND expression to the filter.
59
+ # @param [Filter] filter The filter.
60
+ def and_filter(filter)
61
+ if @expression.nil? || filter.nil? || filter.expression.nil?
62
+ raise 'Cannot create a conjunction with an empty expression.'
63
+ end
64
+
65
+ left = @expression
66
+ right = filter.expression
67
+ @expression = Conjunction.new(left, right)
68
+ end
69
+
70
+ # Adds an OR condition to the filter.
71
+ # @param [String] field The field to compare.
72
+ # @param [Operator] operator The operator to use.
73
+ # @param [String][Numeric][Boolean][nil] value The value to compare.
74
+ def or(field, operator, value)
75
+ if @expression.nil?
76
+ raise 'Cannot create a disjunction with an empty expression.'
77
+ end
78
+
79
+ left = @expression
80
+ right = Condition.new(field, operator, value)
81
+ @expression = Disjunction.new(left, right)
82
+ self
83
+ end
84
+
85
+ # Adds an OR expression to the filter.
86
+ # @param [Expression] expression The expression.
87
+ def or_expression(expression)
88
+ if @expression.nil? || expression.nil?
89
+ raise 'Cannot create a disjunction with an empty expression.'
90
+ end
91
+
92
+ left = @expression
93
+ right = expression
94
+ @expression = Disjunction.new(left, right)
95
+ self
96
+ end
97
+
98
+ # Adds an OR filter to the filter.
99
+ # @param [Filter] filter The filter.
100
+ def or_filter(filter)
101
+ if @expression.nil? || filter.nil? || filter.expression.nil?
102
+ raise 'Cannot create a disjunction with an empty expression.'
103
+ end
104
+
105
+ left = @expression
106
+ right = filter.expression
107
+ @expression = Disjunction.new(left, right)
108
+ self
109
+ end
110
+
111
+ # Builds the query from the filter.
112
+ # @return [String] The query.
113
+ def build_query
114
+ if @expression.nil?
115
+ ''
116
+ else
117
+ @expression.build_query
118
+ end
119
+ end
120
+
121
+ # Builds the query from the filter.
122
+ # @return [String] The query.
123
+ def to_s
124
+ build_query
125
+ end
126
+
127
+ # Builds the url encoded query from the filter.
128
+ # @return [String] The url encoded query.
129
+ def build_url_encoded_query
130
+ CGI.escape(build_query)
131
+ end
132
+
133
+ # Overrides the == operator.
134
+ # @param [Filter] other The filter to compare.
135
+ # @return [Boolean] True if the filters are equal, false otherwise.
136
+ def ==(other)
137
+ if other.instance_of? Filter
138
+ @expression == other.expression
139
+ else
140
+ false
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,29 @@
1
+ module FattureInCloud_Ruby_Sdk
2
+ # The Operator class represents the operator enum.
3
+ class Operator
4
+ # Equal operator.
5
+ EQ = '='.freeze
6
+ # Greater Than operator.
7
+ GT = '>'.freeze
8
+ # Greater Than or Equal operator.
9
+ GTE = '>='.freeze
10
+ # Less Than operator.
11
+ LT = '<'.freeze
12
+ # Less Than or Equal operator.
13
+ LTE = '<='.freeze
14
+ # Not Equal operator.
15
+ NEQ = '<>'.freeze
16
+ # Is operator.
17
+ IS = 'is'.freeze
18
+ # Is Not operator.
19
+ IS_NOT = 'is not'.freeze
20
+ # Like operator.
21
+ LIKE = 'like'.freeze
22
+ # Contains operator.
23
+ CONTAINS = 'contains'.freeze
24
+ # Starts With operator.
25
+ STARTS_WITH = 'starts with'.freeze
26
+ # Ends With operator.
27
+ ENDS_WITH = 'ends with'.freeze
28
+ end
29
+ end