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,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ # @see Lithic::Resources::TransactionMonitoring::Queues#delete
7
+ class QueueDeleteParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute queue_token
12
+ #
13
+ # @return [String]
14
+ required :queue_token, String
15
+
16
+ # @!method initialize(queue_token:, request_options: {})
17
+ # @param queue_token [String]
18
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ # @see Lithic::Resources::TransactionMonitoring::Queues#list
7
+ class QueueListParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute ending_before
12
+ # A cursor representing an item's token before which a page of results should end.
13
+ # Used to retrieve the previous page of results before this item.
14
+ #
15
+ # @return [String, nil]
16
+ optional :ending_before, String
17
+
18
+ # @!attribute page_size
19
+ # Page size (for pagination).
20
+ #
21
+ # @return [Integer, nil]
22
+ optional :page_size, Integer
23
+
24
+ # @!attribute starting_after
25
+ # A cursor representing an item's token after which a page of results should
26
+ # begin. Used to retrieve the next page of results after this item.
27
+ #
28
+ # @return [String, nil]
29
+ optional :starting_after, String
30
+
31
+ # @!method initialize(ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
32
+ # Some parameter documentations has been truncated, see
33
+ # {Lithic::Models::TransactionMonitoring::QueueListParams} for more details.
34
+ #
35
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
36
+ #
37
+ # @param page_size [Integer] Page size (for pagination).
38
+ #
39
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
40
+ #
41
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ # @see Lithic::Resources::TransactionMonitoring::Queues#retrieve
7
+ class QueueRetrieveParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute queue_token
12
+ #
13
+ # @return [String]
14
+ required :queue_token, String
15
+
16
+ # @!method initialize(queue_token:, request_options: {})
17
+ # @param queue_token [String]
18
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ # @see Lithic::Resources::TransactionMonitoring::Queues#update
7
+ class QueueUpdateParams < Lithic::Internal::Type::BaseModel
8
+ extend Lithic::Internal::Type::RequestParameters::Converter
9
+ include Lithic::Internal::Type::RequestParameters
10
+
11
+ # @!attribute queue_token
12
+ #
13
+ # @return [String]
14
+ required :queue_token, String
15
+
16
+ # @!attribute description
17
+ # New description for the queue, or `null` to clear it
18
+ #
19
+ # @return [String, nil]
20
+ optional :description, String, nil?: true
21
+
22
+ # @!attribute name
23
+ # New name for the queue
24
+ #
25
+ # @return [String, nil]
26
+ optional :name, String
27
+
28
+ # @!method initialize(queue_token:, description: nil, name: nil, request_options: {})
29
+ # @param queue_token [String]
30
+ #
31
+ # @param description [String, nil] New description for the queue, or `null` to clear it
32
+ #
33
+ # @param name [String] New name for the queue
34
+ #
35
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ module TransactionMonitoring
6
+ # Outcome recorded when a case is resolved:
7
+ #
8
+ # - `CONFIRMED_FRAUD` - The reviewed activity was confirmed to be fraudulent
9
+ # - `SUSPICIOUS_ACTIVITY` - The activity is suspicious but not confirmed fraud
10
+ # - `FALSE_POSITIVE` - The activity was legitimate and the alert was a false
11
+ # positive
12
+ # - `NO_ACTION_REQUIRED` - No further action is required
13
+ # - `ESCALATED_EXTERNAL` - The case was escalated to an external party
14
+ module ResolutionOutcome
15
+ extend Lithic::Internal::Type::Enum
16
+
17
+ CONFIRMED_FRAUD = :CONFIRMED_FRAUD
18
+ SUSPICIOUS_ACTIVITY = :SUSPICIOUS_ACTIVITY
19
+ FALSE_POSITIVE = :FALSE_POSITIVE
20
+ NO_ACTION_REQUIRED = :NO_ACTION_REQUIRED
21
+ ESCALATED_EXTERNAL = :ESCALATED_EXTERNAL
22
+
23
+ # @!method self.values
24
+ # @return [Array<Symbol>]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Models
5
+ # @see Lithic::Resources::Transactions#route
6
+ class TransactionRouteParams < Lithic::Internal::Type::BaseModel
7
+ extend Lithic::Internal::Type::RequestParameters::Converter
8
+ include Lithic::Internal::Type::RequestParameters
9
+
10
+ # @!attribute transaction_token
11
+ #
12
+ # @return [String]
13
+ required :transaction_token, String
14
+
15
+ # @!attribute financial_account_token
16
+ # The token of the financial account to route the transaction to.
17
+ #
18
+ # @return [String]
19
+ required :financial_account_token, String
20
+
21
+ # @!method initialize(transaction_token:, financial_account_token:, request_options: {})
22
+ # @param transaction_token [String]
23
+ #
24
+ # @param financial_account_token [String] The token of the financial account to route the transaction to.
25
+ #
26
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
data/lib/lithic/models.rb CHANGED
@@ -574,8 +574,12 @@ module Lithic
574
574
 
575
575
  TransactionListParams = Lithic::Models::TransactionListParams
576
576
 
577
+ TransactionMonitoring = Lithic::Models::TransactionMonitoring
578
+
577
579
  TransactionRetrieveParams = Lithic::Models::TransactionRetrieveParams
578
580
 
581
+ TransactionRouteParams = Lithic::Models::TransactionRouteParams
582
+
579
583
  Transactions = Lithic::Models::Transactions
580
584
 
581
585
  TransactionSimulateAuthorizationAdviceParams =
@@ -31,7 +31,7 @@ module Lithic
31
31
  #
32
32
  # @param phone_number [String] Individual's phone number, entered in E.164 format.
33
33
  #
34
- # @param type [Symbol, Lithic::Models::AccountHolders::EntityCreateParams::Type] The type of entity to create on the account holder
34
+ # @param type [Symbol, Lithic::Models::TransactionMonitoring::EntityType] The type of entity to create on the account holder
35
35
  #
36
36
  # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
37
37
  #
@@ -453,8 +453,8 @@ module Lithic
453
453
 
454
454
  # Get card configuration such as spend limit and state. Customers must be PCI
455
455
  # compliant to use this endpoint. Please contact
456
- # [support@lithic.com](mailto:support@lithic.com) for questions. _Note: this is a
457
- # `POST` endpoint because it is more secure to send sensitive data in a request
456
+ # [support.lithic.com](https://support.lithic.com/) for questions. _Note: this is
457
+ # a `POST` endpoint because it is more secure to send sensitive data in a request
458
458
  # body than in a URL._
459
459
  #
460
460
  # @overload search_by_pan(pan:, request_options: {})
@@ -0,0 +1,111 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class TransactionMonitoring
6
+ class Cases
7
+ class Comments
8
+ # Some parameter documentations has been truncated, see
9
+ # {Lithic::Models::TransactionMonitoring::Cases::CommentCreateParams} for more
10
+ # details.
11
+ #
12
+ # Adds a comment to a case.
13
+ #
14
+ # @overload create(case_token, comment:, actor_token: nil, request_options: {})
15
+ #
16
+ # @param case_token [String] Globally unique identifier for the case.
17
+ #
18
+ # @param comment [String] Text of the comment
19
+ #
20
+ # @param actor_token [String] Optional client-provided identifier for the actor performing this action,
21
+ #
22
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
23
+ #
24
+ # @return [Lithic::Models::TransactionMonitoring::CaseActivityEntry]
25
+ #
26
+ # @see Lithic::Models::TransactionMonitoring::Cases::CommentCreateParams
27
+ def create(case_token, params)
28
+ parsed, options = Lithic::TransactionMonitoring::Cases::CommentCreateParams.dump_request(params)
29
+ @client.request(
30
+ method: :post,
31
+ path: ["v1/transaction_monitoring/cases/%1$s/comments", case_token],
32
+ body: parsed,
33
+ model: Lithic::TransactionMonitoring::CaseActivityEntry,
34
+ options: options
35
+ )
36
+ end
37
+
38
+ # Some parameter documentations has been truncated, see
39
+ # {Lithic::Models::TransactionMonitoring::Cases::CommentUpdateParams} for more
40
+ # details.
41
+ #
42
+ # Edits an existing comment on a case.
43
+ #
44
+ # @overload update(comment_token, case_token:, comment:, actor_token: nil, request_options: {})
45
+ #
46
+ # @param comment_token [String] Path param: Globally unique identifier for the comment.
47
+ #
48
+ # @param case_token [String] Path param: Globally unique identifier for the case.
49
+ #
50
+ # @param comment [String] Body param: New text of the comment
51
+ #
52
+ # @param actor_token [String] Body param: Optional client-provided identifier for the actor performing this ac
53
+ #
54
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
55
+ #
56
+ # @return [Lithic::Models::TransactionMonitoring::CaseActivityEntry]
57
+ #
58
+ # @see Lithic::Models::TransactionMonitoring::Cases::CommentUpdateParams
59
+ def update(comment_token, params)
60
+ parsed, options = Lithic::TransactionMonitoring::Cases::CommentUpdateParams.dump_request(params)
61
+ case_token =
62
+ parsed.delete(:case_token) do
63
+ raise ArgumentError.new("missing required path argument #{_1}")
64
+ end
65
+ @client.request(
66
+ method: :patch,
67
+ path: ["v1/transaction_monitoring/cases/%1$s/comments/%2$s", case_token, comment_token],
68
+ body: parsed,
69
+ model: Lithic::TransactionMonitoring::CaseActivityEntry,
70
+ options: options
71
+ )
72
+ end
73
+
74
+ # Deletes a comment from a case.
75
+ #
76
+ # @overload delete(comment_token, case_token:, request_options: {})
77
+ #
78
+ # @param comment_token [String] Globally unique identifier for the comment.
79
+ #
80
+ # @param case_token [String] Globally unique identifier for the case.
81
+ #
82
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
83
+ #
84
+ # @return [nil]
85
+ #
86
+ # @see Lithic::Models::TransactionMonitoring::Cases::CommentDeleteParams
87
+ def delete(comment_token, params)
88
+ parsed, options = Lithic::TransactionMonitoring::Cases::CommentDeleteParams.dump_request(params)
89
+ case_token =
90
+ parsed.delete(:case_token) do
91
+ raise ArgumentError.new("missing required path argument #{_1}")
92
+ end
93
+ @client.request(
94
+ method: :delete,
95
+ path: ["v1/transaction_monitoring/cases/%1$s/comments/%2$s", case_token, comment_token],
96
+ model: NilClass,
97
+ options: options
98
+ )
99
+ end
100
+
101
+ # @api private
102
+ #
103
+ # @param client [Lithic::Client]
104
+ def initialize(client:)
105
+ @client = client
106
+ end
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,131 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Lithic
4
+ module Resources
5
+ class TransactionMonitoring
6
+ class Cases
7
+ class Files
8
+ # Creates a file record and returns a presigned URL for uploading the file to the
9
+ # case.
10
+ #
11
+ # @overload create(case_token, name:, request_options: {})
12
+ #
13
+ # @param case_token [String] Globally unique identifier for the case.
14
+ #
15
+ # @param name [String] Name of the file to upload
16
+ #
17
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
18
+ #
19
+ # @return [Lithic::Models::TransactionMonitoring::Cases::CaseFile]
20
+ #
21
+ # @see Lithic::Models::TransactionMonitoring::Cases::FileCreateParams
22
+ def create(case_token, params)
23
+ parsed, options = Lithic::TransactionMonitoring::Cases::FileCreateParams.dump_request(params)
24
+ @client.request(
25
+ method: :post,
26
+ path: ["v1/transaction_monitoring/cases/%1$s/files", case_token],
27
+ body: parsed,
28
+ model: Lithic::TransactionMonitoring::Cases::CaseFile,
29
+ options: options
30
+ )
31
+ end
32
+
33
+ # Retrieves a single file attached to a case, including a presigned download URL
34
+ # when the file is ready.
35
+ #
36
+ # @overload retrieve(file_token, case_token:, request_options: {})
37
+ #
38
+ # @param file_token [String] Globally unique identifier for the file.
39
+ #
40
+ # @param case_token [String] Globally unique identifier for the case.
41
+ #
42
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
43
+ #
44
+ # @return [Lithic::Models::TransactionMonitoring::Cases::CaseFile]
45
+ #
46
+ # @see Lithic::Models::TransactionMonitoring::Cases::FileRetrieveParams
47
+ def retrieve(file_token, params)
48
+ parsed, options = Lithic::TransactionMonitoring::Cases::FileRetrieveParams.dump_request(params)
49
+ case_token =
50
+ parsed.delete(:case_token) do
51
+ raise ArgumentError.new("missing required path argument #{_1}")
52
+ end
53
+ @client.request(
54
+ method: :get,
55
+ path: ["v1/transaction_monitoring/cases/%1$s/files/%2$s", case_token, file_token],
56
+ model: Lithic::TransactionMonitoring::Cases::CaseFile,
57
+ options: options
58
+ )
59
+ end
60
+
61
+ # Some parameter documentations has been truncated, see
62
+ # {Lithic::Models::TransactionMonitoring::Cases::FileListParams} for more details.
63
+ #
64
+ # Lists the files attached to a case.
65
+ #
66
+ # @overload list(case_token, ending_before: nil, page_size: nil, starting_after: nil, request_options: {})
67
+ #
68
+ # @param case_token [String] Globally unique identifier for the case.
69
+ #
70
+ # @param ending_before [String] A cursor representing an item's token before which a page of results should end.
71
+ #
72
+ # @param page_size [Integer] Page size (for pagination).
73
+ #
74
+ # @param starting_after [String] A cursor representing an item's token after which a page of results should begin
75
+ #
76
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
77
+ #
78
+ # @return [Lithic::Internal::CursorPage<Lithic::Models::TransactionMonitoring::Cases::CaseFile>]
79
+ #
80
+ # @see Lithic::Models::TransactionMonitoring::Cases::FileListParams
81
+ def list(case_token, params = {})
82
+ parsed, options = Lithic::TransactionMonitoring::Cases::FileListParams.dump_request(params)
83
+ query = Lithic::Internal::Util.encode_query_params(parsed)
84
+ @client.request(
85
+ method: :get,
86
+ path: ["v1/transaction_monitoring/cases/%1$s/files", case_token],
87
+ query: query,
88
+ page: Lithic::Internal::CursorPage,
89
+ model: Lithic::TransactionMonitoring::Cases::CaseFile,
90
+ options: options
91
+ )
92
+ end
93
+
94
+ # Deletes a file from a case.
95
+ #
96
+ # @overload delete(file_token, case_token:, request_options: {})
97
+ #
98
+ # @param file_token [String] Globally unique identifier for the file.
99
+ #
100
+ # @param case_token [String] Globally unique identifier for the case.
101
+ #
102
+ # @param request_options [Lithic::RequestOptions, Hash{Symbol=>Object}, nil]
103
+ #
104
+ # @return [nil]
105
+ #
106
+ # @see Lithic::Models::TransactionMonitoring::Cases::FileDeleteParams
107
+ def delete(file_token, params)
108
+ parsed, options = Lithic::TransactionMonitoring::Cases::FileDeleteParams.dump_request(params)
109
+ case_token =
110
+ parsed.delete(:case_token) do
111
+ raise ArgumentError.new("missing required path argument #{_1}")
112
+ end
113
+ @client.request(
114
+ method: :delete,
115
+ path: ["v1/transaction_monitoring/cases/%1$s/files/%2$s", case_token, file_token],
116
+ model: NilClass,
117
+ options: options
118
+ )
119
+ end
120
+
121
+ # @api private
122
+ #
123
+ # @param client [Lithic::Client]
124
+ def initialize(client:)
125
+ @client = client
126
+ end
127
+ end
128
+ end
129
+ end
130
+ end
131
+ end