finch-api 0.1.0.pre.alpha.44 → 0.1.0.pre.alpha.45

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 (84) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/finch_api/models/hris/pay_statement_item/rule_create_params.rb +133 -0
  5. data/lib/finch_api/models/hris/pay_statement_item/rule_create_response.rb +157 -0
  6. data/lib/finch_api/models/hris/pay_statement_item/rule_delete_params.rb +33 -0
  7. data/lib/finch_api/models/hris/pay_statement_item/rule_delete_response.rb +165 -0
  8. data/lib/finch_api/models/hris/pay_statement_item/rule_list_params.rb +26 -0
  9. data/lib/finch_api/models/hris/pay_statement_item/rule_list_response.rb +156 -0
  10. data/lib/finch_api/models/hris/pay_statement_item/rule_update_params.rb +40 -0
  11. data/lib/finch_api/models/hris/pay_statement_item/rule_update_response.rb +157 -0
  12. data/lib/finch_api/models/hris/pay_statement_item_list_params.rb +83 -0
  13. data/lib/finch_api/models/hris/pay_statement_item_list_response.rb +97 -0
  14. data/lib/finch_api/resources/hris/company.rb +0 -4
  15. data/lib/finch_api/resources/hris/pay_statement_item/rules.rb +141 -0
  16. data/lib/finch_api/resources/hris/pay_statement_item.rb +59 -0
  17. data/lib/finch_api/resources/hris.rb +4 -0
  18. data/lib/finch_api/version.rb +1 -1
  19. data/lib/finch_api.rb +12 -12
  20. data/rbi/finch_api/models/hris/pay_statement_item/rule_create_params.rbi +315 -0
  21. data/rbi/finch_api/models/hris/pay_statement_item/rule_create_response.rbi +342 -0
  22. data/rbi/finch_api/models/hris/pay_statement_item/rule_delete_params.rbi +59 -0
  23. data/rbi/finch_api/models/hris/pay_statement_item/rule_delete_response.rbi +353 -0
  24. data/rbi/finch_api/models/hris/pay_statement_item/rule_list_params.rbi +53 -0
  25. data/rbi/finch_api/models/hris/pay_statement_item/rule_list_response.rbi +342 -0
  26. data/rbi/finch_api/models/hris/pay_statement_item/rule_update_params.rbi +68 -0
  27. data/rbi/finch_api/models/hris/pay_statement_item/rule_update_response.rbi +342 -0
  28. data/rbi/finch_api/models/hris/pay_statement_item_list_params.rbi +177 -0
  29. data/rbi/finch_api/models/hris/pay_statement_item_list_response.rbi +189 -0
  30. data/rbi/finch_api/resources/hris/company.rbi +0 -3
  31. data/rbi/finch_api/resources/hris/pay_statement_item/rules.rbi +114 -0
  32. data/rbi/finch_api/resources/hris/pay_statement_item.rbi +57 -0
  33. data/rbi/finch_api/resources/hris.rbi +3 -0
  34. data/sig/finch_api/models/hris/pay_statement_item/rule_create_params.rbs +136 -0
  35. data/sig/finch_api/models/hris/pay_statement_item/rule_create_response.rbs +151 -0
  36. data/sig/finch_api/models/hris/pay_statement_item/rule_delete_params.rbs +34 -0
  37. data/sig/finch_api/models/hris/pay_statement_item/rule_delete_response.rbs +158 -0
  38. data/sig/finch_api/models/hris/pay_statement_item/rule_list_params.rbs +30 -0
  39. data/sig/finch_api/models/hris/pay_statement_item/rule_list_response.rbs +151 -0
  40. data/sig/finch_api/models/hris/pay_statement_item/rule_update_params.rbs +44 -0
  41. data/sig/finch_api/models/hris/pay_statement_item/rule_update_response.rbs +151 -0
  42. data/sig/finch_api/models/hris/pay_statement_item_list_params.rbs +81 -0
  43. data/sig/finch_api/models/hris/pay_statement_item_list_response.rbs +78 -0
  44. data/sig/finch_api/resources/hris/company.rbs +0 -2
  45. data/sig/finch_api/resources/hris/pay_statement_item/rules.rbs +39 -0
  46. data/sig/finch_api/resources/hris/pay_statement_item.rbs +21 -0
  47. data/sig/finch_api/resources/hris.rbs +2 -0
  48. metadata +37 -37
  49. data/lib/finch_api/models/hris/company/pay_statement_item/rule_create_params.rb +0 -137
  50. data/lib/finch_api/models/hris/company/pay_statement_item/rule_create_response.rb +0 -160
  51. data/lib/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rb +0 -35
  52. data/lib/finch_api/models/hris/company/pay_statement_item/rule_delete_response.rb +0 -168
  53. data/lib/finch_api/models/hris/company/pay_statement_item/rule_list_params.rb +0 -28
  54. data/lib/finch_api/models/hris/company/pay_statement_item/rule_list_response.rb +0 -160
  55. data/lib/finch_api/models/hris/company/pay_statement_item/rule_update_params.rb +0 -42
  56. data/lib/finch_api/models/hris/company/pay_statement_item/rule_update_response.rb +0 -160
  57. data/lib/finch_api/models/hris/company/pay_statement_item_list_params.rb +0 -85
  58. data/lib/finch_api/models/hris/company/pay_statement_item_list_response.rb +0 -99
  59. data/lib/finch_api/resources/hris/company/pay_statement_item/rules.rb +0 -144
  60. data/lib/finch_api/resources/hris/company/pay_statement_item.rb +0 -61
  61. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbi +0 -319
  62. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_create_response.rbi +0 -346
  63. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbi +0 -61
  64. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_delete_response.rbi +0 -357
  65. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbi +0 -55
  66. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_list_response.rbi +0 -346
  67. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbi +0 -70
  68. data/rbi/finch_api/models/hris/company/pay_statement_item/rule_update_response.rbi +0 -346
  69. data/rbi/finch_api/models/hris/company/pay_statement_item_list_params.rbi +0 -179
  70. data/rbi/finch_api/models/hris/company/pay_statement_item_list_response.rbi +0 -191
  71. data/rbi/finch_api/resources/hris/company/pay_statement_item/rules.rbi +0 -116
  72. data/rbi/finch_api/resources/hris/company/pay_statement_item.rbi +0 -61
  73. data/sig/finch_api/models/hris/company/pay_statement_item/rule_create_params.rbs +0 -138
  74. data/sig/finch_api/models/hris/company/pay_statement_item/rule_create_response.rbs +0 -153
  75. data/sig/finch_api/models/hris/company/pay_statement_item/rule_delete_params.rbs +0 -36
  76. data/sig/finch_api/models/hris/company/pay_statement_item/rule_delete_response.rbs +0 -160
  77. data/sig/finch_api/models/hris/company/pay_statement_item/rule_list_params.rbs +0 -32
  78. data/sig/finch_api/models/hris/company/pay_statement_item/rule_list_response.rbs +0 -153
  79. data/sig/finch_api/models/hris/company/pay_statement_item/rule_update_params.rbs +0 -46
  80. data/sig/finch_api/models/hris/company/pay_statement_item/rule_update_response.rbs +0 -153
  81. data/sig/finch_api/models/hris/company/pay_statement_item_list_params.rbs +0 -83
  82. data/sig/finch_api/models/hris/company/pay_statement_item_list_response.rbs +0 -80
  83. data/sig/finch_api/resources/hris/company/pay_statement_item/rules.rbs +0 -41
  84. data/sig/finch_api/resources/hris/company/pay_statement_item.rbs +0 -23
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinchAPI
4
+ module Resources
5
+ class HRIS
6
+ class PayStatementItem
7
+ class Rules
8
+ # Some parameter documentations has been truncated, see
9
+ # {FinchAPI::Models::HRIS::PayStatementItem::RuleCreateParams} for more details.
10
+ #
11
+ # Custom rules can be created to associate specific attributes to pay statement
12
+ # items depending on the use case. For example, pay statement items that meet
13
+ # certain conditions can be labeled as a pre-tax 401k. This metadata can be
14
+ # retrieved where pay statement item information is available.
15
+ #
16
+ # @overload create(entity_ids: nil, attributes: nil, conditions: nil, effective_end_date: nil, effective_start_date: nil, entity_type: nil, request_options: {})
17
+ #
18
+ # @param entity_ids [Array<String>] Query param: The entity IDs to create the rule for.
19
+ #
20
+ # @param attributes [FinchAPI::Models::HRIS::PayStatementItem::RuleCreateParams::Attributes] Body param: Specifies the fields to be applied when the condition is met.
21
+ #
22
+ # @param conditions [Array<FinchAPI::Models::HRIS::PayStatementItem::RuleCreateParams::Condition>] Body param
23
+ #
24
+ # @param effective_end_date [String, nil] Body param: Specifies when the rules should stop applying rules based on the dat
25
+ #
26
+ # @param effective_start_date [String, nil] Body param: Specifies when the rule should begin applying based on the date.
27
+ #
28
+ # @param entity_type [Symbol, FinchAPI::Models::HRIS::PayStatementItem::RuleCreateParams::EntityType] Body param: The entity type to which the rule is applied.
29
+ #
30
+ # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil]
31
+ #
32
+ # @return [FinchAPI::Models::HRIS::PayStatementItem::RuleCreateResponse]
33
+ #
34
+ # @see FinchAPI::Models::HRIS::PayStatementItem::RuleCreateParams
35
+ def create(params = {})
36
+ query_params = [:entity_ids]
37
+ parsed, options = FinchAPI::HRIS::PayStatementItem::RuleCreateParams.dump_request(params)
38
+ query = FinchAPI::Internal::Util.encode_query_params(parsed.slice(*query_params))
39
+ @client.request(
40
+ method: :post,
41
+ path: "employer/pay-statement-item/rule",
42
+ query: query,
43
+ body: parsed.except(*query_params),
44
+ model: FinchAPI::Models::HRIS::PayStatementItem::RuleCreateResponse,
45
+ security: {bearer_auth: true},
46
+ options: options
47
+ )
48
+ end
49
+
50
+ # Update a rule for a pay statement item.
51
+ #
52
+ # @overload update(rule_id, entity_ids: nil, optional_property: nil, request_options: {})
53
+ #
54
+ # @param rule_id [String] Path param
55
+ #
56
+ # @param entity_ids [Array<String>] Query param: The entity IDs to update the rule for.
57
+ #
58
+ # @param optional_property [Object] Body param
59
+ #
60
+ # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil]
61
+ #
62
+ # @return [FinchAPI::Models::HRIS::PayStatementItem::RuleUpdateResponse]
63
+ #
64
+ # @see FinchAPI::Models::HRIS::PayStatementItem::RuleUpdateParams
65
+ def update(rule_id, params = {})
66
+ query_params = [:entity_ids]
67
+ parsed, options = FinchAPI::HRIS::PayStatementItem::RuleUpdateParams.dump_request(params)
68
+ query = FinchAPI::Internal::Util.encode_query_params(parsed.slice(*query_params))
69
+ @client.request(
70
+ method: :put,
71
+ path: ["employer/pay-statement-item/rule/%1$s", rule_id],
72
+ query: query,
73
+ body: parsed.except(*query_params),
74
+ model: FinchAPI::Models::HRIS::PayStatementItem::RuleUpdateResponse,
75
+ security: {bearer_auth: true},
76
+ options: options
77
+ )
78
+ end
79
+
80
+ # List all rules of a connection account.
81
+ #
82
+ # @overload list(entity_ids: nil, request_options: {})
83
+ #
84
+ # @param entity_ids [Array<String>] The entity IDs to retrieve rules for.
85
+ #
86
+ # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil]
87
+ #
88
+ # @return [FinchAPI::Internal::ResponsesPage<FinchAPI::Models::HRIS::PayStatementItem::RuleListResponse>]
89
+ #
90
+ # @see FinchAPI::Models::HRIS::PayStatementItem::RuleListParams
91
+ def list(params = {})
92
+ parsed, options = FinchAPI::HRIS::PayStatementItem::RuleListParams.dump_request(params)
93
+ query = FinchAPI::Internal::Util.encode_query_params(parsed)
94
+ @client.request(
95
+ method: :get,
96
+ path: "employer/pay-statement-item/rule",
97
+ query: query,
98
+ page: FinchAPI::Internal::ResponsesPage,
99
+ model: FinchAPI::Models::HRIS::PayStatementItem::RuleListResponse,
100
+ security: {bearer_auth: true},
101
+ options: options
102
+ )
103
+ end
104
+
105
+ # Delete a rule for a pay statement item.
106
+ #
107
+ # @overload delete(rule_id, entity_ids: nil, request_options: {})
108
+ #
109
+ # @param rule_id [String]
110
+ #
111
+ # @param entity_ids [Array<String>] The entity IDs to delete the rule for.
112
+ #
113
+ # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil]
114
+ #
115
+ # @return [FinchAPI::Models::HRIS::PayStatementItem::RuleDeleteResponse]
116
+ #
117
+ # @see FinchAPI::Models::HRIS::PayStatementItem::RuleDeleteParams
118
+ def delete(rule_id, params = {})
119
+ parsed, options = FinchAPI::HRIS::PayStatementItem::RuleDeleteParams.dump_request(params)
120
+ query = FinchAPI::Internal::Util.encode_query_params(parsed)
121
+ @client.request(
122
+ method: :delete,
123
+ path: ["employer/pay-statement-item/rule/%1$s", rule_id],
124
+ query: query,
125
+ model: FinchAPI::Models::HRIS::PayStatementItem::RuleDeleteResponse,
126
+ security: {bearer_auth: true},
127
+ options: options
128
+ )
129
+ end
130
+
131
+ # @api private
132
+ #
133
+ # @param client [FinchAPI::Client]
134
+ def initialize(client:)
135
+ @client = client
136
+ end
137
+ end
138
+ end
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FinchAPI
4
+ module Resources
5
+ class HRIS
6
+ class PayStatementItem
7
+ # @return [FinchAPI::Resources::HRIS::PayStatementItem::Rules]
8
+ attr_reader :rules
9
+
10
+ # Some parameter documentations has been truncated, see
11
+ # {FinchAPI::Models::HRIS::PayStatementItemListParams} for more details.
12
+ #
13
+ # Retrieve a list of detailed pay statement items for the access token's
14
+ # connection account.
15
+ #
16
+ # @overload list(categories: nil, end_date: nil, entity_ids: nil, name: nil, start_date: nil, type: nil, request_options: {})
17
+ #
18
+ # @param categories [Array<Symbol, FinchAPI::Models::HRIS::PayStatementItemListParams::Category>] Comma-delimited list of pay statement item categories to filter on. If empty, de
19
+ #
20
+ # @param end_date [Date] The end date to retrieve pay statement items by via their last seen pay date in
21
+ #
22
+ # @param entity_ids [Array<String>] The entity IDs to specify which entities' data to access.
23
+ #
24
+ # @param name [String] Case-insensitive partial match search by pay statement item name.
25
+ #
26
+ # @param start_date [Date] The start date to retrieve pay statement items by via their last seen pay date (
27
+ #
28
+ # @param type [String] String search by pay statement item type.
29
+ #
30
+ # @param request_options [FinchAPI::RequestOptions, Hash{Symbol=>Object}, nil]
31
+ #
32
+ # @return [FinchAPI::Internal::ResponsesPage<FinchAPI::Models::HRIS::PayStatementItemListResponse>]
33
+ #
34
+ # @see FinchAPI::Models::HRIS::PayStatementItemListParams
35
+ def list(params = {})
36
+ parsed, options = FinchAPI::HRIS::PayStatementItemListParams.dump_request(params)
37
+ query = FinchAPI::Internal::Util.encode_query_params(parsed)
38
+ @client.request(
39
+ method: :get,
40
+ path: "employer/pay-statement-item",
41
+ query: query,
42
+ page: FinchAPI::Internal::ResponsesPage,
43
+ model: FinchAPI::Models::HRIS::PayStatementItemListResponse,
44
+ security: {bearer_auth: true},
45
+ options: options
46
+ )
47
+ end
48
+
49
+ # @api private
50
+ #
51
+ # @param client [FinchAPI::Client]
52
+ def initialize(client:)
53
+ @client = client
54
+ @rules = FinchAPI::Resources::HRIS::PayStatementItem::Rules.new(client: client)
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -6,6 +6,9 @@ module FinchAPI
6
6
  # @return [FinchAPI::Resources::HRIS::Company]
7
7
  attr_reader :company
8
8
 
9
+ # @return [FinchAPI::Resources::HRIS::PayStatementItem]
10
+ attr_reader :pay_statement_item
11
+
9
12
  # @return [FinchAPI::Resources::HRIS::Directory]
10
13
  attr_reader :directory
11
14
 
@@ -33,6 +36,7 @@ module FinchAPI
33
36
  def initialize(client:)
34
37
  @client = client
35
38
  @company = FinchAPI::Resources::HRIS::Company.new(client: client)
39
+ @pay_statement_item = FinchAPI::Resources::HRIS::PayStatementItem.new(client: client)
36
40
  @directory = FinchAPI::Resources::HRIS::Directory.new(client: client)
37
41
  @individuals = FinchAPI::Resources::HRIS::Individuals.new(client: client)
38
42
  @employments = FinchAPI::Resources::HRIS::Employments.new(client: client)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FinchAPI
4
- VERSION = "0.1.0.pre.alpha.44"
4
+ VERSION = "0.1.0.pre.alpha.45"
5
5
  end
data/lib/finch_api.rb CHANGED
@@ -94,16 +94,6 @@ require_relative "finch_api/models/hris/benefits_support"
94
94
  require_relative "finch_api/models/hris/benefit_type"
95
95
  require_relative "finch_api/models/hris/benefit_update_params"
96
96
  require_relative "finch_api/models/hris/benfit_contribution"
97
- require_relative "finch_api/models/hris/company/pay_statement_item/rule_create_params"
98
- require_relative "finch_api/models/hris/company/pay_statement_item/rule_create_response"
99
- require_relative "finch_api/models/hris/company/pay_statement_item/rule_delete_params"
100
- require_relative "finch_api/models/hris/company/pay_statement_item/rule_delete_response"
101
- require_relative "finch_api/models/hris/company/pay_statement_item/rule_list_params"
102
- require_relative "finch_api/models/hris/company/pay_statement_item/rule_list_response"
103
- require_relative "finch_api/models/hris/company/pay_statement_item/rule_update_params"
104
- require_relative "finch_api/models/hris/company/pay_statement_item/rule_update_response"
105
- require_relative "finch_api/models/hris/company/pay_statement_item_list_params"
106
- require_relative "finch_api/models/hris/company/pay_statement_item_list_response"
107
97
  require_relative "finch_api/models/hris/company_benefit"
108
98
  require_relative "finch_api/models/hris/company_retrieve_params"
109
99
  require_relative "finch_api/models/hris/create_company_benefits_response"
@@ -127,6 +117,16 @@ require_relative "finch_api/models/hris/payment_list_params"
127
117
  require_relative "finch_api/models/hris/pay_statement"
128
118
  require_relative "finch_api/models/hris/pay_statement_data"
129
119
  require_relative "finch_api/models/hris/pay_statement_data_sync_in_progress"
120
+ require_relative "finch_api/models/hris/pay_statement_item/rule_create_params"
121
+ require_relative "finch_api/models/hris/pay_statement_item/rule_create_response"
122
+ require_relative "finch_api/models/hris/pay_statement_item/rule_delete_params"
123
+ require_relative "finch_api/models/hris/pay_statement_item/rule_delete_response"
124
+ require_relative "finch_api/models/hris/pay_statement_item/rule_list_params"
125
+ require_relative "finch_api/models/hris/pay_statement_item/rule_list_response"
126
+ require_relative "finch_api/models/hris/pay_statement_item/rule_update_params"
127
+ require_relative "finch_api/models/hris/pay_statement_item/rule_update_response"
128
+ require_relative "finch_api/models/hris/pay_statement_item_list_params"
129
+ require_relative "finch_api/models/hris/pay_statement_item_list_response"
130
130
  require_relative "finch_api/models/hris/pay_statement_response"
131
131
  require_relative "finch_api/models/hris/pay_statement_retrieve_many_params"
132
132
  require_relative "finch_api/models/hris/register_company_benefit_response"
@@ -194,13 +194,13 @@ require_relative "finch_api/resources/hris"
194
194
  require_relative "finch_api/resources/hris/benefits"
195
195
  require_relative "finch_api/resources/hris/benefits/individuals"
196
196
  require_relative "finch_api/resources/hris/company"
197
- require_relative "finch_api/resources/hris/company/pay_statement_item"
198
- require_relative "finch_api/resources/hris/company/pay_statement_item/rules"
199
197
  require_relative "finch_api/resources/hris/directory"
200
198
  require_relative "finch_api/resources/hris/documents"
201
199
  require_relative "finch_api/resources/hris/employments"
202
200
  require_relative "finch_api/resources/hris/individuals"
203
201
  require_relative "finch_api/resources/hris/payments"
202
+ require_relative "finch_api/resources/hris/pay_statement_item"
203
+ require_relative "finch_api/resources/hris/pay_statement_item/rules"
204
204
  require_relative "finch_api/resources/hris/pay_statements"
205
205
  require_relative "finch_api/resources/jobs"
206
206
  require_relative "finch_api/resources/jobs/automated"
@@ -0,0 +1,315 @@
1
+ # typed: strong
2
+
3
+ module FinchAPI
4
+ module Models
5
+ module HRIS
6
+ module PayStatementItem
7
+ class RuleCreateParams < FinchAPI::Internal::Type::BaseModel
8
+ extend FinchAPI::Internal::Type::RequestParameters::Converter
9
+ include FinchAPI::Internal::Type::RequestParameters
10
+
11
+ OrHash =
12
+ T.type_alias do
13
+ T.any(
14
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams,
15
+ FinchAPI::Internal::AnyHash
16
+ )
17
+ end
18
+
19
+ # The entity IDs to create the rule for.
20
+ sig { returns(T.nilable(T::Array[String])) }
21
+ attr_reader :entity_ids
22
+
23
+ sig { params(entity_ids: T::Array[String]).void }
24
+ attr_writer :entity_ids
25
+
26
+ # Specifies the fields to be applied when the condition is met.
27
+ sig do
28
+ returns(
29
+ T.nilable(
30
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Attributes
31
+ )
32
+ )
33
+ end
34
+ attr_reader :attributes
35
+
36
+ sig do
37
+ params(
38
+ attributes:
39
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Attributes::OrHash
40
+ ).void
41
+ end
42
+ attr_writer :attributes
43
+
44
+ sig do
45
+ returns(
46
+ T.nilable(
47
+ T::Array[
48
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition
49
+ ]
50
+ )
51
+ )
52
+ end
53
+ attr_reader :conditions
54
+
55
+ sig do
56
+ params(
57
+ conditions:
58
+ T::Array[
59
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::OrHash
60
+ ]
61
+ ).void
62
+ end
63
+ attr_writer :conditions
64
+
65
+ # Specifies when the rules should stop applying rules based on the date.
66
+ sig { returns(T.nilable(String)) }
67
+ attr_accessor :effective_end_date
68
+
69
+ # Specifies when the rule should begin applying based on the date.
70
+ sig { returns(T.nilable(String)) }
71
+ attr_accessor :effective_start_date
72
+
73
+ # The entity type to which the rule is applied.
74
+ sig do
75
+ returns(
76
+ T.nilable(
77
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::EntityType::OrSymbol
78
+ )
79
+ )
80
+ end
81
+ attr_reader :entity_type
82
+
83
+ sig do
84
+ params(
85
+ entity_type:
86
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::EntityType::OrSymbol
87
+ ).void
88
+ end
89
+ attr_writer :entity_type
90
+
91
+ sig do
92
+ params(
93
+ entity_ids: T::Array[String],
94
+ attributes:
95
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Attributes::OrHash,
96
+ conditions:
97
+ T::Array[
98
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::OrHash
99
+ ],
100
+ effective_end_date: T.nilable(String),
101
+ effective_start_date: T.nilable(String),
102
+ entity_type:
103
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::EntityType::OrSymbol,
104
+ request_options: FinchAPI::RequestOptions::OrHash
105
+ ).returns(T.attached_class)
106
+ end
107
+ def self.new(
108
+ # The entity IDs to create the rule for.
109
+ entity_ids: nil,
110
+ # Specifies the fields to be applied when the condition is met.
111
+ attributes: nil,
112
+ conditions: nil,
113
+ # Specifies when the rules should stop applying rules based on the date.
114
+ effective_end_date: nil,
115
+ # Specifies when the rule should begin applying based on the date.
116
+ effective_start_date: nil,
117
+ # The entity type to which the rule is applied.
118
+ entity_type: nil,
119
+ request_options: {}
120
+ )
121
+ end
122
+
123
+ sig do
124
+ override.returns(
125
+ {
126
+ entity_ids: T::Array[String],
127
+ attributes:
128
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Attributes,
129
+ conditions:
130
+ T::Array[
131
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition
132
+ ],
133
+ effective_end_date: T.nilable(String),
134
+ effective_start_date: T.nilable(String),
135
+ entity_type:
136
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::EntityType::OrSymbol,
137
+ request_options: FinchAPI::RequestOptions
138
+ }
139
+ )
140
+ end
141
+ def to_hash
142
+ end
143
+
144
+ class Attributes < FinchAPI::Internal::Type::BaseModel
145
+ OrHash =
146
+ T.type_alias do
147
+ T.any(
148
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Attributes,
149
+ FinchAPI::Internal::AnyHash
150
+ )
151
+ end
152
+
153
+ # The metadata to be attached in the entity. It is a key-value pairs where the
154
+ # values can be of any type (string, number, boolean, object, array, etc.).
155
+ sig { returns(T.nilable(T::Hash[Symbol, T.anything])) }
156
+ attr_reader :metadata
157
+
158
+ sig { params(metadata: T::Hash[Symbol, T.anything]).void }
159
+ attr_writer :metadata
160
+
161
+ # Specifies the fields to be applied when the condition is met.
162
+ sig do
163
+ params(metadata: T::Hash[Symbol, T.anything]).returns(
164
+ T.attached_class
165
+ )
166
+ end
167
+ def self.new(
168
+ # The metadata to be attached in the entity. It is a key-value pairs where the
169
+ # values can be of any type (string, number, boolean, object, array, etc.).
170
+ metadata: nil
171
+ )
172
+ end
173
+
174
+ sig { override.returns({ metadata: T::Hash[Symbol, T.anything] }) }
175
+ def to_hash
176
+ end
177
+ end
178
+
179
+ class Condition < FinchAPI::Internal::Type::BaseModel
180
+ OrHash =
181
+ T.type_alias do
182
+ T.any(
183
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition,
184
+ FinchAPI::Internal::AnyHash
185
+ )
186
+ end
187
+
188
+ # The field to be checked in the rule.
189
+ sig { returns(T.nilable(String)) }
190
+ attr_reader :field
191
+
192
+ sig { params(field: String).void }
193
+ attr_writer :field
194
+
195
+ # The operator to be used in the rule.
196
+ sig do
197
+ returns(
198
+ T.nilable(
199
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::Operator::OrSymbol
200
+ )
201
+ )
202
+ end
203
+ attr_reader :operator
204
+
205
+ sig do
206
+ params(
207
+ operator:
208
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::Operator::OrSymbol
209
+ ).void
210
+ end
211
+ attr_writer :operator
212
+
213
+ # The value of the field to be checked in the rule.
214
+ sig { returns(T.nilable(String)) }
215
+ attr_reader :value
216
+
217
+ sig { params(value: String).void }
218
+ attr_writer :value
219
+
220
+ sig do
221
+ params(
222
+ field: String,
223
+ operator:
224
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::Operator::OrSymbol,
225
+ value: String
226
+ ).returns(T.attached_class)
227
+ end
228
+ def self.new(
229
+ # The field to be checked in the rule.
230
+ field: nil,
231
+ # The operator to be used in the rule.
232
+ operator: nil,
233
+ # The value of the field to be checked in the rule.
234
+ value: nil
235
+ )
236
+ end
237
+
238
+ sig do
239
+ override.returns(
240
+ {
241
+ field: String,
242
+ operator:
243
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::Operator::OrSymbol,
244
+ value: String
245
+ }
246
+ )
247
+ end
248
+ def to_hash
249
+ end
250
+
251
+ # The operator to be used in the rule.
252
+ module Operator
253
+ extend FinchAPI::Internal::Type::Enum
254
+
255
+ TaggedSymbol =
256
+ T.type_alias do
257
+ T.all(
258
+ Symbol,
259
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::Operator
260
+ )
261
+ end
262
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
263
+
264
+ EQUALS =
265
+ T.let(
266
+ :equals,
267
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::Operator::TaggedSymbol
268
+ )
269
+
270
+ sig do
271
+ override.returns(
272
+ T::Array[
273
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::Condition::Operator::TaggedSymbol
274
+ ]
275
+ )
276
+ end
277
+ def self.values
278
+ end
279
+ end
280
+ end
281
+
282
+ # The entity type to which the rule is applied.
283
+ module EntityType
284
+ extend FinchAPI::Internal::Type::Enum
285
+
286
+ TaggedSymbol =
287
+ T.type_alias do
288
+ T.all(
289
+ Symbol,
290
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::EntityType
291
+ )
292
+ end
293
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
294
+
295
+ PAY_STATEMENT_ITEM =
296
+ T.let(
297
+ :pay_statement_item,
298
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::EntityType::TaggedSymbol
299
+ )
300
+
301
+ sig do
302
+ override.returns(
303
+ T::Array[
304
+ FinchAPI::HRIS::PayStatementItem::RuleCreateParams::EntityType::TaggedSymbol
305
+ ]
306
+ )
307
+ end
308
+ def self.values
309
+ end
310
+ end
311
+ end
312
+ end
313
+ end
314
+ end
315
+ end