kombo 1.2.8 → 1.2.10

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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +326 -0
  3. data/lib/kombo/connect.rb +2 -1
  4. data/lib/kombo/general.rb +26 -6
  5. data/lib/kombo/hris.rb +322 -2
  6. data/lib/kombo/models/operations/getatsattachments_request.rb +74 -0
  7. data/lib/kombo/models/operations/getatsattachments_request.rbi +31 -0
  8. data/lib/kombo/models/operations/getatsattachments_response.rb +56 -0
  9. data/lib/kombo/models/operations/getatsattachments_response.rbi +19 -0
  10. data/lib/kombo/models/operations/getatsscorecards_request.rb +83 -0
  11. data/lib/kombo/models/operations/getatsscorecards_request.rbi +31 -0
  12. data/lib/kombo/models/operations/getatsscorecards_response.rb +56 -0
  13. data/lib/kombo/models/operations/getatsscorecards_response.rbi +19 -0
  14. data/lib/kombo/models/operations/gethrispayruns_request.rb +70 -0
  15. data/lib/kombo/models/operations/gethrispayruns_request.rbi +29 -0
  16. data/lib/kombo/models/operations/gethrispayruns_response.rb +56 -0
  17. data/lib/kombo/models/operations/gethrispayruns_response.rbi +19 -0
  18. data/lib/kombo/models/operations/gethrispayslips_request.rb +87 -0
  19. data/lib/kombo/models/operations/gethrispayslips_request.rbi +33 -0
  20. data/lib/kombo/models/operations/gethrispayslips_response.rb +56 -0
  21. data/lib/kombo/models/operations/gethrispayslips_response.rbi +19 -0
  22. data/lib/kombo/models/operations.rb +8 -0
  23. data/lib/kombo/models/shared/amount.rb +36 -0
  24. data/lib/kombo/models/shared/amount.rbi +15 -0
  25. data/lib/kombo/models/shared/amount_ytd.rb +36 -0
  26. data/lib/kombo/models/shared/amount_ytd.rbi +15 -0
  27. data/lib/kombo/models/shared/change.rb +19 -0
  28. data/lib/kombo/models/shared/change.rbi +11 -0
  29. data/lib/kombo/models/shared/content_ref.rb +43 -0
  30. data/lib/kombo/models/shared/content_ref.rbi +17 -0
  31. data/lib/kombo/models/shared/domestic_bank_routing.rb +1 -1
  32. data/lib/kombo/models/shared/domestic_bank_routing_type.rb +1 -0
  33. data/lib/kombo/models/shared/employee.rb +57 -0
  34. data/lib/kombo/models/shared/employee.rbi +25 -0
  35. data/lib/kombo/models/shared/format_multiselect.rb +2 -2
  36. data/lib/kombo/models/shared/format_singleselect.rb +2 -2
  37. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rb +39 -0
  38. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rbi +15 -0
  39. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rb +36 -0
  40. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rbi +15 -0
  41. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rb +76 -0
  42. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rbi +33 -0
  43. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rb +20 -0
  44. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rbi +11 -0
  45. data/lib/kombo/models/shared/{option_1.rb → getatsjobspositiveresponse_option_1.rb} +1 -1
  46. data/lib/kombo/models/shared/{option_1.rbi → getatsjobspositiveresponse_option_1.rbi} +2 -2
  47. data/lib/kombo/models/shared/{option_2.rb → getatsjobspositiveresponse_option_2.rb} +1 -1
  48. data/lib/kombo/models/shared/{option_2.rbi → getatsjobspositiveresponse_option_2.rbi} +2 -2
  49. data/lib/kombo/models/shared/{author.rb → getatsnotespositiveresponse_author.rb} +1 -1
  50. data/lib/kombo/models/shared/{author.rbi → getatsnotespositiveresponse_author.rbi} +2 -2
  51. data/lib/kombo/models/shared/getatsnotespositiveresponse_result.rb +2 -2
  52. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rb +39 -0
  53. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rbi +15 -0
  54. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rb +36 -0
  55. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rbi +15 -0
  56. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rb +36 -0
  57. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rbi +15 -0
  58. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rb +48 -0
  59. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rbi +21 -0
  60. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rb +36 -0
  61. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rbi +15 -0
  62. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rb +36 -0
  63. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rbi +15 -0
  64. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rb +36 -0
  65. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rbi +15 -0
  66. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rb +80 -0
  67. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rbi +35 -0
  68. data/lib/kombo/models/shared/gethrisgroupspositiveresponse_result.rb +6 -2
  69. data/lib/kombo/models/shared/gethrisgroupspositiveresponse_result.rbi +2 -0
  70. data/lib/kombo/models/shared/gethrislegalentitiespositiveresponse_result.rb +6 -2
  71. data/lib/kombo/models/shared/gethrislegalentitiespositiveresponse_result.rbi +2 -0
  72. data/lib/kombo/models/shared/gethrislocationspositiveresponse_result.rb +6 -2
  73. data/lib/kombo/models/shared/gethrislocationspositiveresponse_result.rbi +2 -0
  74. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rb +39 -0
  75. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rbi +15 -0
  76. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rb +36 -0
  77. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rbi +15 -0
  78. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rb +36 -0
  79. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rbi +15 -0
  80. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rb +36 -0
  81. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rbi +15 -0
  82. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rb +36 -0
  83. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rbi +15 -0
  84. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rb +62 -0
  85. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rbi +27 -0
  86. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rb +40 -0
  87. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rbi +17 -0
  88. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rb +39 -0
  89. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rbi +15 -0
  90. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rb +36 -0
  91. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rbi +15 -0
  92. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rb +36 -0
  93. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rbi +15 -0
  94. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rb +36 -0
  95. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rbi +15 -0
  96. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rb +36 -0
  97. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rbi +15 -0
  98. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rb +66 -0
  99. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rbi +29 -0
  100. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rb +52 -0
  101. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rbi +23 -0
  102. data/lib/kombo/models/shared/gross_pay_ytd.rb +36 -0
  103. data/lib/kombo/models/shared/gross_pay_ytd.rbi +15 -0
  104. data/lib/kombo/models/shared/integration.rb +44 -0
  105. data/lib/kombo/models/shared/integration.rbi +19 -0
  106. data/lib/kombo/models/shared/integration_tool.rb +9 -1
  107. data/lib/kombo/models/shared/issue.rb +56 -0
  108. data/lib/kombo/models/shared/issue.rbi +25 -0
  109. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rb +40 -0
  110. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rbi +17 -0
  111. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rb +21 -0
  112. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rbi +11 -0
  113. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rb +40 -0
  114. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rbi +17 -0
  115. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rb +40 -0
  116. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rbi +17 -0
  117. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rb +19 -0
  118. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rbi +11 -0
  119. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rb +18 -0
  120. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rbi +11 -0
  121. data/lib/kombo/models/shared/line_item.rb +56 -0
  122. data/lib/kombo/models/shared/line_item.rbi +25 -0
  123. data/lib/kombo/models/shared/name.rb +6 -0
  124. data/lib/kombo/models/shared/net_pay_ytd.rb +36 -0
  125. data/lib/kombo/models/shared/net_pay_ytd.rbi +15 -0
  126. data/lib/kombo/models/shared/paid_amount_ytd.rb +36 -0
  127. data/lib/kombo/models/shared/paid_amount_ytd.rbi +15 -0
  128. data/lib/kombo/models/shared/pay_code.rb +36 -0
  129. data/lib/kombo/models/shared/pay_code.rbi +15 -0
  130. data/lib/kombo/models/shared/pay_run.rb +48 -0
  131. data/lib/kombo/models/shared/pay_run.rbi +21 -0
  132. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody.rb +6 -2
  133. data/lib/kombo/models/shared/postatsapplicationsapplicationidnotesrequestbody.rbi +2 -0
  134. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rb +6 -2
  135. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_remote_fields.rbi +2 -0
  136. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_traffit.rb +32 -0
  137. data/lib/kombo/models/shared/postatsapplicationsapplicationidresultlinksrequestbody_traffit.rbi +13 -0
  138. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rb +6 -2
  139. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_remote_fields.rbi +2 -0
  140. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_traffit.rb +32 -0
  141. data/lib/kombo/models/shared/postatscandidatescandidateidresultlinksrequestbody_traffit.rbi +13 -0
  142. data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rb +32 -0
  143. data/lib/kombo/models/shared/{afas.rbi → postatscandidatesrequestbody_afas.rbi} +2 -2
  144. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rb +6 -2
  145. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rbi +2 -0
  146. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rb +48 -0
  147. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rbi +21 -0
  148. data/lib/kombo/models/shared/postatscandidatesrequestbody_emplypeople.rb +32 -0
  149. data/lib/kombo/models/shared/postatscandidatesrequestbody_emplypeople.rbi +13 -0
  150. data/lib/kombo/models/shared/postatscandidatesrequestbody_fountain.rb +44 -0
  151. data/lib/kombo/models/shared/postatscandidatesrequestbody_fountain.rbi +19 -0
  152. data/lib/kombo/models/shared/postatscandidatesrequestbody_icims.rb +32 -0
  153. data/lib/kombo/models/shared/postatscandidatesrequestbody_icims.rbi +13 -0
  154. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rb +32 -0
  155. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rbi +13 -0
  156. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +22 -2
  157. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +10 -0
  158. data/lib/kombo/models/shared/postatscandidatesrequestbody_talentsoft.rb +6 -2
  159. data/lib/kombo/models/shared/postatscandidatesrequestbody_talentsoft.rbi +2 -0
  160. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rb +32 -0
  161. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rbi +13 -0
  162. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rb +6 -2
  163. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rbi +2 -0
  164. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rb +48 -0
  165. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rbi +21 -0
  166. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_emplypeople.rb +32 -0
  167. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_emplypeople.rbi +13 -0
  168. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_fountain.rb +44 -0
  169. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_fountain.rbi +19 -0
  170. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_icims.rb +32 -0
  171. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_icims.rbi +13 -0
  172. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rb +32 -0
  173. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rbi +13 -0
  174. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +22 -2
  175. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +10 -0
  176. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_talentsoft.rb +6 -2
  177. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_talentsoft.rbi +2 -0
  178. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rb +6 -2
  179. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rbi +2 -0
  180. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rb +6 -2
  181. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rbi +2 -0
  182. data/lib/kombo/models/shared/{afas.rb → posthrisemployeesemployeeiddocumentsrequestbody_afas.rb} +1 -1
  183. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rbi +13 -0
  184. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rb +2 -2
  185. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_lever.rb +32 -0
  186. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_lever.rbi +13 -0
  187. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rb +6 -2
  188. data/lib/kombo/models/shared/putatsapplicationsapplicationidstagerequestbody_remote_fields.rbi +2 -0
  189. data/lib/kombo/models/shared/response.rb +27 -0
  190. data/lib/kombo/models/shared/response.rbi +11 -0
  191. data/lib/kombo/models/shared/result_boolean.rb +55 -0
  192. data/lib/kombo/models/shared/result_boolean.rbi +23 -0
  193. data/lib/kombo/models/shared/result_date.rb +55 -0
  194. data/lib/kombo/models/shared/result_date.rbi +23 -0
  195. data/lib/kombo/models/shared/result_multiselect.rb +59 -0
  196. data/lib/kombo/models/shared/result_multiselect.rbi +25 -0
  197. data/lib/kombo/models/shared/result_number.rb +55 -0
  198. data/lib/kombo/models/shared/result_number.rbi +23 -0
  199. data/lib/kombo/models/shared/result_singleselect.rb +59 -0
  200. data/lib/kombo/models/shared/result_singleselect.rbi +25 -0
  201. data/lib/kombo/models/shared/result_text.rb +55 -0
  202. data/lib/kombo/models/shared/result_text.rbi +23 -0
  203. data/lib/kombo/models/shared/work_location.rb +6 -2
  204. data/lib/kombo/models/shared/work_location.rbi +2 -0
  205. data/lib/kombo/models/shared.rb +71 -4
  206. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rb +36 -0
  207. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rbi +15 -0
  208. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rb +40 -0
  209. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rbi +17 -0
  210. data/lib/kombo/models/webhooks.rb +2 -0
  211. data/lib/kombo/sdkconfiguration.rb +5 -3
  212. data/lib/kombo/utils/utils.rb +6 -2
  213. metadata +164 -10
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # The total gross pay for the pay run, before taxes and after gross deductions.
11
+ class GetHrisPayRunsPositiveResponseGrossPay
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
16
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
17
+ # The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
18
+ field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(currency: ::String, value: ::Float).void }
21
+ def initialize(currency:, value:)
22
+ @currency = currency
23
+ @value = value
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @currency == other.currency
30
+ return false unless @value == other.value
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponseGrossPay
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponseGrossPay
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # The total net pay for the pay run, after taxes have been applied to the gross pay.
11
+ class GetHrisPayRunsPositiveResponseNetPay
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
16
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
17
+ # The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
18
+ field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(currency: ::String, value: ::Float).void }
21
+ def initialize(currency:, value:)
22
+ @currency = currency
23
+ @value = value
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @currency == other.currency
30
+ return false unless @value == other.value
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponseNetPay
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponseNetPay
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # The total amount paid out through the pay run. This value accounts for net earnings and deductions.
11
+ class GetHrisPayRunsPositiveResponsePaidAmount
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
16
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
17
+ # The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
18
+ field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(currency: ::String, value: ::Float).void }
21
+ def initialize(currency:, value:)
22
+ @currency = currency
23
+ @value = value
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @currency == other.currency
30
+ return false unless @value == other.value
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponsePaidAmount
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponsePaidAmount
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,62 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class GetHrisPayRunsPositiveResponseResult
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
17
+ # The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
18
+ field :remote_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.
20
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
21
+ field :changed_at, ::DateTime, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('changed_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
22
+
23
+ field :totals, Models::Shared::GetHrisPayRunsPositiveResponseTotals, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('totals'), required: true } }
24
+ # The start date of the pay run, as a calendar date (`yyyy-MM-dd`).
25
+ field :start_date, Crystalline::Nilable.new(::Date), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('start_date'), required: true, 'decoder': ::Kombo::Utils.date_from_iso_format(false) } }
26
+ # The end date of the pay run, as a calendar date (`yyyy-MM-dd`).
27
+ field :end_date, Crystalline::Nilable.new(::Date), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('end_date'), required: true, 'decoder': ::Kombo::Utils.date_from_iso_format(false) } }
28
+ # The Kombo ID of the pay run’s legal entity. The ID can be used to retrieve the legal entity from the `get legal entities` endpoint.
29
+ field :legal_entity_id, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('legal_entity_id'), required: true } }
30
+ # The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
31
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
32
+ field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
33
+
34
+ sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, totals: Models::Shared::GetHrisPayRunsPositiveResponseTotals, start_date: T.nilable(::Date), end_date: T.nilable(::Date), legal_entity_id: T.nilable(::String), remote_deleted_at: T.nilable(::DateTime)).void }
35
+ def initialize(id:, remote_id:, changed_at:, totals:, start_date: nil, end_date: nil, legal_entity_id: nil, remote_deleted_at: nil)
36
+ @id = id
37
+ @remote_id = remote_id
38
+ @changed_at = changed_at
39
+ @totals = totals
40
+ @start_date = start_date
41
+ @end_date = end_date
42
+ @legal_entity_id = legal_entity_id
43
+ @remote_deleted_at = remote_deleted_at
44
+ end
45
+
46
+ sig { params(other: T.untyped).returns(T::Boolean) }
47
+ def ==(other)
48
+ return false unless other.is_a? self.class
49
+ return false unless @id == other.id
50
+ return false unless @remote_id == other.remote_id
51
+ return false unless @changed_at == other.changed_at
52
+ return false unless @totals == other.totals
53
+ return false unless @start_date == other.start_date
54
+ return false unless @end_date == other.end_date
55
+ return false unless @legal_entity_id == other.legal_entity_id
56
+ return false unless @remote_deleted_at == other.remote_deleted_at
57
+ true
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,27 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponseResult
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponseResult
11
+ def id(); end
12
+ def id=(str_); end
13
+ def remote_id(); end
14
+ def remote_id=(str_); end
15
+ def changed_at(); end
16
+ def changed_at=(str_); end
17
+ def totals(); end
18
+ def totals=(str_); end
19
+ def start_date(); end
20
+ def start_date=(str_); end
21
+ def end_date(); end
22
+ def end_date=(str_); end
23
+ def legal_entity_id(); end
24
+ def legal_entity_id=(str_); end
25
+ def remote_deleted_at(); end
26
+ def remote_deleted_at=(str_); end
27
+ end
@@ -0,0 +1,40 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class GetHrisPayRunsPositiveResponseTotals
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The total gross pay for the pay run, before taxes and after gross deductions.
16
+ field :gross_pay, Crystalline::Nilable.new(Models::Shared::GetHrisPayRunsPositiveResponseGrossPay), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('gross_pay') } }
17
+ # The total net pay for the pay run, after taxes have been applied to the gross pay.
18
+ field :net_pay, Crystalline::Nilable.new(Models::Shared::GetHrisPayRunsPositiveResponseNetPay), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('net_pay') } }
19
+ # The total amount paid out through the pay run. This value accounts for net earnings and deductions.
20
+ field :paid_amount, Crystalline::Nilable.new(Models::Shared::GetHrisPayRunsPositiveResponsePaidAmount), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('paid_amount') } }
21
+
22
+ sig { params(gross_pay: T.nilable(Models::Shared::GetHrisPayRunsPositiveResponseGrossPay), net_pay: T.nilable(Models::Shared::GetHrisPayRunsPositiveResponseNetPay), paid_amount: T.nilable(Models::Shared::GetHrisPayRunsPositiveResponsePaidAmount)).void }
23
+ def initialize(gross_pay: nil, net_pay: nil, paid_amount: nil)
24
+ @gross_pay = gross_pay
25
+ @net_pay = net_pay
26
+ @paid_amount = paid_amount
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @gross_pay == other.gross_pay
33
+ return false unless @net_pay == other.net_pay
34
+ return false unless @paid_amount == other.paid_amount
35
+ true
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponseTotals
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayRunsPositiveResponseTotals
11
+ def gross_pay(); end
12
+ def gross_pay=(str_); end
13
+ def net_pay(); end
14
+ def net_pay=(str_); end
15
+ def paid_amount(); end
16
+ def paid_amount=(str_); end
17
+ end
@@ -0,0 +1,39 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class GetHrisPayslipsPositiveResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :data, Models::Shared::GetHrisPayslipsPositiveResponseData, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('data'), required: true } }
17
+
18
+ field :status, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('status'), required: true } }
19
+
20
+ sig { params(data: Models::Shared::GetHrisPayslipsPositiveResponseData, status: ::String).void }
21
+ def initialize(data:, status: 'success')
22
+ @data = data
23
+ unless status == 'success'
24
+ raise ArgumentError, 'Invalid value for status'
25
+ end
26
+ @status = 'success'
27
+ end
28
+
29
+ sig { params(other: T.untyped).returns(T::Boolean) }
30
+ def ==(other)
31
+ return false unless other.is_a? self.class
32
+ return false unless @data == other.data
33
+ return false unless @status == other.status
34
+ true
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponse
11
+ def data(); end
12
+ def data=(str_); end
13
+ def status(); end
14
+ def status=(str_); end
15
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class GetHrisPayslipsPositiveResponseData
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+
16
+ field :results, Crystalline::Array.new(Models::Shared::GetHrisPayslipsPositiveResponseResult), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('results'), required: true } }
17
+ # Cursor string that can be passed to the `cursor` query parameter to get the next page. If this is `null`, then there are no more pages.
18
+ field :next_, Crystalline::Nilable.new(::String), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('next'), required: true } }
19
+
20
+ sig { params(results: T::Array[Models::Shared::GetHrisPayslipsPositiveResponseResult], next_: T.nilable(::String)).void }
21
+ def initialize(results:, next_: nil)
22
+ @results = results
23
+ @next_ = next_
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @results == other.results
30
+ return false unless @next_ == other.next_
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponseData
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponseData
11
+ def results(); end
12
+ def results=(str_); end
13
+ def next_(); end
14
+ def next_=(str_); end
15
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # The total gross pay for the payslip, before taxes and after gross deductions.
11
+ class GetHrisPayslipsPositiveResponseGrossPay
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
16
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
17
+ # The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
18
+ field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(currency: ::String, value: ::Float).void }
21
+ def initialize(currency:, value:)
22
+ @currency = currency
23
+ @value = value
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @currency == other.currency
30
+ return false unless @value == other.value
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponseGrossPay
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponseGrossPay
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # The total net pay for the payslip, after taxes have been applied to the gross pay.
11
+ class GetHrisPayslipsPositiveResponseNetPay
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
16
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
17
+ # The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
18
+ field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(currency: ::String, value: ::Float).void }
21
+ def initialize(currency:, value:)
22
+ @currency = currency
23
+ @value = value
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @currency == other.currency
30
+ return false unless @value == other.value
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponseNetPay
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponseNetPay
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,36 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+ # The amount of the payslip that was actually paid out to the employee. This value accounts for net earnings and deductions.
11
+ class GetHrisPayslipsPositiveResponsePaidAmount
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The [ISO 4217 currency code](https://www.iso.org/iso-4217-currency-codes.html) the value is denominated in.
16
+ field :currency, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('currency'), required: true } }
17
+ # The monetary value. See the integration’s limitations for whether this value is rounded. Rounded values use mathematical rounding (half away from zero).
18
+ field :value, ::Float, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('value'), required: true } }
19
+
20
+ sig { params(currency: ::String, value: ::Float).void }
21
+ def initialize(currency:, value:)
22
+ @currency = currency
23
+ @value = value
24
+ end
25
+
26
+ sig { params(other: T.untyped).returns(T::Boolean) }
27
+ def ==(other)
28
+ return false unless other.is_a? self.class
29
+ return false unless @currency == other.currency
30
+ return false unless @value == other.value
31
+ true
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,15 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponsePaidAmount
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::GetHrisPayslipsPositiveResponsePaidAmount
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,66 @@
1
+ # Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
2
+
3
+ # typed: true
4
+ # frozen_string_literal: true
5
+
6
+
7
+ module Kombo
8
+ module Models
9
+ module Shared
10
+
11
+ class GetHrisPayslipsPositiveResponseResult
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The globally unique ID of this object generated by Kombo. We recommend using this as a stable primary key for syncing.
16
+ field :id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('id'), required: true } }
17
+ # The raw ID of the object in the remote system. We don't recommend using this as a primary key on your side as it might sometimes be compromised of multiple identifiers if a system doesn't provide a clear primary key.
18
+ field :remote_id, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_id'), required: true } }
19
+ # The timestamp when this specific record was last modified. This field only updates when properties directly on this record change, NOT when related or nested models change. For filtering that considers nested data changes, use the `updated_after` parameter which will return records when either the record itself OR its related models have been updated.
20
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
21
+ field :changed_at, ::DateTime, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('changed_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
22
+
23
+ field :totals, Models::Shared::GetHrisPayslipsPositiveResponseTotals, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('totals'), required: true } }
24
+ # The employee that the payslip is for.
25
+ field :employee, Models::Shared::Employee, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('employee'), required: true } }
26
+ # The individual earnings, deductions, and contributions that make up the payslip.
27
+ field :line_items, Crystalline::Array.new(Models::Shared::LineItem), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('line_items'), required: true } }
28
+ # A key-value store of fields not covered by the schema. [Read more](/custom-fields)
29
+ field :custom_fields, Crystalline::Nilable.new(Crystalline::Hash.new(Symbol, ::Object)), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('custom_fields'), required: true } }
30
+ # The date and time the object was deleted in the remote system. Objects are automatically marked as deleted when Kombo can't retrieve them from the remote system anymore. Kombo will also anonymize entries 14 days after they disappear.
31
+ # https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString
32
+ field :remote_deleted_at, Crystalline::Nilable.new(::DateTime), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('remote_deleted_at'), required: true, 'decoder': ::Kombo::Utils.datetime_from_iso_format(false) } }
33
+ # The pay run the payslip was paid out through.
34
+ field :pay_run, Crystalline::Nilable.new(Models::Shared::PayRun), { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('pay_run'), required: true } }
35
+
36
+ sig { params(id: ::String, remote_id: ::String, changed_at: ::DateTime, totals: Models::Shared::GetHrisPayslipsPositiveResponseTotals, employee: Models::Shared::Employee, line_items: T::Array[Models::Shared::LineItem], custom_fields: T.nilable(T::Hash[Symbol, ::Object]), remote_deleted_at: T.nilable(::DateTime), pay_run: T.nilable(Models::Shared::PayRun)).void }
37
+ def initialize(id:, remote_id:, changed_at:, totals:, employee:, line_items:, custom_fields: nil, remote_deleted_at: nil, pay_run: nil)
38
+ @id = id
39
+ @remote_id = remote_id
40
+ @changed_at = changed_at
41
+ @totals = totals
42
+ @employee = employee
43
+ @line_items = line_items
44
+ @custom_fields = custom_fields
45
+ @remote_deleted_at = remote_deleted_at
46
+ @pay_run = pay_run
47
+ end
48
+
49
+ sig { params(other: T.untyped).returns(T::Boolean) }
50
+ def ==(other)
51
+ return false unless other.is_a? self.class
52
+ return false unless @id == other.id
53
+ return false unless @remote_id == other.remote_id
54
+ return false unless @changed_at == other.changed_at
55
+ return false unless @totals == other.totals
56
+ return false unless @employee == other.employee
57
+ return false unless @line_items == other.line_items
58
+ return false unless @custom_fields == other.custom_fields
59
+ return false unless @remote_deleted_at == other.remote_deleted_at
60
+ return false unless @pay_run == other.pay_run
61
+ true
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end