trevol 0.1.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 (231) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +15 -0
  3. data/GENERADO.md +14 -0
  4. data/LICENSE +21 -0
  5. data/README.md +173 -0
  6. data/lib/trevol/client.rb +94 -0
  7. data/lib/trevol/errors.rb +152 -0
  8. data/lib/trevol/llave.rb +21 -0
  9. data/lib/trevol/paginacion.rb +41 -0
  10. data/lib/trevol/transporte.rb +173 -0
  11. data/lib/trevol/webhook.rb +100 -0
  12. data/lib/trevol.rb +18 -0
  13. data/lib/trevol_generado/api/balance_api.rb +220 -0
  14. data/lib/trevol_generado/api/credit_notes_api.rb +671 -0
  15. data/lib/trevol_generado/api/debit_notes_api.rb +671 -0
  16. data/lib/trevol_generado/api/equivalent_document_adjustments_api.rb +691 -0
  17. data/lib/trevol_generado/api/equivalent_documents_api.rb +698 -0
  18. data/lib/trevol_generado/api/events_api.rb +231 -0
  19. data/lib/trevol_generado/api/general_api.rb +201 -0
  20. data/lib/trevol_generado/api/invoices_api.rb +736 -0
  21. data/lib/trevol_generado/api/payroll_adjustments_api.rb +637 -0
  22. data/lib/trevol_generado/api/payrolls_api.rb +637 -0
  23. data/lib/trevol_generado/api/radian_events_api.rb +431 -0
  24. data/lib/trevol_generado/api/requests_api.rb +97 -0
  25. data/lib/trevol_generado/api/support_document_adjustments_api.rb +565 -0
  26. data/lib/trevol_generado/api/support_documents_api.rb +565 -0
  27. data/lib/trevol_generado/api/webhook_endpoints_api.rb +556 -0
  28. data/lib/trevol_generado/api_client.rb +441 -0
  29. data/lib/trevol_generado/api_error.rb +58 -0
  30. data/lib/trevol_generado/api_model_base.rb +88 -0
  31. data/lib/trevol_generado/configuration.rb +392 -0
  32. data/lib/trevol_generado/models/acquirer.rb +209 -0
  33. data/lib/trevol_generado/models/air_collection.rb +205 -0
  34. data/lib/trevol_generado/models/air_extension.rb +216 -0
  35. data/lib/trevol_generado/models/allowance_charge.rb +250 -0
  36. data/lib/trevol_generado/models/alternative_currency.rb +180 -0
  37. data/lib/trevol_generado/models/balance.rb +244 -0
  38. data/lib/trevol_generado/models/balance_event_data.rb +172 -0
  39. data/lib/trevol_generado/models/balance_transaction.rb +265 -0
  40. data/lib/trevol_generado/models/balance_transaction_company.rb +172 -0
  41. data/lib/trevol_generado/models/balance_transaction_document.rb +173 -0
  42. data/lib/trevol_generado/models/balance_transaction_list.rb +191 -0
  43. data/lib/trevol_generado/models/carrier.rb +219 -0
  44. data/lib/trevol_generado/models/certificate_event_data.rb +180 -0
  45. data/lib/trevol_generado/models/cinema_extension.rb +214 -0
  46. data/lib/trevol_generado/models/cinema_screening.rb +256 -0
  47. data/lib/trevol_generado/models/company.rb +267 -0
  48. data/lib/trevol_generado/models/company_key.rb +182 -0
  49. data/lib/trevol_generado/models/company_numbering.rb +201 -0
  50. data/lib/trevol_generado/models/consumption.rb +246 -0
  51. data/lib/trevol_generado/models/consumption_adjustment.rb +204 -0
  52. data/lib/trevol_generado/models/contingency.rb +160 -0
  53. data/lib/trevol_generado/models/credit_note_list.rb +191 -0
  54. data/lib/trevol_generado/models/currency.rb +241 -0
  55. data/lib/trevol_generado/models/customer.rb +360 -0
  56. data/lib/trevol_generado/models/debit_note_list.rb +191 -0
  57. data/lib/trevol_generado/models/deleted_object.rb +178 -0
  58. data/lib/trevol_generado/models/delivery.rb +200 -0
  59. data/lib/trevol_generado/models/delivery_email.rb +181 -0
  60. data/lib/trevol_generado/models/delivery_terms.rb +169 -0
  61. data/lib/trevol_generado/models/dian_result.rb +182 -0
  62. data/lib/trevol_generado/models/dian_rule.rb +216 -0
  63. data/lib/trevol_generado/models/document.rb +432 -0
  64. data/lib/trevol_generado/models/document_event_data.rb +315 -0
  65. data/lib/trevol_generado/models/document_reference.rb +169 -0
  66. data/lib/trevol_generado/models/document_totals.rb +299 -0
  67. data/lib/trevol_generado/models/document_totals_currency.rb +197 -0
  68. data/lib/trevol_generado/models/document_totals_item.rb +196 -0
  69. data/lib/trevol_generado/models/document_totals_tax.rb +197 -0
  70. data/lib/trevol_generado/models/document_totals_withholding.rb +206 -0
  71. data/lib/trevol_generado/models/equivalent_adjustment_item.rb +374 -0
  72. data/lib/trevol_generado/models/equivalent_document.rb +470 -0
  73. data/lib/trevol_generado/models/equivalent_document_adjustment.rb +440 -0
  74. data/lib/trevol_generado/models/equivalent_document_adjustment_input.rb +388 -0
  75. data/lib/trevol_generado/models/equivalent_document_adjustment_list.rb +191 -0
  76. data/lib/trevol_generado/models/equivalent_document_contingency.rb +181 -0
  77. data/lib/trevol_generado/models/equivalent_document_contingency_backup.rb +171 -0
  78. data/lib/trevol_generado/models/equivalent_document_event_data.rb +313 -0
  79. data/lib/trevol_generado/models/equivalent_document_input.rb +365 -0
  80. data/lib/trevol_generado/models/equivalent_document_list.rb +191 -0
  81. data/lib/trevol_generado/models/equivalent_document_reference.rb +241 -0
  82. data/lib/trevol_generado/models/equivalent_item.rb +387 -0
  83. data/lib/trevol_generado/models/event.rb +223 -0
  84. data/lib/trevol_generado/models/event_claim.rb +170 -0
  85. data/lib/trevol_generado/models/event_delivery.rb +178 -0
  86. data/lib/trevol_generado/models/event_delivery_email.rb +161 -0
  87. data/lib/trevol_generado/models/event_dian_result.rb +173 -0
  88. data/lib/trevol_generado/models/event_dian_rule.rb +170 -0
  89. data/lib/trevol_generado/models/event_document_error.rb +170 -0
  90. data/lib/trevol_generado/models/event_equivalent_document_ref.rb +161 -0
  91. data/lib/trevol_generado/models/event_error.rb +170 -0
  92. data/lib/trevol_generado/models/event_invoice_ref.rb +161 -0
  93. data/lib/trevol_generado/models/event_list.rb +191 -0
  94. data/lib/trevol_generado/models/event_payroll_ref.rb +160 -0
  95. data/lib/trevol_generado/models/event_radian_invoice_ref.rb +181 -0
  96. data/lib/trevol_generado/models/event_resend_input.rb +177 -0
  97. data/lib/trevol_generado/models/event_support_document_ref.rb +161 -0
  98. data/lib/trevol_generado/models/extension.rb +215 -0
  99. data/lib/trevol_generado/models/foreign_address.rb +218 -0
  100. data/lib/trevol_generado/models/free_of_charge.rb +170 -0
  101. data/lib/trevol_generado/models/game.rb +203 -0
  102. data/lib/trevol_generado/models/game_credit.rb +204 -0
  103. data/lib/trevol_generado/models/games_extension.rb +216 -0
  104. data/lib/trevol_generado/models/games_venue.rb +204 -0
  105. data/lib/trevol_generado/models/interoperability.rb +205 -0
  106. data/lib/trevol_generado/models/interoperability_collection.rb +171 -0
  107. data/lib/trevol_generado/models/interoperability_data.rb +186 -0
  108. data/lib/trevol_generado/models/invoice_input.rb +364 -0
  109. data/lib/trevol_generado/models/invoice_list.rb +191 -0
  110. data/lib/trevol_generado/models/invoice_reference.rb +198 -0
  111. data/lib/trevol_generado/models/item.rb +439 -0
  112. data/lib/trevol_generado/models/item_allowance.rb +190 -0
  113. data/lib/trevol_generado/models/item_consignment.rb +286 -0
  114. data/lib/trevol_generado/models/item_mandator.rb +231 -0
  115. data/lib/trevol_generado/models/item_notary.rb +204 -0
  116. data/lib/trevol_generado/models/item_property.rb +223 -0
  117. data/lib/trevol_generado/models/item_tax.rb +246 -0
  118. data/lib/trevol_generado/models/item_withholding.rb +214 -0
  119. data/lib/trevol_generado/models/meter.rb +233 -0
  120. data/lib/trevol_generado/models/note_input.rb +329 -0
  121. data/lib/trevol_generado/models/numbering.rb +178 -0
  122. data/lib/trevol_generado/models/numbering_expiring_event_data.rb +209 -0
  123. data/lib/trevol_generado/models/numbering_low_event_data.rb +209 -0
  124. data/lib/trevol_generado/models/origin_note.rb +230 -0
  125. data/lib/trevol_generado/models/payment.rb +232 -0
  126. data/lib/trevol_generado/models/payment_method.rb +187 -0
  127. data/lib/trevol_generado/models/payroll.rb +455 -0
  128. data/lib/trevol_generado/models/payroll_adjustment.rb +467 -0
  129. data/lib/trevol_generado/models/payroll_adjustment_input.rb +362 -0
  130. data/lib/trevol_generado/models/payroll_adjustment_list.rb +191 -0
  131. data/lib/trevol_generado/models/payroll_basic.rb +204 -0
  132. data/lib/trevol_generado/models/payroll_compensated_vacation.rb +204 -0
  133. data/lib/trevol_generado/models/payroll_compensation.rb +205 -0
  134. data/lib/trevol_generado/models/payroll_deductions.rb +370 -0
  135. data/lib/trevol_generado/models/payroll_disability.rb +249 -0
  136. data/lib/trevol_generado/models/payroll_earnings.rb +406 -0
  137. data/lib/trevol_generado/models/payroll_employee.rb +437 -0
  138. data/lib/trevol_generado/models/payroll_employer.rb +238 -0
  139. data/lib/trevol_generado/models/payroll_epctv_bonus.rb +191 -0
  140. data/lib/trevol_generado/models/payroll_event_data.rb +303 -0
  141. data/lib/trevol_generado/models/payroll_files.rb +179 -0
  142. data/lib/trevol_generado/models/payroll_input.rb +420 -0
  143. data/lib/trevol_generado/models/payroll_leaves.rb +184 -0
  144. data/lib/trevol_generado/models/payroll_list.rb +191 -0
  145. data/lib/trevol_generado/models/payroll_loan.rb +204 -0
  146. data/lib/trevol_generado/models/payroll_novelty.rb +177 -0
  147. data/lib/trevol_generado/models/payroll_other_concept.rb +197 -0
  148. data/lib/trevol_generado/models/payroll_overtime.rb +262 -0
  149. data/lib/trevol_generado/models/payroll_paid_period.rb +222 -0
  150. data/lib/trevol_generado/models/payroll_payment.rb +215 -0
  151. data/lib/trevol_generado/models/payroll_percent_amount.rb +205 -0
  152. data/lib/trevol_generado/models/payroll_period.rb +247 -0
  153. data/lib/trevol_generado/models/payroll_place.rb +179 -0
  154. data/lib/trevol_generado/models/payroll_reference.rb +188 -0
  155. data/lib/trevol_generado/models/payroll_salary_amounts.rb +171 -0
  156. data/lib/trevol_generado/models/payroll_sanction.rb +205 -0
  157. data/lib/trevol_generado/models/payroll_service_bonus.rb +214 -0
  158. data/lib/trevol_generado/models/payroll_severance.rb +232 -0
  159. data/lib/trevol_generado/models/payroll_solidarity_fund.rb +191 -0
  160. data/lib/trevol_generado/models/payroll_totals.rb +188 -0
  161. data/lib/trevol_generado/models/payroll_transport.rb +181 -0
  162. data/lib/trevol_generado/models/payroll_unpaid_period.rb +195 -0
  163. data/lib/trevol_generado/models/payroll_vacation.rb +173 -0
  164. data/lib/trevol_generado/models/payroll_workplace.rb +188 -0
  165. data/lib/trevol_generado/models/period.rb +169 -0
  166. data/lib/trevol_generado/models/physical_document.rb +179 -0
  167. data/lib/trevol_generado/models/pos.rb +186 -0
  168. data/lib/trevol_generado/models/pos_buyer.rb +181 -0
  169. data/lib/trevol_generado/models/pos_register.rb +269 -0
  170. data/lib/trevol_generado/models/prepayment.rb +248 -0
  171. data/lib/trevol_generado/models/preview.rb +195 -0
  172. data/lib/trevol_generado/models/problem.rb +329 -0
  173. data/lib/trevol_generado/models/problem_error.rb +178 -0
  174. data/lib/trevol_generado/models/public_services_extension.rb +385 -0
  175. data/lib/trevol_generado/models/radian_event.rb +359 -0
  176. data/lib/trevol_generado/models/radian_event_data.rb +289 -0
  177. data/lib/trevol_generado/models/radian_event_input.rb +284 -0
  178. data/lib/trevol_generado/models/radian_event_invoice.rb +208 -0
  179. data/lib/trevol_generado/models/radian_event_list.rb +191 -0
  180. data/lib/trevol_generado/models/received_invoice.rb +200 -0
  181. data/lib/trevol_generado/models/received_invoice_issuer.rb +190 -0
  182. data/lib/trevol_generado/models/references.rb +182 -0
  183. data/lib/trevol_generado/models/request_list.rb +191 -0
  184. data/lib/trevol_generado/models/request_log.rb +275 -0
  185. data/lib/trevol_generado/models/seller.rb +385 -0
  186. data/lib/trevol_generado/models/shipment.rb +178 -0
  187. data/lib/trevol_generado/models/show_event.rb +276 -0
  188. data/lib/trevol_generado/models/show_extension.rb +203 -0
  189. data/lib/trevol_generado/models/show_producer.rb +212 -0
  190. data/lib/trevol_generado/models/standard_code.rb +169 -0
  191. data/lib/trevol_generado/models/stock_exchange_extension.rb +320 -0
  192. data/lib/trevol_generado/models/stock_exchange_prices.rb +169 -0
  193. data/lib/trevol_generado/models/support_adjustment_item.rb +295 -0
  194. data/lib/trevol_generado/models/support_adjustment_reference.rb +188 -0
  195. data/lib/trevol_generado/models/support_currency.rb +231 -0
  196. data/lib/trevol_generado/models/support_document.rb +401 -0
  197. data/lib/trevol_generado/models/support_document_adjustment.rb +409 -0
  198. data/lib/trevol_generado/models/support_document_adjustment_input.rb +331 -0
  199. data/lib/trevol_generado/models/support_document_adjustment_list.rb +191 -0
  200. data/lib/trevol_generado/models/support_document_delivery.rb +199 -0
  201. data/lib/trevol_generado/models/support_document_event_data.rb +305 -0
  202. data/lib/trevol_generado/models/support_document_input.rb +331 -0
  203. data/lib/trevol_generado/models/support_document_list.rb +191 -0
  204. data/lib/trevol_generado/models/support_document_reference.rb +198 -0
  205. data/lib/trevol_generado/models/support_item.rb +317 -0
  206. data/lib/trevol_generado/models/support_item_charge.rb +180 -0
  207. data/lib/trevol_generado/models/support_item_tax.rb +197 -0
  208. data/lib/trevol_generado/models/support_item_withholding.rb +205 -0
  209. data/lib/trevol_generado/models/tacit_acceptance.rb +224 -0
  210. data/lib/trevol_generado/models/tacit_acceptance_rule.rb +226 -0
  211. data/lib/trevol_generado/models/test_event_data.rb +171 -0
  212. data/lib/trevol_generado/models/third_party_charge.rb +277 -0
  213. data/lib/trevol_generado/models/third_party_company.rb +203 -0
  214. data/lib/trevol_generado/models/top_up.rb +199 -0
  215. data/lib/trevol_generado/models/top_up_buyer.rb +352 -0
  216. data/lib/trevol_generado/models/top_up_input.rb +187 -0
  217. data/lib/trevol_generado/models/top_up_wompi.rb +209 -0
  218. data/lib/trevol_generado/models/transport_extension.rb +281 -0
  219. data/lib/trevol_generado/models/webhook_delivery.rb +267 -0
  220. data/lib/trevol_generado/models/webhook_delivery_attempt.rb +192 -0
  221. data/lib/trevol_generado/models/webhook_delivery_list.rb +191 -0
  222. data/lib/trevol_generado/models/webhook_endpoint.rb +317 -0
  223. data/lib/trevol_generado/models/webhook_endpoint_input.rb +229 -0
  224. data/lib/trevol_generado/models/webhook_endpoint_list.rb +191 -0
  225. data/lib/trevol_generado/models/webhook_endpoint_rotate_input.rb +160 -0
  226. data/lib/trevol_generado/models/webhook_endpoint_update.rb +227 -0
  227. data/lib/trevol_generado/models/withholding.rb +224 -0
  228. data/lib/trevol_generado/tablas.rb +243 -0
  229. data/lib/trevol_generado/version.rb +15 -0
  230. data/lib/trevol_generado.rb +251 -0
  231. metadata +386 -0
@@ -0,0 +1,437 @@
1
+ =begin
2
+ #API de Trevol
3
+
4
+ #Trevol API. Documentación: https://platform.trevol.si/docs
5
+
6
+ The version of the OpenAPI document: 2026-10-22
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.26.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrevolGenerado
17
+ class PayrollEmployee < ApiModelBase
18
+ # Tipo de trabajador (tabla 5.5.3).
19
+ attr_accessor :type
20
+
21
+ attr_accessor :subtype
22
+
23
+ attr_accessor :high_risk_pension
24
+
25
+ # Tipo de documento del trabajador (tabla 5.2.1).
26
+ attr_accessor :document_type
27
+
28
+ # Solo dígitos, sin puntos ni comas ni espacios.
29
+ attr_accessor :document_number
30
+
31
+ attr_accessor :first_surname
32
+
33
+ # Obligatorio (NIE047): la DIAN lo exige aunque la base no.
34
+ attr_accessor :second_surname
35
+
36
+ attr_accessor :first_name
37
+
38
+ attr_accessor :other_names
39
+
40
+ attr_accessor :workplace
41
+
42
+ attr_accessor :integral_salary
43
+
44
+ # Tipo de contrato (tabla 5.5.2).
45
+ attr_accessor :contract_type
46
+
47
+ # Número o texto decimal con punto («150000.50»).
48
+ attr_accessor :salary
49
+
50
+ # El código interno del empleado (filtra las listas con `employee_code`; no es un dato de identificación).
51
+ attr_accessor :code
52
+
53
+ # Attribute mapping from ruby-style variable name to JSON key.
54
+ def self.attribute_map
55
+ {
56
+ :'type' => :'type',
57
+ :'subtype' => :'subtype',
58
+ :'high_risk_pension' => :'high_risk_pension',
59
+ :'document_type' => :'document_type',
60
+ :'document_number' => :'document_number',
61
+ :'first_surname' => :'first_surname',
62
+ :'second_surname' => :'second_surname',
63
+ :'first_name' => :'first_name',
64
+ :'other_names' => :'other_names',
65
+ :'workplace' => :'workplace',
66
+ :'integral_salary' => :'integral_salary',
67
+ :'contract_type' => :'contract_type',
68
+ :'salary' => :'salary',
69
+ :'code' => :'code'
70
+ }
71
+ end
72
+
73
+ # Returns attribute mapping this model knows about
74
+ def self.acceptable_attribute_map
75
+ attribute_map
76
+ end
77
+
78
+ # Returns all the JSON keys this model knows about
79
+ def self.acceptable_attributes
80
+ acceptable_attribute_map.values
81
+ end
82
+
83
+ # Attribute type mapping.
84
+ def self.openapi_types
85
+ {
86
+ :'type' => :'String',
87
+ :'subtype' => :'String',
88
+ :'high_risk_pension' => :'Boolean',
89
+ :'document_type' => :'String',
90
+ :'document_number' => :'String',
91
+ :'first_surname' => :'String',
92
+ :'second_surname' => :'String',
93
+ :'first_name' => :'String',
94
+ :'other_names' => :'String',
95
+ :'workplace' => :'PayrollWorkplace',
96
+ :'integral_salary' => :'Boolean',
97
+ :'contract_type' => :'String',
98
+ :'salary' => :'String',
99
+ :'code' => :'String'
100
+ }
101
+ end
102
+
103
+ # List of attributes with nullable: true
104
+ def self.openapi_nullable
105
+ Set.new([
106
+ ])
107
+ end
108
+
109
+ # Returns attribute type mapping
110
+ def self.acceptable_openapi_types
111
+ openapi_types
112
+ end
113
+
114
+ # Returns the nullable attributes
115
+ def self.acceptable_openapi_nullable
116
+ openapi_nullable
117
+ end
118
+
119
+ # Initializes the object
120
+ # @param [Hash] attributes Model attributes in the form of hash
121
+ def initialize(attributes = {})
122
+ if (!attributes.is_a?(Hash))
123
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::PayrollEmployee` initialize method"
124
+ end
125
+
126
+ # check to see if the attribute exists and convert string to symbol for hash key
127
+ acceptable_attribute_map = self.class.acceptable_attribute_map
128
+ attributes = attributes.each_with_object({}) { |(k, v), h|
129
+ if (!acceptable_attribute_map.key?(k.to_sym))
130
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::PayrollEmployee`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
131
+ end
132
+ h[k.to_sym] = v
133
+ }
134
+
135
+ if attributes.key?(:'type')
136
+ self.type = attributes[:'type']
137
+ else
138
+ self.type = nil
139
+ end
140
+
141
+ if attributes.key?(:'subtype')
142
+ self.subtype = attributes[:'subtype']
143
+ end
144
+
145
+ if attributes.key?(:'high_risk_pension')
146
+ self.high_risk_pension = attributes[:'high_risk_pension']
147
+ end
148
+
149
+ if attributes.key?(:'document_type')
150
+ self.document_type = attributes[:'document_type']
151
+ else
152
+ self.document_type = nil
153
+ end
154
+
155
+ if attributes.key?(:'document_number')
156
+ self.document_number = attributes[:'document_number']
157
+ else
158
+ self.document_number = nil
159
+ end
160
+
161
+ if attributes.key?(:'first_surname')
162
+ self.first_surname = attributes[:'first_surname']
163
+ else
164
+ self.first_surname = nil
165
+ end
166
+
167
+ if attributes.key?(:'second_surname')
168
+ self.second_surname = attributes[:'second_surname']
169
+ else
170
+ self.second_surname = nil
171
+ end
172
+
173
+ if attributes.key?(:'first_name')
174
+ self.first_name = attributes[:'first_name']
175
+ else
176
+ self.first_name = nil
177
+ end
178
+
179
+ if attributes.key?(:'other_names')
180
+ self.other_names = attributes[:'other_names']
181
+ end
182
+
183
+ if attributes.key?(:'workplace')
184
+ self.workplace = attributes[:'workplace']
185
+ else
186
+ self.workplace = nil
187
+ end
188
+
189
+ if attributes.key?(:'integral_salary')
190
+ self.integral_salary = attributes[:'integral_salary']
191
+ end
192
+
193
+ if attributes.key?(:'contract_type')
194
+ self.contract_type = attributes[:'contract_type']
195
+ else
196
+ self.contract_type = nil
197
+ end
198
+
199
+ if attributes.key?(:'salary')
200
+ self.salary = attributes[:'salary']
201
+ else
202
+ self.salary = nil
203
+ end
204
+
205
+ if attributes.key?(:'code')
206
+ self.code = attributes[:'code']
207
+ end
208
+ end
209
+
210
+ # Show invalid properties with the reasons. Usually used together with valid?
211
+ # @return Array for valid properties with the reasons
212
+ def list_invalid_properties
213
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
214
+ invalid_properties = Array.new
215
+ if @type.nil?
216
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
217
+ end
218
+
219
+ if @document_type.nil?
220
+ invalid_properties.push('invalid value for "document_type", document_type cannot be nil.')
221
+ end
222
+
223
+ if @document_number.nil?
224
+ invalid_properties.push('invalid value for "document_number", document_number cannot be nil.')
225
+ end
226
+
227
+ if @first_surname.nil?
228
+ invalid_properties.push('invalid value for "first_surname", first_surname cannot be nil.')
229
+ end
230
+
231
+ if @second_surname.nil?
232
+ invalid_properties.push('invalid value for "second_surname", second_surname cannot be nil.')
233
+ end
234
+
235
+ if @first_name.nil?
236
+ invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
237
+ end
238
+
239
+ if @workplace.nil?
240
+ invalid_properties.push('invalid value for "workplace", workplace cannot be nil.')
241
+ end
242
+
243
+ if @contract_type.nil?
244
+ invalid_properties.push('invalid value for "contract_type", contract_type cannot be nil.')
245
+ end
246
+
247
+ if @salary.nil?
248
+ invalid_properties.push('invalid value for "salary", salary cannot be nil.')
249
+ end
250
+
251
+ invalid_properties
252
+ end
253
+
254
+ # Check to see if the all the properties in the model are valid
255
+ # @return true if the model is valid
256
+ def valid?
257
+ warn '[DEPRECATED] the `valid?` method is obsolete'
258
+ return false if @type.nil?
259
+ return false if @document_type.nil?
260
+ return false if @document_number.nil?
261
+ return false if @first_surname.nil?
262
+ return false if @second_surname.nil?
263
+ return false if @first_name.nil?
264
+ return false if @workplace.nil?
265
+ return false if @contract_type.nil?
266
+ return false if @salary.nil?
267
+ true
268
+ end
269
+
270
+ # Custom attribute writer method with validation
271
+ # @param [Object] type Value to be assigned
272
+ def type=(type)
273
+ if type.nil?
274
+ fail ArgumentError, 'type cannot be nil'
275
+ end
276
+
277
+ @type = type
278
+ end
279
+
280
+ # Custom attribute writer method with validation
281
+ # @param [Object] document_type Value to be assigned
282
+ def document_type=(document_type)
283
+ if document_type.nil?
284
+ fail ArgumentError, 'document_type cannot be nil'
285
+ end
286
+
287
+ @document_type = document_type
288
+ end
289
+
290
+ # Custom attribute writer method with validation
291
+ # @param [Object] document_number Value to be assigned
292
+ def document_number=(document_number)
293
+ if document_number.nil?
294
+ fail ArgumentError, 'document_number cannot be nil'
295
+ end
296
+
297
+ @document_number = document_number
298
+ end
299
+
300
+ # Custom attribute writer method with validation
301
+ # @param [Object] first_surname Value to be assigned
302
+ def first_surname=(first_surname)
303
+ if first_surname.nil?
304
+ fail ArgumentError, 'first_surname cannot be nil'
305
+ end
306
+
307
+ @first_surname = first_surname
308
+ end
309
+
310
+ # Custom attribute writer method with validation
311
+ # @param [Object] second_surname Value to be assigned
312
+ def second_surname=(second_surname)
313
+ if second_surname.nil?
314
+ fail ArgumentError, 'second_surname cannot be nil'
315
+ end
316
+
317
+ @second_surname = second_surname
318
+ end
319
+
320
+ # Custom attribute writer method with validation
321
+ # @param [Object] first_name Value to be assigned
322
+ def first_name=(first_name)
323
+ if first_name.nil?
324
+ fail ArgumentError, 'first_name cannot be nil'
325
+ end
326
+
327
+ @first_name = first_name
328
+ end
329
+
330
+ # Custom attribute writer method with validation
331
+ # @param [Object] workplace Value to be assigned
332
+ def workplace=(workplace)
333
+ if workplace.nil?
334
+ fail ArgumentError, 'workplace cannot be nil'
335
+ end
336
+
337
+ @workplace = workplace
338
+ end
339
+
340
+ # Custom attribute writer method with validation
341
+ # @param [Object] contract_type Value to be assigned
342
+ def contract_type=(contract_type)
343
+ if contract_type.nil?
344
+ fail ArgumentError, 'contract_type cannot be nil'
345
+ end
346
+
347
+ @contract_type = contract_type
348
+ end
349
+
350
+ # Custom attribute writer method with validation
351
+ # @param [Object] salary Value to be assigned
352
+ def salary=(salary)
353
+ if salary.nil?
354
+ fail ArgumentError, 'salary cannot be nil'
355
+ end
356
+
357
+ @salary = salary
358
+ end
359
+
360
+ # Checks equality by comparing each attribute.
361
+ # @param [Object] Object to be compared
362
+ def ==(o)
363
+ return true if self.equal?(o)
364
+ self.class == o.class &&
365
+ type == o.type &&
366
+ subtype == o.subtype &&
367
+ high_risk_pension == o.high_risk_pension &&
368
+ document_type == o.document_type &&
369
+ document_number == o.document_number &&
370
+ first_surname == o.first_surname &&
371
+ second_surname == o.second_surname &&
372
+ first_name == o.first_name &&
373
+ other_names == o.other_names &&
374
+ workplace == o.workplace &&
375
+ integral_salary == o.integral_salary &&
376
+ contract_type == o.contract_type &&
377
+ salary == o.salary &&
378
+ code == o.code
379
+ end
380
+
381
+ # @see the `==` method
382
+ # @param [Object] Object to be compared
383
+ def eql?(o)
384
+ self == o
385
+ end
386
+
387
+ # Calculates hash code according to all attributes.
388
+ # @return [Integer] Hash code
389
+ def hash
390
+ [type, subtype, high_risk_pension, document_type, document_number, first_surname, second_surname, first_name, other_names, workplace, integral_salary, contract_type, salary, code].hash
391
+ end
392
+
393
+ # Builds the object from hash
394
+ # @param [Hash] attributes Model attributes in the form of hash
395
+ # @return [Object] Returns the model itself
396
+ def self.build_from_hash(attributes)
397
+ return nil unless attributes.is_a?(Hash)
398
+ attributes = attributes.transform_keys(&:to_sym)
399
+ # include attributes inherited from allOf parents (the nearest declaration wins)
400
+ map = acceptable_attribute_map
401
+ transformed_hash = {}
402
+ acceptable_openapi_types.each_pair do |key, type|
403
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
404
+ transformed_hash["#{key}"] = nil
405
+ elsif type =~ /\AArray<(.*)>/i
406
+ # check to ensure the input is an array given that the attribute
407
+ # is documented as an array but the input is not
408
+ if attributes[map[key]].is_a?(Array)
409
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
410
+ end
411
+ elsif !attributes[map[key]].nil?
412
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
413
+ end
414
+ end
415
+ new(transformed_hash)
416
+ end
417
+
418
+ # Returns the object in the form of hash
419
+ # @return [Hash] Returns the object in the form of hash
420
+ def to_hash
421
+ hash = {}
422
+ # include attributes inherited from allOf parents (the nearest declaration wins)
423
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
424
+ value = self.send(attr)
425
+ if value.nil?
426
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
427
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
428
+ end
429
+
430
+ hash[param] = _to_hash(value)
431
+ end
432
+ hash
433
+ end
434
+
435
+ end
436
+
437
+ end
@@ -0,0 +1,238 @@
1
+ =begin
2
+ #API de Trevol
3
+
4
+ #Trevol API. Documentación: https://platform.trevol.si/docs
5
+
6
+ The version of the OpenAPI document: 2026-10-22
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.26.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module TrevolGenerado
17
+ class PayrollEmployer < ApiModelBase
18
+ attr_accessor :first_surname
19
+
20
+ attr_accessor :second_surname
21
+
22
+ attr_accessor :first_name
23
+
24
+ attr_accessor :other_names
25
+
26
+ # Attribute mapping from ruby-style variable name to JSON key.
27
+ def self.attribute_map
28
+ {
29
+ :'first_surname' => :'first_surname',
30
+ :'second_surname' => :'second_surname',
31
+ :'first_name' => :'first_name',
32
+ :'other_names' => :'other_names'
33
+ }
34
+ end
35
+
36
+ # Returns attribute mapping this model knows about
37
+ def self.acceptable_attribute_map
38
+ attribute_map
39
+ end
40
+
41
+ # Returns all the JSON keys this model knows about
42
+ def self.acceptable_attributes
43
+ acceptable_attribute_map.values
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'first_surname' => :'String',
50
+ :'second_surname' => :'String',
51
+ :'first_name' => :'String',
52
+ :'other_names' => :'String'
53
+ }
54
+ end
55
+
56
+ # List of attributes with nullable: true
57
+ def self.openapi_nullable
58
+ Set.new([
59
+ ])
60
+ end
61
+
62
+ # Returns attribute type mapping
63
+ def self.acceptable_openapi_types
64
+ openapi_types
65
+ end
66
+
67
+ # Returns the nullable attributes
68
+ def self.acceptable_openapi_nullable
69
+ openapi_nullable
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ def initialize(attributes = {})
75
+ if (!attributes.is_a?(Hash))
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TrevolGenerado::PayrollEmployer` initialize method"
77
+ end
78
+
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ acceptable_attribute_map = self.class.acceptable_attribute_map
81
+ attributes = attributes.each_with_object({}) { |(k, v), h|
82
+ if (!acceptable_attribute_map.key?(k.to_sym))
83
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TrevolGenerado::PayrollEmployer`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
84
+ end
85
+ h[k.to_sym] = v
86
+ }
87
+
88
+ if attributes.key?(:'first_surname')
89
+ self.first_surname = attributes[:'first_surname']
90
+ else
91
+ self.first_surname = nil
92
+ end
93
+
94
+ if attributes.key?(:'second_surname')
95
+ self.second_surname = attributes[:'second_surname']
96
+ else
97
+ self.second_surname = nil
98
+ end
99
+
100
+ if attributes.key?(:'first_name')
101
+ self.first_name = attributes[:'first_name']
102
+ else
103
+ self.first_name = nil
104
+ end
105
+
106
+ if attributes.key?(:'other_names')
107
+ self.other_names = attributes[:'other_names']
108
+ end
109
+ end
110
+
111
+ # Show invalid properties with the reasons. Usually used together with valid?
112
+ # @return Array for valid properties with the reasons
113
+ def list_invalid_properties
114
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
115
+ invalid_properties = Array.new
116
+ if @first_surname.nil?
117
+ invalid_properties.push('invalid value for "first_surname", first_surname cannot be nil.')
118
+ end
119
+
120
+ if @second_surname.nil?
121
+ invalid_properties.push('invalid value for "second_surname", second_surname cannot be nil.')
122
+ end
123
+
124
+ if @first_name.nil?
125
+ invalid_properties.push('invalid value for "first_name", first_name cannot be nil.')
126
+ end
127
+
128
+ invalid_properties
129
+ end
130
+
131
+ # Check to see if the all the properties in the model are valid
132
+ # @return true if the model is valid
133
+ def valid?
134
+ warn '[DEPRECATED] the `valid?` method is obsolete'
135
+ return false if @first_surname.nil?
136
+ return false if @second_surname.nil?
137
+ return false if @first_name.nil?
138
+ true
139
+ end
140
+
141
+ # Custom attribute writer method with validation
142
+ # @param [Object] first_surname Value to be assigned
143
+ def first_surname=(first_surname)
144
+ if first_surname.nil?
145
+ fail ArgumentError, 'first_surname cannot be nil'
146
+ end
147
+
148
+ @first_surname = first_surname
149
+ end
150
+
151
+ # Custom attribute writer method with validation
152
+ # @param [Object] second_surname Value to be assigned
153
+ def second_surname=(second_surname)
154
+ if second_surname.nil?
155
+ fail ArgumentError, 'second_surname cannot be nil'
156
+ end
157
+
158
+ @second_surname = second_surname
159
+ end
160
+
161
+ # Custom attribute writer method with validation
162
+ # @param [Object] first_name Value to be assigned
163
+ def first_name=(first_name)
164
+ if first_name.nil?
165
+ fail ArgumentError, 'first_name cannot be nil'
166
+ end
167
+
168
+ @first_name = first_name
169
+ end
170
+
171
+ # Checks equality by comparing each attribute.
172
+ # @param [Object] Object to be compared
173
+ def ==(o)
174
+ return true if self.equal?(o)
175
+ self.class == o.class &&
176
+ first_surname == o.first_surname &&
177
+ second_surname == o.second_surname &&
178
+ first_name == o.first_name &&
179
+ other_names == o.other_names
180
+ end
181
+
182
+ # @see the `==` method
183
+ # @param [Object] Object to be compared
184
+ def eql?(o)
185
+ self == o
186
+ end
187
+
188
+ # Calculates hash code according to all attributes.
189
+ # @return [Integer] Hash code
190
+ def hash
191
+ [first_surname, second_surname, first_name, other_names].hash
192
+ end
193
+
194
+ # Builds the object from hash
195
+ # @param [Hash] attributes Model attributes in the form of hash
196
+ # @return [Object] Returns the model itself
197
+ def self.build_from_hash(attributes)
198
+ return nil unless attributes.is_a?(Hash)
199
+ attributes = attributes.transform_keys(&:to_sym)
200
+ # include attributes inherited from allOf parents (the nearest declaration wins)
201
+ map = acceptable_attribute_map
202
+ transformed_hash = {}
203
+ acceptable_openapi_types.each_pair do |key, type|
204
+ if attributes.key?(map[key]) && attributes[map[key]].nil?
205
+ transformed_hash["#{key}"] = nil
206
+ elsif type =~ /\AArray<(.*)>/i
207
+ # check to ensure the input is an array given that the attribute
208
+ # is documented as an array but the input is not
209
+ if attributes[map[key]].is_a?(Array)
210
+ transformed_hash["#{key}"] = attributes[map[key]].map { |v| _deserialize($1, v) }
211
+ end
212
+ elsif !attributes[map[key]].nil?
213
+ transformed_hash["#{key}"] = _deserialize(type, attributes[map[key]])
214
+ end
215
+ end
216
+ new(transformed_hash)
217
+ end
218
+
219
+ # Returns the object in the form of hash
220
+ # @return [Hash] Returns the object in the form of hash
221
+ def to_hash
222
+ hash = {}
223
+ # include attributes inherited from allOf parents (the nearest declaration wins)
224
+ self.class.acceptable_attribute_map.each_pair do |attr, param|
225
+ value = self.send(attr)
226
+ if value.nil?
227
+ is_nullable = self.class.acceptable_openapi_nullable.include?(attr)
228
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
229
+ end
230
+
231
+ hash[param] = _to_hash(value)
232
+ end
233
+ hash
234
+ end
235
+
236
+ end
237
+
238
+ end