lithic 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/lithic/client.rb +4 -0
  5. data/lib/lithic/internal/transport/base_client.rb +4 -1
  6. data/lib/lithic/models/account.rb +2 -2
  7. data/lib/lithic/models/account_holders/account_holder_entity.rb +3 -16
  8. data/lib/lithic/models/account_holders/entity_create_params.rb +3 -14
  9. data/lib/lithic/models/auth_rules/auth_rule.rb +4 -2
  10. data/lib/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rb +18 -20
  11. data/lib/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rb +195 -9
  12. data/lib/lithic/models/auth_rules/rule_feature.rb +29 -6
  13. data/lib/lithic/models/auth_rules/typescript_code_parameters.rb +2 -2
  14. data/lib/lithic/models/auth_rules/v2_create_params.rb +12 -6
  15. data/lib/lithic/models/card.rb +1 -1
  16. data/lib/lithic/models/card_authorization.rb +117 -11
  17. data/lib/lithic/models/financial_accounts/loan_tape.rb +9 -1
  18. data/lib/lithic/models/payment.rb +13 -1
  19. data/lib/lithic/models/transaction_monitoring/case_activity_entry.rb +74 -0
  20. data/lib/lithic/models/transaction_monitoring/case_activity_type.rb +35 -0
  21. data/lib/lithic/models/transaction_monitoring/case_card.rb +37 -0
  22. data/lib/lithic/models/transaction_monitoring/case_entity.rb +50 -0
  23. data/lib/lithic/models/transaction_monitoring/case_list_activity_params.rb +53 -0
  24. data/lib/lithic/models/transaction_monitoring/case_list_params.rb +136 -0
  25. data/lib/lithic/models/transaction_monitoring/case_list_transactions_params.rb +53 -0
  26. data/lib/lithic/models/transaction_monitoring/case_priority.rb +20 -0
  27. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_params.rb +22 -0
  28. data/lib/lithic/models/transaction_monitoring/case_retrieve_cards_response.rb +11 -0
  29. data/lib/lithic/models/transaction_monitoring/case_retrieve_params.rb +22 -0
  30. data/lib/lithic/models/transaction_monitoring/case_sort_order.rb +29 -0
  31. data/lib/lithic/models/transaction_monitoring/case_status.rb +31 -0
  32. data/lib/lithic/models/transaction_monitoring/case_transaction.rb +53 -0
  33. data/lib/lithic/models/transaction_monitoring/case_update_params.rb +116 -0
  34. data/lib/lithic/models/transaction_monitoring/cases/case_file.rb +141 -0
  35. data/lib/lithic/models/transaction_monitoring/cases/comment_create_params.rb +47 -0
  36. data/lib/lithic/models/transaction_monitoring/cases/comment_delete_params.rb +30 -0
  37. data/lib/lithic/models/transaction_monitoring/cases/comment_update_params.rb +54 -0
  38. data/lib/lithic/models/transaction_monitoring/cases/file_create_params.rb +33 -0
  39. data/lib/lithic/models/transaction_monitoring/cases/file_delete_params.rb +30 -0
  40. data/lib/lithic/models/transaction_monitoring/cases/file_list_params.rb +54 -0
  41. data/lib/lithic/models/transaction_monitoring/cases/file_retrieve_params.rb +30 -0
  42. data/lib/lithic/models/transaction_monitoring/cases/file_status.rb +26 -0
  43. data/lib/lithic/models/transaction_monitoring/cases/upload_constraints.rb +31 -0
  44. data/lib/lithic/models/transaction_monitoring/entity_type.rb +18 -0
  45. data/lib/lithic/models/transaction_monitoring/monitoring_case.rb +168 -0
  46. data/lib/lithic/models/transaction_monitoring/queue.rb +120 -0
  47. data/lib/lithic/models/transaction_monitoring/queue_create_params.rb +32 -0
  48. data/lib/lithic/models/transaction_monitoring/queue_delete_params.rb +22 -0
  49. data/lib/lithic/models/transaction_monitoring/queue_list_params.rb +45 -0
  50. data/lib/lithic/models/transaction_monitoring/queue_retrieve_params.rb +22 -0
  51. data/lib/lithic/models/transaction_monitoring/queue_update_params.rb +39 -0
  52. data/lib/lithic/models/transaction_monitoring/resolution_outcome.rb +28 -0
  53. data/lib/lithic/models/transaction_route_params.rb +29 -0
  54. data/lib/lithic/models.rb +4 -0
  55. data/lib/lithic/resources/account_holders/entities.rb +1 -1
  56. data/lib/lithic/resources/cards.rb +2 -2
  57. data/lib/lithic/resources/transaction_monitoring/cases/comments.rb +111 -0
  58. data/lib/lithic/resources/transaction_monitoring/cases/files.rb +131 -0
  59. data/lib/lithic/resources/transaction_monitoring/cases.rb +228 -0
  60. data/lib/lithic/resources/transaction_monitoring/queues.rb +137 -0
  61. data/lib/lithic/resources/transaction_monitoring.rb +22 -0
  62. data/lib/lithic/resources/transactions.rb +25 -0
  63. data/lib/lithic/version.rb +1 -1
  64. data/lib/lithic.rb +40 -0
  65. data/rbi/lithic/client.rbi +3 -0
  66. data/rbi/lithic/models/account.rbi +3 -3
  67. data/rbi/lithic/models/account_holders/account_holder_entity.rbi +3 -40
  68. data/rbi/lithic/models/account_holders/entity_create_params.rbi +3 -37
  69. data/rbi/lithic/models/auth_rules/auth_rule.rbi +6 -3
  70. data/rbi/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbi +29 -29
  71. data/rbi/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbi +395 -12
  72. data/rbi/lithic/models/auth_rules/rule_feature.rbi +41 -5
  73. data/rbi/lithic/models/auth_rules/typescript_code_parameters.rbi +3 -0
  74. data/rbi/lithic/models/auth_rules/v2_create_params.rbi +18 -9
  75. data/rbi/lithic/models/card.rbi +2 -2
  76. data/rbi/lithic/models/card_authorization.rbi +246 -17
  77. data/rbi/lithic/models/financial_accounts/loan_tape.rbi +8 -0
  78. data/rbi/lithic/models/payment.rbi +13 -0
  79. data/rbi/lithic/models/transaction_monitoring/case_activity_entry.rbi +107 -0
  80. data/rbi/lithic/models/transaction_monitoring/case_activity_type.rbi +84 -0
  81. data/rbi/lithic/models/transaction_monitoring/case_card.rbi +60 -0
  82. data/rbi/lithic/models/transaction_monitoring/case_entity.rbi +101 -0
  83. data/rbi/lithic/models/transaction_monitoring/case_list_activity_params.rbi +83 -0
  84. data/rbi/lithic/models/transaction_monitoring/case_list_params.rbi +220 -0
  85. data/rbi/lithic/models/transaction_monitoring/case_list_transactions_params.rbi +83 -0
  86. data/rbi/lithic/models/transaction_monitoring/case_priority.rbi +44 -0
  87. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbi +40 -0
  88. data/rbi/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbi +15 -0
  89. data/rbi/lithic/models/transaction_monitoring/case_retrieve_params.rbi +40 -0
  90. data/rbi/lithic/models/transaction_monitoring/case_sort_order.rbi +64 -0
  91. data/rbi/lithic/models/transaction_monitoring/case_status.rbi +63 -0
  92. data/rbi/lithic/models/transaction_monitoring/case_transaction.rbi +75 -0
  93. data/rbi/lithic/models/transaction_monitoring/case_update_params.rbi +201 -0
  94. data/rbi/lithic/models/transaction_monitoring/cases/case_file.rbi +188 -0
  95. data/rbi/lithic/models/transaction_monitoring/cases/comment_create_params.rbi +71 -0
  96. data/rbi/lithic/models/transaction_monitoring/cases/comment_delete_params.rbi +50 -0
  97. data/rbi/lithic/models/transaction_monitoring/cases/comment_update_params.rbi +77 -0
  98. data/rbi/lithic/models/transaction_monitoring/cases/file_create_params.rbi +56 -0
  99. data/rbi/lithic/models/transaction_monitoring/cases/file_delete_params.rbi +50 -0
  100. data/rbi/lithic/models/transaction_monitoring/cases/file_list_params.rbi +85 -0
  101. data/rbi/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbi +50 -0
  102. data/rbi/lithic/models/transaction_monitoring/cases/file_status.rbi +51 -0
  103. data/rbi/lithic/models/transaction_monitoring/cases/upload_constraints.rbi +51 -0
  104. data/rbi/lithic/models/transaction_monitoring/entity_type.rbi +37 -0
  105. data/rbi/lithic/models/transaction_monitoring/monitoring_case.rbi +226 -0
  106. data/rbi/lithic/models/transaction_monitoring/queue.rbi +189 -0
  107. data/rbi/lithic/models/transaction_monitoring/queue_create_params.rbi +56 -0
  108. data/rbi/lithic/models/transaction_monitoring/queue_delete_params.rbi +40 -0
  109. data/rbi/lithic/models/transaction_monitoring/queue_list_params.rbi +77 -0
  110. data/rbi/lithic/models/transaction_monitoring/queue_retrieve_params.rbi +40 -0
  111. data/rbi/lithic/models/transaction_monitoring/queue_update_params.rbi +65 -0
  112. data/rbi/lithic/models/transaction_monitoring/resolution_outcome.rbi +61 -0
  113. data/rbi/lithic/models/transaction_route_params.rbi +49 -0
  114. data/rbi/lithic/models.rbi +4 -0
  115. data/rbi/lithic/resources/account_holders/entities.rbi +1 -1
  116. data/rbi/lithic/resources/cards.rbi +2 -2
  117. data/rbi/lithic/resources/transaction_monitoring/cases/comments.rbi +81 -0
  118. data/rbi/lithic/resources/transaction_monitoring/cases/files.rbi +98 -0
  119. data/rbi/lithic/resources/transaction_monitoring/cases.rbi +230 -0
  120. data/rbi/lithic/resources/transaction_monitoring/queues.rbi +103 -0
  121. data/rbi/lithic/resources/transaction_monitoring.rbi +18 -0
  122. data/rbi/lithic/resources/transactions.rbi +18 -0
  123. data/sig/lithic/client.rbs +2 -0
  124. data/sig/lithic/models/account_holders/account_holder_entity.rbs +4 -15
  125. data/sig/lithic/models/account_holders/entity_create_params.rbs +4 -15
  126. data/sig/lithic/models/auth_rules/conditional_authorization_adjustment_parameters.rbs +16 -16
  127. data/sig/lithic/models/auth_rules/conditional_card_transaction_update_action_parameters.rbs +73 -3
  128. data/sig/lithic/models/auth_rules/rule_feature.rbs +16 -0
  129. data/sig/lithic/models/card_authorization.rbs +84 -10
  130. data/sig/lithic/models/financial_accounts/loan_tape.rbs +5 -0
  131. data/sig/lithic/models/payment.rbs +7 -0
  132. data/sig/lithic/models/transaction_monitoring/case_activity_entry.rbs +47 -0
  133. data/sig/lithic/models/transaction_monitoring/case_activity_type.rbs +32 -0
  134. data/sig/lithic/models/transaction_monitoring/case_card.rbs +32 -0
  135. data/sig/lithic/models/transaction_monitoring/case_entity.rbs +38 -0
  136. data/sig/lithic/models/transaction_monitoring/case_list_activity_params.rbs +49 -0
  137. data/sig/lithic/models/transaction_monitoring/case_list_params.rbs +125 -0
  138. data/sig/lithic/models/transaction_monitoring/case_list_transactions_params.rbs +49 -0
  139. data/sig/lithic/models/transaction_monitoring/case_priority.rbs +18 -0
  140. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_params.rbs +25 -0
  141. data/sig/lithic/models/transaction_monitoring/case_retrieve_cards_response.rbs +10 -0
  142. data/sig/lithic/models/transaction_monitoring/case_retrieve_params.rbs +25 -0
  143. data/sig/lithic/models/transaction_monitoring/case_sort_order.rbs +26 -0
  144. data/sig/lithic/models/transaction_monitoring/case_status.rbs +21 -0
  145. data/sig/lithic/models/transaction_monitoring/case_transaction.rbs +42 -0
  146. data/sig/lithic/models/transaction_monitoring/case_update_params.rbs +91 -0
  147. data/sig/lithic/models/transaction_monitoring/cases/case_file.rbs +86 -0
  148. data/sig/lithic/models/transaction_monitoring/cases/comment_create_params.rbs +38 -0
  149. data/sig/lithic/models/transaction_monitoring/cases/comment_delete_params.rbs +32 -0
  150. data/sig/lithic/models/transaction_monitoring/cases/comment_update_params.rbs +47 -0
  151. data/sig/lithic/models/transaction_monitoring/cases/file_create_params.rbs +32 -0
  152. data/sig/lithic/models/transaction_monitoring/cases/file_delete_params.rbs +32 -0
  153. data/sig/lithic/models/transaction_monitoring/cases/file_list_params.rbs +51 -0
  154. data/sig/lithic/models/transaction_monitoring/cases/file_retrieve_params.rbs +32 -0
  155. data/sig/lithic/models/transaction_monitoring/cases/file_status.rbs +19 -0
  156. data/sig/lithic/models/transaction_monitoring/cases/upload_constraints.rbs +26 -0
  157. data/sig/lithic/models/transaction_monitoring/entity_type.rbs +16 -0
  158. data/sig/lithic/models/transaction_monitoring/monitoring_case.rbs +102 -0
  159. data/sig/lithic/models/transaction_monitoring/queue.rbs +101 -0
  160. data/sig/lithic/models/transaction_monitoring/queue_create_params.rbs +30 -0
  161. data/sig/lithic/models/transaction_monitoring/queue_delete_params.rbs +25 -0
  162. data/sig/lithic/models/transaction_monitoring/queue_list_params.rbs +40 -0
  163. data/sig/lithic/models/transaction_monitoring/queue_retrieve_params.rbs +25 -0
  164. data/sig/lithic/models/transaction_monitoring/queue_update_params.rbs +36 -0
  165. data/sig/lithic/models/transaction_monitoring/resolution_outcome.rbs +24 -0
  166. data/sig/lithic/models/transaction_route_params.rbs +28 -0
  167. data/sig/lithic/models.rbs +4 -0
  168. data/sig/lithic/resources/account_holders/entities.rbs +1 -1
  169. data/sig/lithic/resources/transaction_monitoring/cases/comments.rbs +32 -0
  170. data/sig/lithic/resources/transaction_monitoring/cases/files.rbs +37 -0
  171. data/sig/lithic/resources/transaction_monitoring/cases.rbs +71 -0
  172. data/sig/lithic/resources/transaction_monitoring/queues.rbs +39 -0
  173. data/sig/lithic/resources/transaction_monitoring.rbs +11 -0
  174. data/sig/lithic/resources/transactions.rbs +6 -0
  175. metadata +122 -2
@@ -0,0 +1,226 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class MonitoringCase < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::TransactionMonitoring::MonitoringCase,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Globally unique identifier for the case
16
+ sig { returns(String) }
17
+ attr_accessor :token
18
+
19
+ # Identifier of the user the case is currently assigned to
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :assignee
22
+
23
+ # Date and time at which transaction collection stopped for the case
24
+ sig { returns(T.nilable(Time)) }
25
+ attr_accessor :collection_stopped
26
+
27
+ # Date and time at which the case was created
28
+ sig { returns(Time) }
29
+ attr_accessor :created
30
+
31
+ # The entity a case is associated with
32
+ sig { returns(T.nilable(Lithic::TransactionMonitoring::CaseEntity)) }
33
+ attr_reader :entity
34
+
35
+ sig do
36
+ params(
37
+ entity: T.nilable(Lithic::TransactionMonitoring::CaseEntity::OrHash)
38
+ ).void
39
+ end
40
+ attr_writer :entity
41
+
42
+ # Whether the case still has transaction scopes pending resolution
43
+ sig { returns(T::Boolean) }
44
+ attr_accessor :pending_transactions
45
+
46
+ # Priority level of a case, controlling queue ordering and SLA urgency
47
+ sig do
48
+ returns(Lithic::TransactionMonitoring::CasePriority::TaggedSymbol)
49
+ end
50
+ attr_accessor :priority
51
+
52
+ # Token of the queue the case belongs to
53
+ sig { returns(String) }
54
+ attr_accessor :queue_token
55
+
56
+ # Outcome recorded when a case is resolved:
57
+ #
58
+ # - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
59
+ # - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
60
+ # - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
61
+ # positive
62
+ # - `NO_ACTION_REQUIRED` - No further action is required
63
+ # - `ESCALATED_EXTERNAL` - The case was escalated to an external party
64
+ sig do
65
+ returns(
66
+ T.nilable(
67
+ Lithic::TransactionMonitoring::ResolutionOutcome::TaggedSymbol
68
+ )
69
+ )
70
+ end
71
+ attr_accessor :resolution
72
+
73
+ # Free-form notes describing the resolution
74
+ sig { returns(T.nilable(String)) }
75
+ attr_accessor :resolution_notes
76
+
77
+ # Date and time at which the case was resolved
78
+ sig { returns(T.nilable(Time)) }
79
+ attr_accessor :resolved
80
+
81
+ # Token of the transaction monitoring rule that triggered the case
82
+ sig { returns(T.nilable(String)) }
83
+ attr_accessor :rule_token
84
+
85
+ # Deadline by which the case is expected to be resolved
86
+ sig { returns(T.nilable(Time)) }
87
+ attr_accessor :sla_deadline
88
+
89
+ # Status of a case as it progresses through the review workflow:
90
+ #
91
+ # - `OPEN` - The case has been created and is still collecting matching
92
+ # transactions
93
+ # - `ASSIGNED` - An analyst has been assigned and transaction collection has
94
+ # stopped
95
+ # - `IN_REVIEW` - The case is actively being investigated
96
+ # - `ESCALATED` - The case has been reviewed and requires additional oversight
97
+ # - `RESOLVED` - A determination has been made and a resolution recorded
98
+ # - `CLOSED` - The case is finalized
99
+ sig { returns(Lithic::TransactionMonitoring::CaseStatus::TaggedSymbol) }
100
+ attr_accessor :status
101
+
102
+ # Arbitrary key-value metadata associated with the case
103
+ sig { returns(T::Hash[Symbol, String]) }
104
+ attr_accessor :tags
105
+
106
+ # Short, human-readable summary of the case
107
+ sig { returns(T.nilable(String)) }
108
+ attr_accessor :title
109
+
110
+ # Date and time at which the case was last updated
111
+ sig { returns(Time) }
112
+ attr_accessor :updated
113
+
114
+ # A transaction monitoring case
115
+ sig do
116
+ params(
117
+ token: String,
118
+ assignee: T.nilable(String),
119
+ collection_stopped: T.nilable(Time),
120
+ created: Time,
121
+ entity:
122
+ T.nilable(Lithic::TransactionMonitoring::CaseEntity::OrHash),
123
+ pending_transactions: T::Boolean,
124
+ priority: Lithic::TransactionMonitoring::CasePriority::OrSymbol,
125
+ queue_token: String,
126
+ resolution:
127
+ T.nilable(
128
+ Lithic::TransactionMonitoring::ResolutionOutcome::OrSymbol
129
+ ),
130
+ resolution_notes: T.nilable(String),
131
+ resolved: T.nilable(Time),
132
+ rule_token: T.nilable(String),
133
+ sla_deadline: T.nilable(Time),
134
+ status: Lithic::TransactionMonitoring::CaseStatus::OrSymbol,
135
+ tags: T::Hash[Symbol, String],
136
+ title: T.nilable(String),
137
+ updated: Time
138
+ ).returns(T.attached_class)
139
+ end
140
+ def self.new(
141
+ # Globally unique identifier for the case
142
+ token:,
143
+ # Identifier of the user the case is currently assigned to
144
+ assignee:,
145
+ # Date and time at which transaction collection stopped for the case
146
+ collection_stopped:,
147
+ # Date and time at which the case was created
148
+ created:,
149
+ # The entity a case is associated with
150
+ entity:,
151
+ # Whether the case still has transaction scopes pending resolution
152
+ pending_transactions:,
153
+ # Priority level of a case, controlling queue ordering and SLA urgency
154
+ priority:,
155
+ # Token of the queue the case belongs to
156
+ queue_token:,
157
+ # Outcome recorded when a case is resolved:
158
+ #
159
+ # - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
160
+ # - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
161
+ # - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
162
+ # positive
163
+ # - `NO_ACTION_REQUIRED` - No further action is required
164
+ # - `ESCALATED_EXTERNAL` - The case was escalated to an external party
165
+ resolution:,
166
+ # Free-form notes describing the resolution
167
+ resolution_notes:,
168
+ # Date and time at which the case was resolved
169
+ resolved:,
170
+ # Token of the transaction monitoring rule that triggered the case
171
+ rule_token:,
172
+ # Deadline by which the case is expected to be resolved
173
+ sla_deadline:,
174
+ # Status of a case as it progresses through the review workflow:
175
+ #
176
+ # - `OPEN` - The case has been created and is still collecting matching
177
+ # transactions
178
+ # - `ASSIGNED` - An analyst has been assigned and transaction collection has
179
+ # stopped
180
+ # - `IN_REVIEW` - The case is actively being investigated
181
+ # - `ESCALATED` - The case has been reviewed and requires additional oversight
182
+ # - `RESOLVED` - A determination has been made and a resolution recorded
183
+ # - `CLOSED` - The case is finalized
184
+ status:,
185
+ # Arbitrary key-value metadata associated with the case
186
+ tags:,
187
+ # Short, human-readable summary of the case
188
+ title:,
189
+ # Date and time at which the case was last updated
190
+ updated:
191
+ )
192
+ end
193
+
194
+ sig do
195
+ override.returns(
196
+ {
197
+ token: String,
198
+ assignee: T.nilable(String),
199
+ collection_stopped: T.nilable(Time),
200
+ created: Time,
201
+ entity: T.nilable(Lithic::TransactionMonitoring::CaseEntity),
202
+ pending_transactions: T::Boolean,
203
+ priority:
204
+ Lithic::TransactionMonitoring::CasePriority::TaggedSymbol,
205
+ queue_token: String,
206
+ resolution:
207
+ T.nilable(
208
+ Lithic::TransactionMonitoring::ResolutionOutcome::TaggedSymbol
209
+ ),
210
+ resolution_notes: T.nilable(String),
211
+ resolved: T.nilable(Time),
212
+ rule_token: T.nilable(String),
213
+ sla_deadline: T.nilable(Time),
214
+ status: Lithic::TransactionMonitoring::CaseStatus::TaggedSymbol,
215
+ tags: T::Hash[Symbol, String],
216
+ title: T.nilable(String),
217
+ updated: Time
218
+ }
219
+ )
220
+ end
221
+ def to_hash
222
+ end
223
+ end
224
+ end
225
+ end
226
+ end
@@ -0,0 +1,189 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class Queue < Lithic::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Lithic::TransactionMonitoring::Queue,
11
+ Lithic::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Globally unique identifier for the queue
16
+ sig { returns(String) }
17
+ attr_accessor :token
18
+
19
+ # Number of cases in the queue, broken down by status. A status is omitted when
20
+ # the queue has no cases in that status
21
+ sig { returns(Lithic::TransactionMonitoring::Queue::CaseCounts) }
22
+ attr_reader :case_counts
23
+
24
+ sig do
25
+ params(
26
+ case_counts:
27
+ Lithic::TransactionMonitoring::Queue::CaseCounts::OrHash
28
+ ).void
29
+ end
30
+ attr_writer :case_counts
31
+
32
+ # Date and time at which the queue was created
33
+ sig { returns(Time) }
34
+ attr_accessor :created
35
+
36
+ # Optional description of the queue
37
+ sig { returns(T.nilable(String)) }
38
+ attr_accessor :description
39
+
40
+ # Human-readable name of the queue
41
+ sig { returns(String) }
42
+ attr_accessor :name
43
+
44
+ # Date and time at which the queue was last updated
45
+ sig { returns(Time) }
46
+ attr_accessor :updated
47
+
48
+ # A queue that groups transaction monitoring cases for review
49
+ sig do
50
+ params(
51
+ token: String,
52
+ case_counts:
53
+ Lithic::TransactionMonitoring::Queue::CaseCounts::OrHash,
54
+ created: Time,
55
+ description: T.nilable(String),
56
+ name: String,
57
+ updated: Time
58
+ ).returns(T.attached_class)
59
+ end
60
+ def self.new(
61
+ # Globally unique identifier for the queue
62
+ token:,
63
+ # Number of cases in the queue, broken down by status. A status is omitted when
64
+ # the queue has no cases in that status
65
+ case_counts:,
66
+ # Date and time at which the queue was created
67
+ created:,
68
+ # Optional description of the queue
69
+ description:,
70
+ # Human-readable name of the queue
71
+ name:,
72
+ # Date and time at which the queue was last updated
73
+ updated:
74
+ )
75
+ end
76
+
77
+ sig do
78
+ override.returns(
79
+ {
80
+ token: String,
81
+ case_counts: Lithic::TransactionMonitoring::Queue::CaseCounts,
82
+ created: Time,
83
+ description: T.nilable(String),
84
+ name: String,
85
+ updated: Time
86
+ }
87
+ )
88
+ end
89
+ def to_hash
90
+ end
91
+
92
+ class CaseCounts < Lithic::Internal::Type::BaseModel
93
+ OrHash =
94
+ T.type_alias do
95
+ T.any(
96
+ Lithic::TransactionMonitoring::Queue::CaseCounts,
97
+ Lithic::Internal::AnyHash
98
+ )
99
+ end
100
+
101
+ # Number of cases in the queue with status `ASSIGNED`
102
+ sig { returns(T.nilable(Integer)) }
103
+ attr_reader :assigned
104
+
105
+ sig { params(assigned: Integer).void }
106
+ attr_writer :assigned
107
+
108
+ # Number of cases in the queue with status `CLOSED`
109
+ sig { returns(T.nilable(Integer)) }
110
+ attr_reader :closed
111
+
112
+ sig { params(closed: Integer).void }
113
+ attr_writer :closed
114
+
115
+ # Number of cases in the queue with status `ESCALATED`
116
+ sig { returns(T.nilable(Integer)) }
117
+ attr_reader :escalated
118
+
119
+ sig { params(escalated: Integer).void }
120
+ attr_writer :escalated
121
+
122
+ # Number of cases in the queue with status `IN_REVIEW`
123
+ sig { returns(T.nilable(Integer)) }
124
+ attr_reader :in_review
125
+
126
+ sig { params(in_review: Integer).void }
127
+ attr_writer :in_review
128
+
129
+ # Number of cases in the queue with status `OPEN`
130
+ sig { returns(T.nilable(Integer)) }
131
+ attr_reader :open_
132
+
133
+ sig { params(open_: Integer).void }
134
+ attr_writer :open_
135
+
136
+ # Number of cases in the queue with status `RESOLVED`
137
+ sig { returns(T.nilable(Integer)) }
138
+ attr_reader :resolved
139
+
140
+ sig { params(resolved: Integer).void }
141
+ attr_writer :resolved
142
+
143
+ # Number of cases in the queue, broken down by status. A status is omitted when
144
+ # the queue has no cases in that status
145
+ sig do
146
+ params(
147
+ assigned: Integer,
148
+ closed: Integer,
149
+ escalated: Integer,
150
+ in_review: Integer,
151
+ open_: Integer,
152
+ resolved: Integer
153
+ ).returns(T.attached_class)
154
+ end
155
+ def self.new(
156
+ # Number of cases in the queue with status `ASSIGNED`
157
+ assigned: nil,
158
+ # Number of cases in the queue with status `CLOSED`
159
+ closed: nil,
160
+ # Number of cases in the queue with status `ESCALATED`
161
+ escalated: nil,
162
+ # Number of cases in the queue with status `IN_REVIEW`
163
+ in_review: nil,
164
+ # Number of cases in the queue with status `OPEN`
165
+ open_: nil,
166
+ # Number of cases in the queue with status `RESOLVED`
167
+ resolved: nil
168
+ )
169
+ end
170
+
171
+ sig do
172
+ override.returns(
173
+ {
174
+ assigned: Integer,
175
+ closed: Integer,
176
+ escalated: Integer,
177
+ in_review: Integer,
178
+ open_: Integer,
179
+ resolved: Integer
180
+ }
181
+ )
182
+ end
183
+ def to_hash
184
+ end
185
+ end
186
+ end
187
+ end
188
+ end
189
+ end
@@ -0,0 +1,56 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class QueueCreateParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::TransactionMonitoring::QueueCreateParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # Human-readable name of the queue
19
+ sig { returns(String) }
20
+ attr_accessor :name
21
+
22
+ # Optional description of the queue
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :description
25
+
26
+ sig do
27
+ params(
28
+ name: String,
29
+ description: T.nilable(String),
30
+ request_options: Lithic::RequestOptions::OrHash
31
+ ).returns(T.attached_class)
32
+ end
33
+ def self.new(
34
+ # Human-readable name of the queue
35
+ name:,
36
+ # Optional description of the queue
37
+ description: nil,
38
+ request_options: {}
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {
45
+ name: String,
46
+ description: T.nilable(String),
47
+ request_options: Lithic::RequestOptions
48
+ }
49
+ )
50
+ end
51
+ def to_hash
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class QueueDeleteParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::TransactionMonitoring::QueueDeleteParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :queue_token
20
+
21
+ sig do
22
+ params(
23
+ queue_token: String,
24
+ request_options: Lithic::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(queue_token:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { queue_token: String, request_options: Lithic::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,77 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class QueueListParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::TransactionMonitoring::QueueListParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ # A cursor representing an item's token before which a page of results should end.
19
+ # Used to retrieve the previous page of results before this item.
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :ending_before
22
+
23
+ sig { params(ending_before: String).void }
24
+ attr_writer :ending_before
25
+
26
+ # Page size (for pagination).
27
+ sig { returns(T.nilable(Integer)) }
28
+ attr_reader :page_size
29
+
30
+ sig { params(page_size: Integer).void }
31
+ attr_writer :page_size
32
+
33
+ # A cursor representing an item's token after which a page of results should
34
+ # begin. Used to retrieve the next page of results after this item.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :starting_after
37
+
38
+ sig { params(starting_after: String).void }
39
+ attr_writer :starting_after
40
+
41
+ sig do
42
+ params(
43
+ ending_before: String,
44
+ page_size: Integer,
45
+ starting_after: String,
46
+ request_options: Lithic::RequestOptions::OrHash
47
+ ).returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+ # A cursor representing an item's token before which a page of results should end.
51
+ # Used to retrieve the previous page of results before this item.
52
+ ending_before: nil,
53
+ # Page size (for pagination).
54
+ page_size: nil,
55
+ # A cursor representing an item's token after which a page of results should
56
+ # begin. Used to retrieve the next page of results after this item.
57
+ starting_after: nil,
58
+ request_options: {}
59
+ )
60
+ end
61
+
62
+ sig do
63
+ override.returns(
64
+ {
65
+ ending_before: String,
66
+ page_size: Integer,
67
+ starting_after: String,
68
+ request_options: Lithic::RequestOptions
69
+ }
70
+ )
71
+ end
72
+ def to_hash
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,40 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class QueueRetrieveParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::TransactionMonitoring::QueueRetrieveParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :queue_token
20
+
21
+ sig do
22
+ params(
23
+ queue_token: String,
24
+ request_options: Lithic::RequestOptions::OrHash
25
+ ).returns(T.attached_class)
26
+ end
27
+ def self.new(queue_token:, request_options: {})
28
+ end
29
+
30
+ sig do
31
+ override.returns(
32
+ { queue_token: String, request_options: Lithic::RequestOptions }
33
+ )
34
+ end
35
+ def to_hash
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ class QueueUpdateParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ OrHash =
11
+ T.type_alias do
12
+ T.any(
13
+ Lithic::TransactionMonitoring::QueueUpdateParams,
14
+ Lithic::Internal::AnyHash
15
+ )
16
+ end
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :queue_token
20
+
21
+ # New description for the queue, or `null` to clear it
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :description
24
+
25
+ # New name for the queue
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :name
28
+
29
+ sig { params(name: String).void }
30
+ attr_writer :name
31
+
32
+ sig do
33
+ params(
34
+ queue_token: String,
35
+ description: T.nilable(String),
36
+ name: String,
37
+ request_options: Lithic::RequestOptions::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ queue_token:,
42
+ # New description for the queue, or `null` to clear it
43
+ description: nil,
44
+ # New name for the queue
45
+ name: nil,
46
+ request_options: {}
47
+ )
48
+ end
49
+
50
+ sig do
51
+ override.returns(
52
+ {
53
+ queue_token: String,
54
+ description: T.nilable(String),
55
+ name: String,
56
+ request_options: Lithic::RequestOptions
57
+ }
58
+ )
59
+ end
60
+ def to_hash
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end