pingram 0.1.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 (187) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +54 -0
  4. data/Rakefile +10 -0
  5. data/lib/pingram/api/account_api.rb +506 -0
  6. data/lib/pingram/api/addresses_api.rb +209 -0
  7. data/lib/pingram/api/components_api.rb +396 -0
  8. data/lib/pingram/api/default_api.rb +88 -0
  9. data/lib/pingram/api/domains_api.rb +204 -0
  10. data/lib/pingram/api/editor_api.rb +88 -0
  11. data/lib/pingram/api/environments_api.rb +215 -0
  12. data/lib/pingram/api/health_api.rb +77 -0
  13. data/lib/pingram/api/insights_api.rb +88 -0
  14. data/lib/pingram/api/keys_api.rb +204 -0
  15. data/lib/pingram/api/logs_api.rb +375 -0
  16. data/lib/pingram/api/members_api.rb +433 -0
  17. data/lib/pingram/api/sender_api.rb +221 -0
  18. data/lib/pingram/api/templates_api.rb +479 -0
  19. data/lib/pingram/api/types_api.rb +335 -0
  20. data/lib/pingram/api/user_api.rb +587 -0
  21. data/lib/pingram/api/users_api.rb +228 -0
  22. data/lib/pingram/api_client.rb +397 -0
  23. data/lib/pingram/api_error.rb +58 -0
  24. data/lib/pingram/api_model_base.rb +88 -0
  25. data/lib/pingram/client_wrapper.rb +212 -0
  26. data/lib/pingram/configuration.rb +330 -0
  27. data/lib/pingram/models/account_addresses_response.rb +166 -0
  28. data/lib/pingram/models/account_addresses_response_addresses_inner.rb +301 -0
  29. data/lib/pingram/models/account_get_response.rb +354 -0
  30. data/lib/pingram/models/account_get_response_pending_downgrade_usage_limit.rb +201 -0
  31. data/lib/pingram/models/address_response.rb +164 -0
  32. data/lib/pingram/models/auto_join_get_response.rb +192 -0
  33. data/lib/pingram/models/auto_join_post_response.rb +192 -0
  34. data/lib/pingram/models/auto_join_request_body.rb +166 -0
  35. data/lib/pingram/models/bee_token_v2.rb +190 -0
  36. data/lib/pingram/models/billing_post_request_body.rb +216 -0
  37. data/lib/pingram/models/billing_post_response_body.rb +367 -0
  38. data/lib/pingram/models/billing_post_response_body_pending_downgrade_usage_limit.rb +202 -0
  39. data/lib/pingram/models/channels_enum.rb +45 -0
  40. data/lib/pingram/models/create_account_request_body.rb +164 -0
  41. data/lib/pingram/models/create_account_response.rb +190 -0
  42. data/lib/pingram/models/create_address_request.rb +182 -0
  43. data/lib/pingram/models/create_key_request.rb +227 -0
  44. data/lib/pingram/models/create_key_response.rb +308 -0
  45. data/lib/pingram/models/delete_key_response.rb +165 -0
  46. data/lib/pingram/models/delete_user_response.rb +164 -0
  47. data/lib/pingram/models/email_auth_token_post_request.rb +147 -0
  48. data/lib/pingram/models/email_component_patch_request.rb +174 -0
  49. data/lib/pingram/models/email_component_post_request.rb +217 -0
  50. data/lib/pingram/models/email_component_response.rb +424 -0
  51. data/lib/pingram/models/email_component_response_referenced_by_inner.rb +238 -0
  52. data/lib/pingram/models/environment.rb +270 -0
  53. data/lib/pingram/models/environment_create_request.rb +164 -0
  54. data/lib/pingram/models/environment_patch_request.rb +176 -0
  55. data/lib/pingram/models/get_account_metadata_response.rb +164 -0
  56. data/lib/pingram/models/get_account_metadata_response_user_account_metadata.rb +216 -0
  57. data/lib/pingram/models/get_email_components_response_inner.rb +424 -0
  58. data/lib/pingram/models/get_environments_response_inner.rb +270 -0
  59. data/lib/pingram/models/get_inapp_notifications_response.rb +166 -0
  60. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner.rb +389 -0
  61. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options.rb +206 -0
  62. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_instant.rb +191 -0
  63. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_delivery_options_off.rb +164 -0
  64. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_replies_inner.rb +190 -0
  65. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_template.rb +103 -0
  66. data/lib/pingram/models/get_inapp_notifications_response_notifications_inner_template_any_of.rb +301 -0
  67. data/lib/pingram/models/get_keys_response.rb +168 -0
  68. data/lib/pingram/models/get_keys_response_keys_inner.rb +371 -0
  69. data/lib/pingram/models/get_logs_response.rb +175 -0
  70. data/lib/pingram/models/get_logs_response_messages_inner.rb +419 -0
  71. data/lib/pingram/models/get_logs_response_messages_inner_attachments_inner.rb +225 -0
  72. data/lib/pingram/models/get_members_response_inner.rb +236 -0
  73. data/lib/pingram/models/get_metrics_response_inner.rb +238 -0
  74. data/lib/pingram/models/get_metrics_response_inner_messages_inner.rb +159 -0
  75. data/lib/pingram/models/get_notifications_response_inner.rb +317 -0
  76. data/lib/pingram/models/get_notifications_response_inner_deduplication.rb +164 -0
  77. data/lib/pingram/models/get_notifications_response_inner_options.rb +201 -0
  78. data/lib/pingram/models/get_notifications_response_inner_options_email.rb +242 -0
  79. data/lib/pingram/models/get_notifications_response_inner_options_email_daily.rb +173 -0
  80. data/lib/pingram/models/get_notifications_response_inner_options_email_monthly.rb +216 -0
  81. data/lib/pingram/models/get_notifications_response_inner_options_email_weekly.rb +182 -0
  82. data/lib/pingram/models/get_notifications_response_inner_templates_inner.rb +214 -0
  83. data/lib/pingram/models/get_notifications_response_inner_throttling.rb +294 -0
  84. data/lib/pingram/models/get_senders_response_inner.rb +342 -0
  85. data/lib/pingram/models/get_templates_response.rb +103 -0
  86. data/lib/pingram/models/get_users_response.rb +201 -0
  87. data/lib/pingram/models/get_users_response_users_inner.rb +268 -0
  88. data/lib/pingram/models/get_users_response_users_inner_email_suppression_status.rb +214 -0
  89. data/lib/pingram/models/get_users_response_users_inner_push_tokens_inner.rb +252 -0
  90. data/lib/pingram/models/get_users_response_users_inner_push_tokens_inner_device.rb +209 -0
  91. data/lib/pingram/models/get_users_response_users_inner_slack_token.rb +317 -0
  92. data/lib/pingram/models/get_users_response_users_inner_slack_token_authed_user.rb +192 -0
  93. data/lib/pingram/models/get_users_response_users_inner_slack_token_enterprise.rb +156 -0
  94. data/lib/pingram/models/get_users_response_users_inner_slack_token_incoming_webhook.rb +174 -0
  95. data/lib/pingram/models/get_users_response_users_inner_slack_token_response_metadata.rb +200 -0
  96. data/lib/pingram/models/get_users_response_users_inner_web_push_tokens_inner.rb +164 -0
  97. data/lib/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub.rb +191 -0
  98. data/lib/pingram/models/get_users_response_users_inner_web_push_tokens_inner_sub_keys.rb +190 -0
  99. data/lib/pingram/models/in_app_notification_patch_request.rb +231 -0
  100. data/lib/pingram/models/in_app_notification_unread_clear_request.rb +156 -0
  101. data/lib/pingram/models/inapp_unread_count_response.rb +164 -0
  102. data/lib/pingram/models/inbound_request_body.rb +103 -0
  103. data/lib/pingram/models/inbound_response_body.rb +216 -0
  104. data/lib/pingram/models/inbound_response_body_results_inner.rb +216 -0
  105. data/lib/pingram/models/ingishts_post_request.rb +288 -0
  106. data/lib/pingram/models/ingishts_post_request_label_options.rb +147 -0
  107. data/lib/pingram/models/ingishts_post_request_metric_data_queries_inner.rb +208 -0
  108. data/lib/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat.rb +211 -0
  109. data/lib/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric.rb +171 -0
  110. data/lib/pingram/models/ingishts_post_request_metric_data_queries_inner_metric_stat_metric_dimensions_inner.rb +159 -0
  111. data/lib/pingram/models/intercom_webhook.rb +293 -0
  112. data/lib/pingram/models/intercom_webhook_data.rb +164 -0
  113. data/lib/pingram/models/intercom_webhook_data_item.rb +103 -0
  114. data/lib/pingram/models/intercom_webhook_data_item_any_of.rb +453 -0
  115. data/lib/pingram/models/intercom_webhook_data_item_any_of_contacts.rb +216 -0
  116. data/lib/pingram/models/intercom_webhook_data_item_any_of_contacts_contacts_inner.rb +199 -0
  117. data/lib/pingram/models/intercom_webhook_data_item_any_of_source.rb +260 -0
  118. data/lib/pingram/models/intercom_webhook_data_item_any_of_source_author.rb +208 -0
  119. data/lib/pingram/models/invite_post_response.rb +156 -0
  120. data/lib/pingram/models/log_query_post_body.rb +251 -0
  121. data/lib/pingram/models/logs_bulk_request.rb +167 -0
  122. data/lib/pingram/models/logs_get_response.rb +167 -0
  123. data/lib/pingram/models/logs_get_response_logs_inner.rb +1808 -0
  124. data/lib/pingram/models/logs_query_response.rb +165 -0
  125. data/lib/pingram/models/logs_query_result_response.rb +194 -0
  126. data/lib/pingram/models/logs_retention_response.rb +165 -0
  127. data/lib/pingram/models/logs_tail_response.rb +167 -0
  128. data/lib/pingram/models/member_invite_request.rb +173 -0
  129. data/lib/pingram/models/member_update_request.rb +164 -0
  130. data/lib/pingram/models/message_response.rb +164 -0
  131. data/lib/pingram/models/notification.rb +317 -0
  132. data/lib/pingram/models/notification_create_request.rb +227 -0
  133. data/lib/pingram/models/notification_patch_request.rb +203 -0
  134. data/lib/pingram/models/post_email_test_request.rb +303 -0
  135. data/lib/pingram/models/post_email_test_response.rb +175 -0
  136. data/lib/pingram/models/post_senders_request_body.rb +164 -0
  137. data/lib/pingram/models/post_user_request.rb +215 -0
  138. data/lib/pingram/models/sender_post_body.rb +324 -0
  139. data/lib/pingram/models/sender_post_body_email.rb +217 -0
  140. data/lib/pingram/models/sender_post_body_inapp.rb +182 -0
  141. data/lib/pingram/models/sender_post_body_mobile_push.rb +190 -0
  142. data/lib/pingram/models/sender_post_body_options.rb +165 -0
  143. data/lib/pingram/models/sender_post_body_options_apn.rb +201 -0
  144. data/lib/pingram/models/sender_post_body_options_email.rb +209 -0
  145. data/lib/pingram/models/sender_post_body_options_email_attachments_inner.rb +103 -0
  146. data/lib/pingram/models/sender_post_body_options_email_attachments_inner_any_of.rb +190 -0
  147. data/lib/pingram/models/sender_post_body_options_email_attachments_inner_any_of1.rb +199 -0
  148. data/lib/pingram/models/sender_post_body_options_fcm.rb +147 -0
  149. data/lib/pingram/models/sender_post_body_options_fcm_android.rb +208 -0
  150. data/lib/pingram/models/sender_post_body_slack.rb +299 -0
  151. data/lib/pingram/models/sender_post_body_slack_metadata.rb +173 -0
  152. data/lib/pingram/models/sender_post_body_slack_metadata_entities_inner.rb +257 -0
  153. data/lib/pingram/models/sender_post_body_slack_metadata_entities_inner_external_ref.rb +174 -0
  154. data/lib/pingram/models/sender_post_body_sms.rb +156 -0
  155. data/lib/pingram/models/sender_post_body_sms_auto_reply.rb +164 -0
  156. data/lib/pingram/models/sender_post_body_to.rb +251 -0
  157. data/lib/pingram/models/sender_post_body_user.rb +268 -0
  158. data/lib/pingram/models/sender_post_body_web_push.rb +208 -0
  159. data/lib/pingram/models/sender_post_response.rb +192 -0
  160. data/lib/pingram/models/set_default_template_request.rb +204 -0
  161. data/lib/pingram/models/slack_interactivity_response.rb +165 -0
  162. data/lib/pingram/models/slack_oauth_request.rb +190 -0
  163. data/lib/pingram/models/success_response.rb +164 -0
  164. data/lib/pingram/models/supabase_configure_request.rb +242 -0
  165. data/lib/pingram/models/supabase_configure_response.rb +173 -0
  166. data/lib/pingram/models/supabase_o_auth_request.rb +216 -0
  167. data/lib/pingram/models/supabase_o_auth_response.rb +173 -0
  168. data/lib/pingram/models/supabase_projects_response.rb +166 -0
  169. data/lib/pingram/models/supabase_projects_response_projects_inner.rb +268 -0
  170. data/lib/pingram/models/supabase_status_response.rb +208 -0
  171. data/lib/pingram/models/template.rb +301 -0
  172. data/lib/pingram/models/template_patch_request.rb +104 -0
  173. data/lib/pingram/models/template_patch_request_any_of.rb +199 -0
  174. data/lib/pingram/models/template_patch_request_any_of1.rb +187 -0
  175. data/lib/pingram/models/template_patch_request_any_of1_batch.rb +217 -0
  176. data/lib/pingram/models/template_patch_request_any_of1_instant.rb +184 -0
  177. data/lib/pingram/models/template_post_request.rb +346 -0
  178. data/lib/pingram/models/template_post_request_batch.rb +217 -0
  179. data/lib/pingram/models/template_post_request_instant.rb +183 -0
  180. data/lib/pingram/models/update_address_request.rb +182 -0
  181. data/lib/pingram/models/user.rb +268 -0
  182. data/lib/pingram/models/user_suppression_delete_response.rb +164 -0
  183. data/lib/pingram/models/webhook_response.rb +182 -0
  184. data/lib/pingram/version.rb +15 -0
  185. data/lib/pingram.rb +215 -0
  186. data/pingram.gemspec +38 -0
  187. metadata +270 -0
@@ -0,0 +1,587 @@
1
+ =begin
2
+ #NotificationAPI
3
+
4
+ #Internal API for notification delivery and management
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.19.0
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Pingram
16
+ class UserApi
17
+ attr_accessor :api_client
18
+
19
+ def initialize(api_client = ApiClient.default)
20
+ @api_client = api_client
21
+ end
22
+ # Complete Slack OAuth flow and store access token for user
23
+ # @param user_id [String] User ID
24
+ # @param slack_oauth_request [SlackOauthRequest]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [nil]
27
+ def user_generate_slack_oauth_path(user_id, slack_oauth_request, opts = {})
28
+ user_generate_slack_oauth_path_with_http_info(user_id, slack_oauth_request, opts)
29
+ nil
30
+ end
31
+
32
+ # Complete Slack OAuth flow and store access token for user
33
+ # @param user_id [String] User ID
34
+ # @param slack_oauth_request [SlackOauthRequest]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
37
+ def user_generate_slack_oauth_path_with_http_info(user_id, slack_oauth_request, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: UserApi.user_generate_slack_oauth_path ...'
40
+ end
41
+ # verify the required parameter 'user_id' is set
42
+ if @api_client.config.client_side_validation && user_id.nil?
43
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.user_generate_slack_oauth_path"
44
+ end
45
+ # verify the required parameter 'slack_oauth_request' is set
46
+ if @api_client.config.client_side_validation && slack_oauth_request.nil?
47
+ fail ArgumentError, "Missing the required parameter 'slack_oauth_request' when calling UserApi.user_generate_slack_oauth_path"
48
+ end
49
+ # resource path
50
+ local_var_path = '/users/{userId}/slack-oauth'.sub('{' + 'userId' + '}', CGI.escape(user_id.to_s))
51
+
52
+ # query parameters
53
+ query_params = opts[:query_params] || {}
54
+
55
+ # header parameters
56
+ header_params = opts[:header_params] || {}
57
+ # HTTP header 'Content-Type'
58
+ content_type = @api_client.select_header_content_type(['application/json'])
59
+ if !content_type.nil?
60
+ header_params['Content-Type'] = content_type
61
+ end
62
+
63
+ # form parameters
64
+ form_params = opts[:form_params] || {}
65
+
66
+ # http body (model)
67
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(slack_oauth_request)
68
+
69
+ # return_type
70
+ return_type = opts[:debug_return_type]
71
+
72
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
73
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
74
+
75
+ new_options = opts.merge(
76
+ :operation => :"UserApi.user_generate_slack_oauth_path",
77
+ :header_params => header_params,
78
+ :query_params => query_params,
79
+ :form_params => form_params,
80
+ :body => post_body,
81
+ :auth_names => auth_names,
82
+ :return_type => return_type
83
+ )
84
+
85
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
86
+ if @api_client.config.debugging
87
+ @api_client.config.logger.debug "API called: UserApi#user_generate_slack_oauth_path\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
88
+ end
89
+ return data, status_code, headers
90
+ end
91
+
92
+ # Get account-level metadata including logo, VAPID key, and web push status
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [GetAccountMetadataResponse]
95
+ def user_get_account_metadata(opts = {})
96
+ data, _status_code, _headers = user_get_account_metadata_with_http_info(opts)
97
+ data
98
+ end
99
+
100
+ # Get account-level metadata including logo, VAPID key, and web push status
101
+ # @param [Hash] opts the optional parameters
102
+ # @return [Array<(GetAccountMetadataResponse, Integer, Hash)>] GetAccountMetadataResponse data, response status code and response headers
103
+ def user_get_account_metadata_with_http_info(opts = {})
104
+ if @api_client.config.debugging
105
+ @api_client.config.logger.debug 'Calling API: UserApi.user_get_account_metadata ...'
106
+ end
107
+ # resource path
108
+ local_var_path = '/users/account-metadata'
109
+
110
+ # query parameters
111
+ query_params = opts[:query_params] || {}
112
+
113
+ # header parameters
114
+ header_params = opts[:header_params] || {}
115
+ # HTTP header 'Accept' (if needed)
116
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
117
+
118
+ # form parameters
119
+ form_params = opts[:form_params] || {}
120
+
121
+ # http body (model)
122
+ post_body = opts[:debug_body]
123
+
124
+ # return_type
125
+ return_type = opts[:debug_return_type] || 'GetAccountMetadataResponse'
126
+
127
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
128
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
129
+
130
+ new_options = opts.merge(
131
+ :operation => :"UserApi.user_get_account_metadata",
132
+ :header_params => header_params,
133
+ :query_params => query_params,
134
+ :form_params => form_params,
135
+ :body => post_body,
136
+ :auth_names => auth_names,
137
+ :return_type => return_type
138
+ )
139
+
140
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
141
+ if @api_client.config.debugging
142
+ @api_client.config.logger.debug "API called: UserApi#user_get_account_metadata\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
143
+ end
144
+ return data, status_code, headers
145
+ end
146
+
147
+ # Get list of Slack channels and users for the authenticated user
148
+ # @param user_id [String] User ID
149
+ # @param [Hash] opts the optional parameters
150
+ # @return [nil]
151
+ def user_get_available_slack_channels(user_id, opts = {})
152
+ user_get_available_slack_channels_with_http_info(user_id, opts)
153
+ nil
154
+ end
155
+
156
+ # Get list of Slack channels and users for the authenticated user
157
+ # @param user_id [String] User ID
158
+ # @param [Hash] opts the optional parameters
159
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
160
+ def user_get_available_slack_channels_with_http_info(user_id, opts = {})
161
+ if @api_client.config.debugging
162
+ @api_client.config.logger.debug 'Calling API: UserApi.user_get_available_slack_channels ...'
163
+ end
164
+ # verify the required parameter 'user_id' is set
165
+ if @api_client.config.client_side_validation && user_id.nil?
166
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.user_get_available_slack_channels"
167
+ end
168
+ # resource path
169
+ local_var_path = '/users/{userId}/slack-channels'.sub('{' + 'userId' + '}', CGI.escape(user_id.to_s))
170
+
171
+ # query parameters
172
+ query_params = opts[:query_params] || {}
173
+
174
+ # header parameters
175
+ header_params = opts[:header_params] || {}
176
+
177
+ # form parameters
178
+ form_params = opts[:form_params] || {}
179
+
180
+ # http body (model)
181
+ post_body = opts[:debug_body]
182
+
183
+ # return_type
184
+ return_type = opts[:debug_return_type]
185
+
186
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
187
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
188
+
189
+ new_options = opts.merge(
190
+ :operation => :"UserApi.user_get_available_slack_channels",
191
+ :header_params => header_params,
192
+ :query_params => query_params,
193
+ :form_params => form_params,
194
+ :body => post_body,
195
+ :auth_names => auth_names,
196
+ :return_type => return_type
197
+ )
198
+
199
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
200
+ if @api_client.config.debugging
201
+ @api_client.config.logger.debug "API called: UserApi#user_get_available_slack_channels\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
202
+ end
203
+ return data, status_code, headers
204
+ end
205
+
206
+ # Get in-app notifications for a user
207
+ # @param [Hash] opts the optional parameters
208
+ # @option opts [String] :before Timestamp or ISO date to fetch notifications before
209
+ # @option opts [Float] :count Number of notifications to return (default 10)
210
+ # @return [GetInappNotificationsResponse]
211
+ def user_get_in_app_notifications(opts = {})
212
+ data, _status_code, _headers = user_get_in_app_notifications_with_http_info(opts)
213
+ data
214
+ end
215
+
216
+ # Get in-app notifications for a user
217
+ # @param [Hash] opts the optional parameters
218
+ # @option opts [String] :before Timestamp or ISO date to fetch notifications before
219
+ # @option opts [Float] :count Number of notifications to return (default 10)
220
+ # @return [Array<(GetInappNotificationsResponse, Integer, Hash)>] GetInappNotificationsResponse data, response status code and response headers
221
+ def user_get_in_app_notifications_with_http_info(opts = {})
222
+ if @api_client.config.debugging
223
+ @api_client.config.logger.debug 'Calling API: UserApi.user_get_in_app_notifications ...'
224
+ end
225
+ # resource path
226
+ local_var_path = '/user/inapp'
227
+
228
+ # query parameters
229
+ query_params = opts[:query_params] || {}
230
+ query_params[:'before'] = opts[:'before'] if !opts[:'before'].nil?
231
+ query_params[:'count'] = opts[:'count'] if !opts[:'count'].nil?
232
+
233
+ # header parameters
234
+ header_params = opts[:header_params] || {}
235
+ # HTTP header 'Accept' (if needed)
236
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
237
+
238
+ # form parameters
239
+ form_params = opts[:form_params] || {}
240
+
241
+ # http body (model)
242
+ post_body = opts[:debug_body]
243
+
244
+ # return_type
245
+ return_type = opts[:debug_return_type] || 'GetInappNotificationsResponse'
246
+
247
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
248
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
249
+
250
+ new_options = opts.merge(
251
+ :operation => :"UserApi.user_get_in_app_notifications",
252
+ :header_params => header_params,
253
+ :query_params => query_params,
254
+ :form_params => form_params,
255
+ :body => post_body,
256
+ :auth_names => auth_names,
257
+ :return_type => return_type
258
+ )
259
+
260
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
261
+ if @api_client.config.debugging
262
+ @api_client.config.logger.debug "API called: UserApi#user_get_in_app_notifications\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
263
+ end
264
+ return data, status_code, headers
265
+ end
266
+
267
+ # Get the count of unread in-app notifications for a user
268
+ # @param [Hash] opts the optional parameters
269
+ # @return [InappUnreadCountResponse]
270
+ def user_get_in_app_unread_count(opts = {})
271
+ data, _status_code, _headers = user_get_in_app_unread_count_with_http_info(opts)
272
+ data
273
+ end
274
+
275
+ # Get the count of unread in-app notifications for a user
276
+ # @param [Hash] opts the optional parameters
277
+ # @return [Array<(InappUnreadCountResponse, Integer, Hash)>] InappUnreadCountResponse data, response status code and response headers
278
+ def user_get_in_app_unread_count_with_http_info(opts = {})
279
+ if @api_client.config.debugging
280
+ @api_client.config.logger.debug 'Calling API: UserApi.user_get_in_app_unread_count ...'
281
+ end
282
+ # resource path
283
+ local_var_path = '/user/inapp/unread'
284
+
285
+ # query parameters
286
+ query_params = opts[:query_params] || {}
287
+
288
+ # header parameters
289
+ header_params = opts[:header_params] || {}
290
+ # HTTP header 'Accept' (if needed)
291
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
292
+
293
+ # form parameters
294
+ form_params = opts[:form_params] || {}
295
+
296
+ # http body (model)
297
+ post_body = opts[:debug_body]
298
+
299
+ # return_type
300
+ return_type = opts[:debug_return_type] || 'InappUnreadCountResponse'
301
+
302
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
303
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
304
+
305
+ new_options = opts.merge(
306
+ :operation => :"UserApi.user_get_in_app_unread_count",
307
+ :header_params => header_params,
308
+ :query_params => query_params,
309
+ :form_params => form_params,
310
+ :body => post_body,
311
+ :auth_names => auth_names,
312
+ :return_type => return_type
313
+ )
314
+
315
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
316
+ if @api_client.config.debugging
317
+ @api_client.config.logger.debug "API called: UserApi#user_get_in_app_unread_count\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
318
+ end
319
+ return data, status_code, headers
320
+ end
321
+
322
+ # Get a user by ID. All users exist implicitly, returns basic user object if not found in DB.
323
+ # @param user_id [String] User ID
324
+ # @param [Hash] opts the optional parameters
325
+ # @return [User]
326
+ def user_get_user(user_id, opts = {})
327
+ data, _status_code, _headers = user_get_user_with_http_info(user_id, opts)
328
+ data
329
+ end
330
+
331
+ # Get a user by ID. All users exist implicitly, returns basic user object if not found in DB.
332
+ # @param user_id [String] User ID
333
+ # @param [Hash] opts the optional parameters
334
+ # @return [Array<(User, Integer, Hash)>] User data, response status code and response headers
335
+ def user_get_user_with_http_info(user_id, opts = {})
336
+ if @api_client.config.debugging
337
+ @api_client.config.logger.debug 'Calling API: UserApi.user_get_user ...'
338
+ end
339
+ # verify the required parameter 'user_id' is set
340
+ if @api_client.config.client_side_validation && user_id.nil?
341
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.user_get_user"
342
+ end
343
+ # resource path
344
+ local_var_path = '/users/{userId}'.sub('{' + 'userId' + '}', CGI.escape(user_id.to_s))
345
+
346
+ # query parameters
347
+ query_params = opts[:query_params] || {}
348
+
349
+ # header parameters
350
+ header_params = opts[:header_params] || {}
351
+ # HTTP header 'Accept' (if needed)
352
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
353
+
354
+ # form parameters
355
+ form_params = opts[:form_params] || {}
356
+
357
+ # http body (model)
358
+ post_body = opts[:debug_body]
359
+
360
+ # return_type
361
+ return_type = opts[:debug_return_type] || 'User'
362
+
363
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
364
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
365
+
366
+ new_options = opts.merge(
367
+ :operation => :"UserApi.user_get_user",
368
+ :header_params => header_params,
369
+ :query_params => query_params,
370
+ :form_params => form_params,
371
+ :body => post_body,
372
+ :auth_names => auth_names,
373
+ :return_type => return_type
374
+ )
375
+
376
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
377
+ if @api_client.config.debugging
378
+ @api_client.config.logger.debug "API called: UserApi#user_get_user\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
379
+ end
380
+ return data, status_code, headers
381
+ end
382
+
383
+ # Create or update a user with the given ID. Updates lastSeenTime automatically.
384
+ # @param user_id [String] User ID
385
+ # @param post_user_request [PostUserRequest]
386
+ # @param [Hash] opts the optional parameters
387
+ # @return [User]
388
+ def user_identify(user_id, post_user_request, opts = {})
389
+ data, _status_code, _headers = user_identify_with_http_info(user_id, post_user_request, opts)
390
+ data
391
+ end
392
+
393
+ # Create or update a user with the given ID. Updates lastSeenTime automatically.
394
+ # @param user_id [String] User ID
395
+ # @param post_user_request [PostUserRequest]
396
+ # @param [Hash] opts the optional parameters
397
+ # @return [Array<(User, Integer, Hash)>] User data, response status code and response headers
398
+ def user_identify_with_http_info(user_id, post_user_request, opts = {})
399
+ if @api_client.config.debugging
400
+ @api_client.config.logger.debug 'Calling API: UserApi.user_identify ...'
401
+ end
402
+ # verify the required parameter 'user_id' is set
403
+ if @api_client.config.client_side_validation && user_id.nil?
404
+ fail ArgumentError, "Missing the required parameter 'user_id' when calling UserApi.user_identify"
405
+ end
406
+ # verify the required parameter 'post_user_request' is set
407
+ if @api_client.config.client_side_validation && post_user_request.nil?
408
+ fail ArgumentError, "Missing the required parameter 'post_user_request' when calling UserApi.user_identify"
409
+ end
410
+ # resource path
411
+ local_var_path = '/users/{userId}'.sub('{' + 'userId' + '}', CGI.escape(user_id.to_s))
412
+
413
+ # query parameters
414
+ query_params = opts[:query_params] || {}
415
+
416
+ # header parameters
417
+ header_params = opts[:header_params] || {}
418
+ # HTTP header 'Accept' (if needed)
419
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
420
+ # HTTP header 'Content-Type'
421
+ content_type = @api_client.select_header_content_type(['application/json'])
422
+ if !content_type.nil?
423
+ header_params['Content-Type'] = content_type
424
+ end
425
+
426
+ # form parameters
427
+ form_params = opts[:form_params] || {}
428
+
429
+ # http body (model)
430
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(post_user_request)
431
+
432
+ # return_type
433
+ return_type = opts[:debug_return_type] || 'User'
434
+
435
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
436
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
437
+
438
+ new_options = opts.merge(
439
+ :operation => :"UserApi.user_identify",
440
+ :header_params => header_params,
441
+ :query_params => query_params,
442
+ :form_params => form_params,
443
+ :body => post_body,
444
+ :auth_names => auth_names,
445
+ :return_type => return_type
446
+ )
447
+
448
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
449
+ if @api_client.config.debugging
450
+ @api_client.config.logger.debug "API called: UserApi#user_identify\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
451
+ end
452
+ return data, status_code, headers
453
+ end
454
+
455
+ # Mark in-app web notifications as seen/read for a user
456
+ # @param in_app_notification_unread_clear_request [InAppNotificationUnreadClearRequest]
457
+ # @param [Hash] opts the optional parameters
458
+ # @return [SuccessResponse]
459
+ def user_mark_in_app_notifications_as_seen(in_app_notification_unread_clear_request, opts = {})
460
+ data, _status_code, _headers = user_mark_in_app_notifications_as_seen_with_http_info(in_app_notification_unread_clear_request, opts)
461
+ data
462
+ end
463
+
464
+ # Mark in-app web notifications as seen/read for a user
465
+ # @param in_app_notification_unread_clear_request [InAppNotificationUnreadClearRequest]
466
+ # @param [Hash] opts the optional parameters
467
+ # @return [Array<(SuccessResponse, Integer, Hash)>] SuccessResponse data, response status code and response headers
468
+ def user_mark_in_app_notifications_as_seen_with_http_info(in_app_notification_unread_clear_request, opts = {})
469
+ if @api_client.config.debugging
470
+ @api_client.config.logger.debug 'Calling API: UserApi.user_mark_in_app_notifications_as_seen ...'
471
+ end
472
+ # verify the required parameter 'in_app_notification_unread_clear_request' is set
473
+ if @api_client.config.client_side_validation && in_app_notification_unread_clear_request.nil?
474
+ fail ArgumentError, "Missing the required parameter 'in_app_notification_unread_clear_request' when calling UserApi.user_mark_in_app_notifications_as_seen"
475
+ end
476
+ # resource path
477
+ local_var_path = '/user/inapp/unread'
478
+
479
+ # query parameters
480
+ query_params = opts[:query_params] || {}
481
+
482
+ # header parameters
483
+ header_params = opts[:header_params] || {}
484
+ # HTTP header 'Accept' (if needed)
485
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
486
+ # HTTP header 'Content-Type'
487
+ content_type = @api_client.select_header_content_type(['application/json'])
488
+ if !content_type.nil?
489
+ header_params['Content-Type'] = content_type
490
+ end
491
+
492
+ # form parameters
493
+ form_params = opts[:form_params] || {}
494
+
495
+ # http body (model)
496
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(in_app_notification_unread_clear_request)
497
+
498
+ # return_type
499
+ return_type = opts[:debug_return_type] || 'SuccessResponse'
500
+
501
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
502
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
503
+
504
+ new_options = opts.merge(
505
+ :operation => :"UserApi.user_mark_in_app_notifications_as_seen",
506
+ :header_params => header_params,
507
+ :query_params => query_params,
508
+ :form_params => form_params,
509
+ :body => post_body,
510
+ :auth_names => auth_names,
511
+ :return_type => return_type
512
+ )
513
+
514
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
515
+ if @api_client.config.debugging
516
+ @api_client.config.logger.debug "API called: UserApi#user_mark_in_app_notifications_as_seen\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
517
+ end
518
+ return data, status_code, headers
519
+ end
520
+
521
+ # Update in-app web notification status (opened, archived, clicked, etc.)
522
+ # @param in_app_notification_patch_request [InAppNotificationPatchRequest]
523
+ # @param [Hash] opts the optional parameters
524
+ # @return [SuccessResponse]
525
+ def user_update_in_app_notification_status(in_app_notification_patch_request, opts = {})
526
+ data, _status_code, _headers = user_update_in_app_notification_status_with_http_info(in_app_notification_patch_request, opts)
527
+ data
528
+ end
529
+
530
+ # Update in-app web notification status (opened, archived, clicked, etc.)
531
+ # @param in_app_notification_patch_request [InAppNotificationPatchRequest]
532
+ # @param [Hash] opts the optional parameters
533
+ # @return [Array<(SuccessResponse, Integer, Hash)>] SuccessResponse data, response status code and response headers
534
+ def user_update_in_app_notification_status_with_http_info(in_app_notification_patch_request, opts = {})
535
+ if @api_client.config.debugging
536
+ @api_client.config.logger.debug 'Calling API: UserApi.user_update_in_app_notification_status ...'
537
+ end
538
+ # verify the required parameter 'in_app_notification_patch_request' is set
539
+ if @api_client.config.client_side_validation && in_app_notification_patch_request.nil?
540
+ fail ArgumentError, "Missing the required parameter 'in_app_notification_patch_request' when calling UserApi.user_update_in_app_notification_status"
541
+ end
542
+ # resource path
543
+ local_var_path = '/user/inapp'
544
+
545
+ # query parameters
546
+ query_params = opts[:query_params] || {}
547
+
548
+ # header parameters
549
+ header_params = opts[:header_params] || {}
550
+ # HTTP header 'Accept' (if needed)
551
+ header_params['Accept'] = @api_client.select_header_accept(['application/json']) unless header_params['Accept']
552
+ # HTTP header 'Content-Type'
553
+ content_type = @api_client.select_header_content_type(['application/json'])
554
+ if !content_type.nil?
555
+ header_params['Content-Type'] = content_type
556
+ end
557
+
558
+ # form parameters
559
+ form_params = opts[:form_params] || {}
560
+
561
+ # http body (model)
562
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(in_app_notification_patch_request)
563
+
564
+ # return_type
565
+ return_type = opts[:debug_return_type] || 'SuccessResponse'
566
+
567
+ # auth_names (apiKey last so Bearer wins when multiple schemes set Authorization)
568
+ auth_names = opts[:debug_auth_names] || ['endUserHashed', 'endUser', 'clientCredentials', 'apiKey']
569
+
570
+ new_options = opts.merge(
571
+ :operation => :"UserApi.user_update_in_app_notification_status",
572
+ :header_params => header_params,
573
+ :query_params => query_params,
574
+ :form_params => form_params,
575
+ :body => post_body,
576
+ :auth_names => auth_names,
577
+ :return_type => return_type
578
+ )
579
+
580
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
581
+ if @api_client.config.debugging
582
+ @api_client.config.logger.debug "API called: UserApi#user_update_in_app_notification_status\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
583
+ end
584
+ return data, status_code, headers
585
+ end
586
+ end
587
+ end