kombo 1.2.8 → 1.2.9

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 (163) hide show
  1. checksums.yaml +4 -4
  2. data/lib/kombo/ats.rb +322 -0
  3. data/lib/kombo/connect.rb +2 -1
  4. data/lib/kombo/general.rb +11 -1
  5. data/lib/kombo/hris.rb +322 -0
  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/change.rb +19 -0
  26. data/lib/kombo/models/shared/change.rbi +11 -0
  27. data/lib/kombo/models/shared/content_ref.rb +43 -0
  28. data/lib/kombo/models/shared/content_ref.rbi +17 -0
  29. data/lib/kombo/models/shared/employee.rb +57 -0
  30. data/lib/kombo/models/shared/employee.rbi +25 -0
  31. data/lib/kombo/models/shared/format_multiselect.rb +2 -2
  32. data/lib/kombo/models/shared/format_singleselect.rb +2 -2
  33. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rb +39 -0
  34. data/lib/kombo/models/shared/getatsattachmentspositiveresponse.rbi +15 -0
  35. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rb +36 -0
  36. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_data.rbi +15 -0
  37. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rb +76 -0
  38. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_result.rbi +33 -0
  39. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rb +20 -0
  40. data/lib/kombo/models/shared/getatsattachmentspositiveresponse_type.rbi +11 -0
  41. data/lib/kombo/models/shared/{option_1.rb → getatsjobspositiveresponse_option_1.rb} +1 -1
  42. data/lib/kombo/models/shared/{option_2.rbi → getatsjobspositiveresponse_option_1.rbi} +2 -2
  43. data/lib/kombo/models/shared/{option_2.rb → getatsjobspositiveresponse_option_2.rb} +1 -1
  44. data/lib/kombo/models/shared/getatsjobspositiveresponse_option_2.rbi +17 -0
  45. data/lib/kombo/models/shared/{author.rb → getatsnotespositiveresponse_author.rb} +1 -1
  46. data/lib/kombo/models/shared/{author.rbi → getatsnotespositiveresponse_author.rbi} +2 -2
  47. data/lib/kombo/models/shared/getatsnotespositiveresponse_result.rb +2 -2
  48. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rb +39 -0
  49. data/lib/kombo/models/shared/getatsscorecardspositiveresponse.rbi +15 -0
  50. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rb +36 -0
  51. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_1.rbi +15 -0
  52. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rb +36 -0
  53. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_answer_2.rbi +15 -0
  54. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rb +48 -0
  55. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_author.rbi +21 -0
  56. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rb +36 -0
  57. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_data.rbi +15 -0
  58. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rb +36 -0
  59. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_1.rbi +15 -0
  60. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rb +36 -0
  61. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_option_2.rbi +15 -0
  62. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rb +80 -0
  63. data/lib/kombo/models/shared/getatsscorecardspositiveresponse_result.rbi +35 -0
  64. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rb +39 -0
  65. data/lib/kombo/models/shared/gethrispayrunspositiveresponse.rbi +15 -0
  66. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rb +36 -0
  67. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_data.rbi +15 -0
  68. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rb +36 -0
  69. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_gross_pay.rbi +15 -0
  70. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rb +36 -0
  71. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_net_pay.rbi +15 -0
  72. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rb +36 -0
  73. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_paid_amount.rbi +15 -0
  74. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rb +62 -0
  75. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_result.rbi +27 -0
  76. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rb +40 -0
  77. data/lib/kombo/models/shared/gethrispayrunspositiveresponse_totals.rbi +17 -0
  78. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rb +39 -0
  79. data/lib/kombo/models/shared/gethrispayslipspositiveresponse.rbi +15 -0
  80. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rb +36 -0
  81. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_data.rbi +15 -0
  82. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rb +36 -0
  83. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_gross_pay.rbi +15 -0
  84. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rb +36 -0
  85. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_net_pay.rbi +15 -0
  86. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rb +36 -0
  87. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_paid_amount.rbi +15 -0
  88. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rb +62 -0
  89. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_result.rbi +27 -0
  90. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rb +40 -0
  91. data/lib/kombo/models/shared/gethrispayslipspositiveresponse_totals.rbi +17 -0
  92. data/lib/kombo/models/shared/integration.rb +44 -0
  93. data/lib/kombo/models/shared/integration.rbi +19 -0
  94. data/lib/kombo/models/shared/integration_tool.rb +4 -0
  95. data/lib/kombo/models/shared/issue.rb +56 -0
  96. data/lib/kombo/models/shared/issue.rbi +25 -0
  97. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rb +40 -0
  98. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload.rbi +17 -0
  99. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rb +21 -0
  100. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_category.rbi +11 -0
  101. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rb +40 -0
  102. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_data.rbi +17 -0
  103. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rb +40 -0
  104. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_end_user.rbi +17 -0
  105. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rb +19 -0
  106. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_status.rbi +11 -0
  107. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rb +18 -0
  108. data/lib/kombo/models/shared/issuestatuschangedwebhookpayload_type.rbi +11 -0
  109. data/lib/kombo/models/shared/line_item.rb +44 -0
  110. data/lib/kombo/models/shared/{option_1.rbi → line_item.rbi} +6 -4
  111. data/lib/kombo/models/shared/name.rb +6 -0
  112. data/lib/kombo/models/shared/pay_run.rb +48 -0
  113. data/lib/kombo/models/shared/pay_run.rbi +21 -0
  114. data/lib/kombo/models/shared/postatscandidatesrequestbody_afas.rb +32 -0
  115. data/lib/kombo/models/shared/{afas.rbi → postatscandidatesrequestbody_afas.rbi} +2 -2
  116. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rb +6 -2
  117. data/lib/kombo/models/shared/postatscandidatesrequestbody_avature.rbi +2 -0
  118. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rb +48 -0
  119. data/lib/kombo/models/shared/postatscandidatesrequestbody_custom_field.rbi +21 -0
  120. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rb +32 -0
  121. data/lib/kombo/models/shared/postatscandidatesrequestbody_recruitcrm.rbi +13 -0
  122. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rb +10 -2
  123. data/lib/kombo/models/shared/postatscandidatesrequestbody_remote_fields.rbi +4 -0
  124. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rb +32 -0
  125. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_afas.rbi +13 -0
  126. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rb +6 -2
  127. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_avature.rbi +2 -0
  128. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rb +48 -0
  129. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_custom_field.rbi +21 -0
  130. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rb +32 -0
  131. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_recruitcrm.rbi +13 -0
  132. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rb +10 -2
  133. data/lib/kombo/models/shared/postatsjobsjobidapplicationsrequestbody_remote_fields.rbi +4 -0
  134. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rb +6 -2
  135. data/lib/kombo/models/shared/postconnectcreatelinkpositiveresponse_data.rbi +2 -0
  136. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rb +6 -2
  137. data/lib/kombo/models/shared/postconnectcreatelinkrequestbody.rbi +2 -0
  138. data/lib/kombo/models/shared/{afas.rb → posthrisemployeesemployeeiddocumentsrequestbody_afas.rb} +1 -1
  139. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_afas.rbi +13 -0
  140. data/lib/kombo/models/shared/posthrisemployeesemployeeiddocumentsrequestbody_remote_fields.rb +2 -2
  141. data/lib/kombo/models/shared/response.rb +27 -0
  142. data/lib/kombo/models/shared/response.rbi +11 -0
  143. data/lib/kombo/models/shared/result_boolean.rb +55 -0
  144. data/lib/kombo/models/shared/result_boolean.rbi +23 -0
  145. data/lib/kombo/models/shared/result_date.rb +55 -0
  146. data/lib/kombo/models/shared/result_date.rbi +23 -0
  147. data/lib/kombo/models/shared/result_multiselect.rb +59 -0
  148. data/lib/kombo/models/shared/result_multiselect.rbi +25 -0
  149. data/lib/kombo/models/shared/result_number.rb +55 -0
  150. data/lib/kombo/models/shared/result_number.rbi +23 -0
  151. data/lib/kombo/models/shared/result_singleselect.rb +59 -0
  152. data/lib/kombo/models/shared/result_singleselect.rbi +25 -0
  153. data/lib/kombo/models/shared/result_text.rb +55 -0
  154. data/lib/kombo/models/shared/result_text.rbi +23 -0
  155. data/lib/kombo/models/shared.rb +57 -4
  156. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rb +36 -0
  157. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_request.rbi +15 -0
  158. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rb +40 -0
  159. data/lib/kombo/models/webhooks/webhookissuestatuschangedwebhookpayload_response.rbi +17 -0
  160. data/lib/kombo/models/webhooks.rb +2 -0
  161. data/lib/kombo/sdkconfiguration.rb +5 -3
  162. data/lib/kombo/utils/utils.rb +6 -2
  163. metadata +136 -10
@@ -0,0 +1,56 @@
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 Operations
10
+
11
+ class GetAtsScorecardsResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+ sig { returns(T.proc.returns(T.nilable(GetAtsScorecardsResponse))) }
15
+ attr_accessor :next_page
16
+
17
+ # HTTP response content type for this operation
18
+ field :content_type, ::String
19
+ # HTTP response status code for this operation
20
+ field :status_code, ::Integer
21
+ # Raw HTTP response; suitable for custom response parsing
22
+ field :raw_response, ::Faraday::Response
23
+ # GET /ats/scorecards Positive response
24
+ field :get_ats_scorecards_positive_response, Crystalline::Nilable.new(Models::Shared::GetAtsScorecardsPositiveResponse)
25
+
26
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, get_ats_scorecards_positive_response: T.nilable(Models::Shared::GetAtsScorecardsPositiveResponse)).void }
27
+ def initialize(content_type:, status_code:, raw_response:, get_ats_scorecards_positive_response: nil)
28
+ @content_type = content_type
29
+ @status_code = status_code
30
+ @raw_response = raw_response
31
+ @get_ats_scorecards_positive_response = get_ats_scorecards_positive_response
32
+ end
33
+
34
+ sig { params(other: T.untyped).returns(T::Boolean) }
35
+ def ==(other)
36
+ return false unless other.is_a? self.class
37
+ return false unless @content_type == other.content_type
38
+ return false unless @status_code == other.status_code
39
+ return false unless @raw_response == other.raw_response
40
+ return false unless @get_ats_scorecards_positive_response == other.get_ats_scorecards_positive_response
41
+ true
42
+ end
43
+
44
+ def each
45
+ page = self
46
+ loop do
47
+ yield page
48
+ next_page = page.next_page.call if page.next_page
49
+ break if next_page.nil?
50
+ page = T.must(next_page)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Operations::GetAtsScorecardsResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Operations::GetAtsScorecardsResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def get_ats_scorecards_positive_response(); end
18
+ def get_ats_scorecards_positive_response=(str_); end
19
+ end
@@ -0,0 +1,70 @@
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 Operations
10
+
11
+ class GetHrisPayRunsRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the integration you want to interact with.
16
+ field :integration_id, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Integration-Id', 'style': 'simple', 'explode': false } }
17
+ # An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
18
+ field :cursor, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'cursor', 'style': 'form', 'explode': true } }
19
+ # Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.
20
+ #
21
+ # If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.
22
+ #
23
+ # For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
24
+ #
25
+ # For this endpoint, only changes to the returned record itself are considered.
26
+ field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
27
+ # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
28
+ field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
29
+ # Filter by a comma-separated list of remote IDs.
30
+ field :remote_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'remote_ids', 'style': 'form', 'explode': false } }
31
+ # Filter by a comma-separated list of legal entity IDs.
32
+ field :legal_entity_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'legal_entity_ids', 'style': 'form', 'explode': false } }
33
+ # The number of results to return per page. Maximum is 250.
34
+ field :page_size, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'page_size', 'style': 'form', 'explode': true } }
35
+ # By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
36
+ field :include_deleted, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'include_deleted', 'style': 'form', 'explode': true } }
37
+ # When set to `true`, filters targeting fields not supported by this integration will be ignored instead of filtering out all results.
38
+ field :ignore_unsupported_filters, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'ignore_unsupported_filters', 'style': 'form', 'explode': true } }
39
+
40
+ sig { params(integration_id: T.nilable(::String), cursor: T.nilable(::String), updated_after: T.nilable(::DateTime), ids: T.nilable(T::Array[::String]), remote_ids: T.nilable(T::Array[::String]), legal_entity_ids: T.nilable(T::Array[::String]), page_size: T.nilable(::Integer), include_deleted: T.nilable(T::Boolean), ignore_unsupported_filters: T.nilable(T::Boolean)).void }
41
+ def initialize(integration_id: nil, cursor: nil, updated_after: nil, ids: nil, remote_ids: nil, legal_entity_ids: nil, page_size: 100, include_deleted: false, ignore_unsupported_filters: false)
42
+ @integration_id = integration_id
43
+ @cursor = cursor
44
+ @updated_after = updated_after
45
+ @ids = ids
46
+ @remote_ids = remote_ids
47
+ @legal_entity_ids = legal_entity_ids
48
+ @page_size = page_size
49
+ @include_deleted = include_deleted
50
+ @ignore_unsupported_filters = ignore_unsupported_filters
51
+ end
52
+
53
+ sig { params(other: T.untyped).returns(T::Boolean) }
54
+ def ==(other)
55
+ return false unless other.is_a? self.class
56
+ return false unless @integration_id == other.integration_id
57
+ return false unless @cursor == other.cursor
58
+ return false unless @updated_after == other.updated_after
59
+ return false unless @ids == other.ids
60
+ return false unless @remote_ids == other.remote_ids
61
+ return false unless @legal_entity_ids == other.legal_entity_ids
62
+ return false unless @page_size == other.page_size
63
+ return false unless @include_deleted == other.include_deleted
64
+ return false unless @ignore_unsupported_filters == other.ignore_unsupported_filters
65
+ true
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,29 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Operations::GetHrisPayRunsRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Operations::GetHrisPayRunsRequest
11
+ def integration_id(); end
12
+ def integration_id=(str_); end
13
+ def cursor(); end
14
+ def cursor=(str_); end
15
+ def updated_after(); end
16
+ def updated_after=(str_); end
17
+ def ids(); end
18
+ def ids=(str_); end
19
+ def remote_ids(); end
20
+ def remote_ids=(str_); end
21
+ def legal_entity_ids(); end
22
+ def legal_entity_ids=(str_); end
23
+ def page_size(); end
24
+ def page_size=(str_); end
25
+ def include_deleted(); end
26
+ def include_deleted=(str_); end
27
+ def ignore_unsupported_filters(); end
28
+ def ignore_unsupported_filters=(str_); end
29
+ end
@@ -0,0 +1,56 @@
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 Operations
10
+
11
+ class GetHrisPayRunsResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+ sig { returns(T.proc.returns(T.nilable(GetHrisPayRunsResponse))) }
15
+ attr_accessor :next_page
16
+
17
+ # HTTP response content type for this operation
18
+ field :content_type, ::String
19
+ # HTTP response status code for this operation
20
+ field :status_code, ::Integer
21
+ # Raw HTTP response; suitable for custom response parsing
22
+ field :raw_response, ::Faraday::Response
23
+ # GET /hris/pay-runs Positive response
24
+ field :get_hris_pay_runs_positive_response, Crystalline::Nilable.new(Models::Shared::GetHrisPayRunsPositiveResponse)
25
+
26
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, get_hris_pay_runs_positive_response: T.nilable(Models::Shared::GetHrisPayRunsPositiveResponse)).void }
27
+ def initialize(content_type:, status_code:, raw_response:, get_hris_pay_runs_positive_response: nil)
28
+ @content_type = content_type
29
+ @status_code = status_code
30
+ @raw_response = raw_response
31
+ @get_hris_pay_runs_positive_response = get_hris_pay_runs_positive_response
32
+ end
33
+
34
+ sig { params(other: T.untyped).returns(T::Boolean) }
35
+ def ==(other)
36
+ return false unless other.is_a? self.class
37
+ return false unless @content_type == other.content_type
38
+ return false unless @status_code == other.status_code
39
+ return false unless @raw_response == other.raw_response
40
+ return false unless @get_hris_pay_runs_positive_response == other.get_hris_pay_runs_positive_response
41
+ true
42
+ end
43
+
44
+ def each
45
+ page = self
46
+ loop do
47
+ yield page
48
+ next_page = page.next_page.call if page.next_page
49
+ break if next_page.nil?
50
+ page = T.must(next_page)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Operations::GetHrisPayRunsResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Operations::GetHrisPayRunsResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def get_hris_pay_runs_positive_response(); end
18
+ def get_hris_pay_runs_positive_response=(str_); end
19
+ end
@@ -0,0 +1,87 @@
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 Operations
10
+
11
+ class GetHrisPayslipsRequest
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # ID of the integration you want to interact with.
16
+ field :integration_id, Crystalline::Nilable.new(::String), { 'header': { 'field_name': 'X-Integration-Id', 'style': 'simple', 'explode': false } }
17
+ # An optional cursor string used for pagination. This can be retrieved from the `next` property of the previous page response.
18
+ field :cursor, Crystalline::Nilable.new(::String), { 'query_param': { 'field_name': 'cursor', 'style': 'form', 'explode': true } }
19
+ # Filter the entries based on the modification date in format `YYYY-MM-DDTHH:mm:ss.sssZ`. Returns records where either the record itself **OR** its nested data has been updated since this timestamp, even if the record's own `changed_at` field remains unchanged.
20
+ #
21
+ # If you want to track entry deletion, also set the `include_deleted=true` query parameter, because otherwise, deleted entries will be hidden.
22
+ #
23
+ # For more details, see [Understanding changed_at vs updated_after Behavior](https://docs.kombo.dev/ats/getting-started/fetching-data#understanding-changed_at-vs-updated_after-behavior).
24
+ #
25
+ # For this endpoint, `updated_after` matches when the returned record changed, or when related data changed as described below.
26
+ #
27
+ # | Path | Added/Removed | Linked Record |
28
+ # | --- | --- | --- |
29
+ # | `employee` | ✗ No | ✗ No |
30
+ # | `pay_run` | ✗ No | ✗ No |
31
+ # | `line_items` | ✓ Yes | ✓ Yes |
32
+ # | `line_items` → `salary_type` | ✗ No | ✗ No |
33
+ #
34
+ # _**Added/Removed**: Whether adding or removing entries from this list triggers an update (n/a for single records). **Linked Record**: Whether changes to the linked record itself trigger an update._
35
+ field :updated_after, Crystalline::Nilable.new(::DateTime), { 'query_param': { 'field_name': 'updated_after', 'style': 'form', 'explode': true } }
36
+ # Filter by a comma-separated list of IDs such as `222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3`.
37
+ field :ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'ids', 'style': 'form', 'explode': false } }
38
+ # Filter by a comma-separated list of remote IDs.
39
+ field :remote_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'remote_ids', 'style': 'form', 'explode': false } }
40
+ # Filter by a comma-separated list of legal entity IDs.
41
+ field :legal_entity_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'legal_entity_ids', 'style': 'form', 'explode': false } }
42
+ # Filter by a comma-separated list of employee IDs.
43
+ field :employee_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'employee_ids', 'style': 'form', 'explode': false } }
44
+ # Filter by a comma-separated list of payrun IDs.
45
+ field :payrun_ids, Crystalline::Nilable.new(Crystalline::Array.new(::String)), { 'query_param': { 'field_name': 'payrun_ids', 'style': 'form', 'explode': false } }
46
+ # The number of results to return per page. Maximum is 250.
47
+ field :page_size, Crystalline::Nilable.new(::Integer), { 'query_param': { 'field_name': 'page_size', 'style': 'form', 'explode': true } }
48
+ # By default, deleted entries are not returned. Use the `include_deleted` query param to include deleted entries too.
49
+ field :include_deleted, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'include_deleted', 'style': 'form', 'explode': true } }
50
+ # When set to `true`, filters targeting fields not supported by this integration will be ignored instead of filtering out all results.
51
+ field :ignore_unsupported_filters, Crystalline::Nilable.new(Crystalline::Boolean.new), { 'query_param': { 'field_name': 'ignore_unsupported_filters', 'style': 'form', 'explode': true } }
52
+
53
+ sig { params(integration_id: T.nilable(::String), cursor: T.nilable(::String), updated_after: T.nilable(::DateTime), ids: T.nilable(T::Array[::String]), remote_ids: T.nilable(T::Array[::String]), legal_entity_ids: T.nilable(T::Array[::String]), employee_ids: T.nilable(T::Array[::String]), payrun_ids: T.nilable(T::Array[::String]), page_size: T.nilable(::Integer), include_deleted: T.nilable(T::Boolean), ignore_unsupported_filters: T.nilable(T::Boolean)).void }
54
+ def initialize(integration_id: nil, cursor: nil, updated_after: nil, ids: nil, remote_ids: nil, legal_entity_ids: nil, employee_ids: nil, payrun_ids: nil, page_size: 100, include_deleted: false, ignore_unsupported_filters: false)
55
+ @integration_id = integration_id
56
+ @cursor = cursor
57
+ @updated_after = updated_after
58
+ @ids = ids
59
+ @remote_ids = remote_ids
60
+ @legal_entity_ids = legal_entity_ids
61
+ @employee_ids = employee_ids
62
+ @payrun_ids = payrun_ids
63
+ @page_size = page_size
64
+ @include_deleted = include_deleted
65
+ @ignore_unsupported_filters = ignore_unsupported_filters
66
+ end
67
+
68
+ sig { params(other: T.untyped).returns(T::Boolean) }
69
+ def ==(other)
70
+ return false unless other.is_a? self.class
71
+ return false unless @integration_id == other.integration_id
72
+ return false unless @cursor == other.cursor
73
+ return false unless @updated_after == other.updated_after
74
+ return false unless @ids == other.ids
75
+ return false unless @remote_ids == other.remote_ids
76
+ return false unless @legal_entity_ids == other.legal_entity_ids
77
+ return false unless @employee_ids == other.employee_ids
78
+ return false unless @payrun_ids == other.payrun_ids
79
+ return false unless @page_size == other.page_size
80
+ return false unless @include_deleted == other.include_deleted
81
+ return false unless @ignore_unsupported_filters == other.ignore_unsupported_filters
82
+ true
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,33 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Operations::GetHrisPayslipsRequest
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Operations::GetHrisPayslipsRequest
11
+ def integration_id(); end
12
+ def integration_id=(str_); end
13
+ def cursor(); end
14
+ def cursor=(str_); end
15
+ def updated_after(); end
16
+ def updated_after=(str_); end
17
+ def ids(); end
18
+ def ids=(str_); end
19
+ def remote_ids(); end
20
+ def remote_ids=(str_); end
21
+ def legal_entity_ids(); end
22
+ def legal_entity_ids=(str_); end
23
+ def employee_ids(); end
24
+ def employee_ids=(str_); end
25
+ def payrun_ids(); end
26
+ def payrun_ids=(str_); end
27
+ def page_size(); end
28
+ def page_size=(str_); end
29
+ def include_deleted(); end
30
+ def include_deleted=(str_); end
31
+ def ignore_unsupported_filters(); end
32
+ def ignore_unsupported_filters=(str_); end
33
+ end
@@ -0,0 +1,56 @@
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 Operations
10
+
11
+ class GetHrisPayslipsResponse
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+ sig { returns(T.proc.returns(T.nilable(GetHrisPayslipsResponse))) }
15
+ attr_accessor :next_page
16
+
17
+ # HTTP response content type for this operation
18
+ field :content_type, ::String
19
+ # HTTP response status code for this operation
20
+ field :status_code, ::Integer
21
+ # Raw HTTP response; suitable for custom response parsing
22
+ field :raw_response, ::Faraday::Response
23
+ # GET /hris/payslips Positive response
24
+ field :get_hris_payslips_positive_response, Crystalline::Nilable.new(Models::Shared::GetHrisPayslipsPositiveResponse)
25
+
26
+ sig { params(content_type: ::String, status_code: ::Integer, raw_response: ::Faraday::Response, get_hris_payslips_positive_response: T.nilable(Models::Shared::GetHrisPayslipsPositiveResponse)).void }
27
+ def initialize(content_type:, status_code:, raw_response:, get_hris_payslips_positive_response: nil)
28
+ @content_type = content_type
29
+ @status_code = status_code
30
+ @raw_response = raw_response
31
+ @get_hris_payslips_positive_response = get_hris_payslips_positive_response
32
+ end
33
+
34
+ sig { params(other: T.untyped).returns(T::Boolean) }
35
+ def ==(other)
36
+ return false unless other.is_a? self.class
37
+ return false unless @content_type == other.content_type
38
+ return false unless @status_code == other.status_code
39
+ return false unless @raw_response == other.raw_response
40
+ return false unless @get_hris_payslips_positive_response == other.get_hris_payslips_positive_response
41
+ true
42
+ end
43
+
44
+ def each
45
+ page = self
46
+ loop do
47
+ yield page
48
+ next_page = page.next_page.call if page.next_page
49
+ break if next_page.nil?
50
+ page = T.must(next_page)
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,19 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Operations::GetHrisPayslipsResponse
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Operations::GetHrisPayslipsResponse
11
+ def content_type(); end
12
+ def content_type=(str_); end
13
+ def status_code(); end
14
+ def status_code=(str_); end
15
+ def raw_response(); end
16
+ def raw_response=(str_); end
17
+ def get_hris_payslips_positive_response(); end
18
+ def get_hris_payslips_positive_response=(str_); end
19
+ end
@@ -22,6 +22,8 @@ module Kombo
22
22
  autoload :GetAtsApplicationsApplicationIdAttachmentsResponse, 'kombo/models/operations/getatsapplicationsapplicationidattachments_response.rb'
23
23
  autoload :GetAtsApplicationsRequest, 'kombo/models/operations/getatsapplications_request.rb'
24
24
  autoload :GetAtsApplicationsResponse, 'kombo/models/operations/getatsapplications_response.rb'
25
+ autoload :GetAtsAttachmentsRequest, 'kombo/models/operations/getatsattachments_request.rb'
26
+ autoload :GetAtsAttachmentsResponse, 'kombo/models/operations/getatsattachments_response.rb'
25
27
  autoload :GetAtsCandidatesCandidateIdAttachmentsRequest, 'kombo/models/operations/getatscandidatescandidateidattachments_request.rb'
26
28
  autoload :GetAtsCandidatesCandidateIdAttachmentsResponse, 'kombo/models/operations/getatscandidatescandidateidattachments_response.rb'
27
29
  autoload :GetAtsCandidatesRequest, 'kombo/models/operations/getatscandidates_request.rb'
@@ -38,6 +40,8 @@ module Kombo
38
40
  autoload :GetAtsRejectionReasonsResponse, 'kombo/models/operations/getatsrejectionreasons_response.rb'
39
41
  autoload :GetAtsRolesRequest, 'kombo/models/operations/getatsroles_request.rb'
40
42
  autoload :GetAtsRolesResponse, 'kombo/models/operations/getatsroles_response.rb'
43
+ autoload :GetAtsScorecardsRequest, 'kombo/models/operations/getatsscorecards_request.rb'
44
+ autoload :GetAtsScorecardsResponse, 'kombo/models/operations/getatsscorecards_response.rb'
41
45
  autoload :GetAtsTagsRequest, 'kombo/models/operations/getatstags_request.rb'
42
46
  autoload :GetAtsTagsResponse, 'kombo/models/operations/getatstags_response.rb'
43
47
  autoload :GetAtsUsersRequest, 'kombo/models/operations/getatsusers_request.rb'
@@ -63,6 +67,10 @@ module Kombo
63
67
  autoload :GetHrisLegalEntitiesResponse, 'kombo/models/operations/gethrislegalentities_response.rb'
64
68
  autoload :GetHrisLocationsRequest, 'kombo/models/operations/gethrislocations_request.rb'
65
69
  autoload :GetHrisLocationsResponse, 'kombo/models/operations/gethrislocations_response.rb'
70
+ autoload :GetHrisPayRunsRequest, 'kombo/models/operations/gethrispayruns_request.rb'
71
+ autoload :GetHrisPayRunsResponse, 'kombo/models/operations/gethrispayruns_response.rb'
72
+ autoload :GetHrisPayslipsRequest, 'kombo/models/operations/gethrispayslips_request.rb'
73
+ autoload :GetHrisPayslipsResponse, 'kombo/models/operations/gethrispayslips_response.rb'
66
74
  autoload :GetHrisPerformanceReviewCyclesRequest, 'kombo/models/operations/gethrisperformancereviewcycles_request.rb'
67
75
  autoload :GetHrisPerformanceReviewCyclesResponse, 'kombo/models/operations/gethrisperformancereviewcycles_response.rb'
68
76
  autoload :GetHrisPerformanceReviewsRequest, 'kombo/models/operations/gethrisperformancereviews_request.rb'
@@ -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 line item.
11
+ class Amount
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.
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::Amount
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::Amount
11
+ def currency(); end
12
+ def currency=(str_); end
13
+ def value(); end
14
+ def value=(str_); end
15
+ end
@@ -0,0 +1,19 @@
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
+ # Change - Why this webhook was sent: the issue was raised or resolved.
11
+ class Change < T::Enum
12
+ enums do
13
+ RAISED = new('raised')
14
+ RESOLVED = new('resolved')
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,11 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::Change
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::Change
11
+ end
@@ -0,0 +1,43 @@
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 ContentRef
12
+ extend T::Sig
13
+ include Crystalline::MetadataFields
14
+
15
+ # The bucket the object was written to.
16
+ field :bucket, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('bucket'), required: true } }
17
+ # The full object key, including the prefix configured on the file destination.
18
+ field :key, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('key'), required: true } }
19
+
20
+ field :type, ::String, { 'format_json': { 'letter_case': ::Kombo::Utils.field_name('type'), required: true } }
21
+
22
+ sig { params(bucket: ::String, key: ::String, type: ::String).void }
23
+ def initialize(bucket:, key:, type: 's3')
24
+ @bucket = bucket
25
+ @key = key
26
+ unless type == 's3'
27
+ raise ArgumentError, 'Invalid value for type'
28
+ end
29
+ @type = 's3'
30
+ end
31
+
32
+ sig { params(other: T.untyped).returns(T::Boolean) }
33
+ def ==(other)
34
+ return false unless other.is_a? self.class
35
+ return false unless @bucket == other.bucket
36
+ return false unless @key == other.key
37
+ return false unless @type == other.type
38
+ true
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,17 @@
1
+ # typed: true
2
+ # frozen_string_literal: true
3
+
4
+
5
+ class Kombo::Models::Shared::ContentRef
6
+ extend ::Crystalline::MetadataFields::ClassMethods
7
+ end
8
+
9
+
10
+ class Kombo::Models::Shared::ContentRef
11
+ def bucket(); end
12
+ def bucket=(str_); end
13
+ def key(); end
14
+ def key=(str_); end
15
+ def type(); end
16
+ def type=(str_); end
17
+ end