hubspot-api-client 3.2.0 → 7.0.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 (319) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +27 -0
  3. data/lib/hubspot-api-client.rb +70 -0
  4. data/lib/hubspot/codegen/cms/audit-logs/api/default_api.rb +106 -0
  5. data/lib/hubspot/codegen/cms/audit-logs/api_client.rb +422 -0
  6. data/lib/hubspot/codegen/cms/audit-logs/api_error.rb +61 -0
  7. data/lib/hubspot/codegen/cms/audit-logs/configuration.rb +258 -0
  8. data/lib/hubspot/codegen/cms/audit-logs/models/collection_response_public_audit_log.rb +226 -0
  9. data/lib/hubspot/codegen/cms/audit-logs/models/error.rb +292 -0
  10. data/lib/hubspot/codegen/cms/audit-logs/models/error_detail.rb +258 -0
  11. data/lib/hubspot/codegen/cms/audit-logs/models/next_page.rb +224 -0
  12. data/lib/hubspot/codegen/cms/audit-logs/models/paging.rb +210 -0
  13. data/lib/hubspot/codegen/cms/audit-logs/models/public_audit_log.rb +352 -0
  14. data/lib/hubspot/codegen/cms/domains/api/domains_api.rb +183 -0
  15. data/lib/hubspot/codegen/cms/domains/api_client.rb +422 -0
  16. data/lib/hubspot/codegen/cms/domains/api_error.rb +61 -0
  17. data/lib/hubspot/codegen/cms/domains/configuration.rb +258 -0
  18. data/lib/hubspot/codegen/cms/domains/models/collection_response_with_total_domain.rb +240 -0
  19. data/lib/hubspot/codegen/cms/domains/models/domain.rb +1091 -0
  20. data/lib/hubspot/codegen/cms/domains/models/domain_cdn_config.rb +497 -0
  21. data/lib/hubspot/codegen/cms/domains/models/domain_setup_info.rb +231 -0
  22. data/lib/hubspot/codegen/cms/domains/models/error.rb +292 -0
  23. data/lib/hubspot/codegen/cms/domains/models/error_detail.rb +258 -0
  24. data/lib/hubspot/codegen/cms/domains/models/next_page.rb +224 -0
  25. data/lib/hubspot/codegen/cms/domains/models/paging.rb +210 -0
  26. data/lib/hubspot/codegen/cms/performance/api/default_api.rb +186 -0
  27. data/lib/hubspot/codegen/cms/performance/api_client.rb +422 -0
  28. data/lib/hubspot/codegen/cms/performance/api_error.rb +61 -0
  29. data/lib/hubspot/codegen/cms/performance/configuration.rb +251 -0
  30. data/lib/hubspot/codegen/cms/performance/models/error.rb +292 -0
  31. data/lib/hubspot/codegen/cms/performance/models/error_detail.rb +258 -0
  32. data/lib/hubspot/codegen/cms/performance/models/performance_view.rb +528 -0
  33. data/lib/hubspot/codegen/cms/performance/models/public_performance_response.rb +332 -0
  34. data/lib/hubspot/codegen/cms/site-search/api/default_api.rb +225 -0
  35. data/lib/hubspot/codegen/cms/site-search/api_client.rb +422 -0
  36. data/lib/hubspot/codegen/cms/site-search/api_error.rb +61 -0
  37. data/lib/hubspot/codegen/cms/site-search/configuration.rb +258 -0
  38. data/lib/hubspot/codegen/cms/site-search/models/content_search_result.rb +427 -0
  39. data/lib/hubspot/codegen/cms/site-search/models/error.rb +292 -0
  40. data/lib/hubspot/codegen/cms/site-search/models/error_detail.rb +258 -0
  41. data/lib/hubspot/codegen/cms/site-search/models/indexed_data.rb +279 -0
  42. data/lib/hubspot/codegen/cms/site-search/models/public_search_results.rb +282 -0
  43. data/lib/hubspot/codegen/cms/site-search/models/search_hit_field.rb +259 -0
  44. data/lib/hubspot/codegen/cms/url-redirects/api/redirects_api.rb +368 -0
  45. data/lib/hubspot/codegen/cms/url-redirects/api_client.rb +422 -0
  46. data/lib/hubspot/codegen/cms/url-redirects/api_error.rb +61 -0
  47. data/lib/hubspot/codegen/cms/url-redirects/configuration.rb +258 -0
  48. data/lib/hubspot/codegen/cms/url-redirects/models/collection_response_with_total_url_mapping.rb +242 -0
  49. data/lib/hubspot/codegen/cms/url-redirects/models/error.rb +292 -0
  50. data/lib/hubspot/codegen/cms/url-redirects/models/error_detail.rb +258 -0
  51. data/lib/hubspot/codegen/cms/url-redirects/models/next_page.rb +224 -0
  52. data/lib/hubspot/codegen/cms/url-redirects/models/paging.rb +210 -0
  53. data/lib/hubspot/codegen/cms/url-redirects/models/url_mapping.rb +596 -0
  54. data/lib/hubspot/codegen/cms/url-redirects/models/url_mapping_create_request_body.rb +306 -0
  55. data/lib/hubspot/codegen/crm/companies/api/associations_api.rb +2 -2
  56. data/lib/hubspot/codegen/crm/companies/api/basic_api.rb +20 -12
  57. data/lib/hubspot/codegen/crm/companies/api/batch_api.rb +40 -24
  58. data/lib/hubspot/codegen/crm/companies/api/search_api.rb +10 -6
  59. data/lib/hubspot/codegen/crm/companies/models/batch_read_input_simple_public_object_id.rb +20 -20
  60. data/lib/hubspot/codegen/crm/companies/models/batch_response_simple_public_object.rb +29 -38
  61. data/lib/hubspot/codegen/crm/companies/models/batch_response_simple_public_object_with_errors.rb +333 -0
  62. data/lib/hubspot/codegen/crm/companies/models/filter.rb +15 -15
  63. data/lib/hubspot/codegen/crm/companies/models/simple_public_object_batch_input.rb +18 -18
  64. data/lib/hubspot/codegen/crm/contacts/api/associations_api.rb +2 -2
  65. data/lib/hubspot/codegen/crm/contacts/api/basic_api.rb +20 -12
  66. data/lib/hubspot/codegen/crm/contacts/api/batch_api.rb +40 -24
  67. data/lib/hubspot/codegen/crm/contacts/api/search_api.rb +10 -6
  68. data/lib/hubspot/codegen/crm/contacts/models/batch_read_input_simple_public_object_id.rb +20 -20
  69. data/lib/hubspot/codegen/crm/contacts/models/batch_response_simple_public_object.rb +29 -38
  70. data/lib/hubspot/codegen/crm/contacts/models/batch_response_simple_public_object_with_errors.rb +333 -0
  71. data/lib/hubspot/codegen/crm/contacts/models/filter.rb +15 -15
  72. data/lib/hubspot/codegen/crm/contacts/models/simple_public_object_batch_input.rb +18 -18
  73. data/lib/hubspot/codegen/crm/deals/api/associations_api.rb +2 -2
  74. data/lib/hubspot/codegen/crm/deals/api/basic_api.rb +20 -12
  75. data/lib/hubspot/codegen/crm/deals/api/batch_api.rb +40 -24
  76. data/lib/hubspot/codegen/crm/deals/api/search_api.rb +10 -6
  77. data/lib/hubspot/codegen/crm/deals/models/batch_read_input_simple_public_object_id.rb +20 -20
  78. data/lib/hubspot/codegen/crm/deals/models/batch_response_simple_public_object.rb +29 -38
  79. data/lib/hubspot/codegen/crm/deals/models/batch_response_simple_public_object_with_errors.rb +333 -0
  80. data/lib/hubspot/codegen/crm/deals/models/filter.rb +15 -15
  81. data/lib/hubspot/codegen/crm/deals/models/simple_public_object_batch_input.rb +18 -18
  82. data/lib/hubspot/codegen/crm/extensions/cards/configuration.rb +0 -7
  83. data/lib/hubspot/codegen/crm/line_items/api/associations_api.rb +2 -2
  84. data/lib/hubspot/codegen/crm/line_items/api/basic_api.rb +20 -12
  85. data/lib/hubspot/codegen/crm/line_items/api/batch_api.rb +40 -24
  86. data/lib/hubspot/codegen/crm/line_items/api/search_api.rb +10 -6
  87. data/lib/hubspot/codegen/crm/line_items/models/batch_read_input_simple_public_object_id.rb +20 -20
  88. data/lib/hubspot/codegen/crm/line_items/models/batch_response_simple_public_object.rb +29 -38
  89. data/lib/hubspot/codegen/crm/line_items/models/batch_response_simple_public_object_with_errors.rb +333 -0
  90. data/lib/hubspot/codegen/crm/line_items/models/filter.rb +15 -15
  91. data/lib/hubspot/codegen/crm/line_items/models/simple_public_object_batch_input.rb +18 -18
  92. data/lib/hubspot/codegen/crm/owners/api/default_api.rb +0 -2
  93. data/lib/hubspot/codegen/crm/products/api/associations_api.rb +2 -2
  94. data/lib/hubspot/codegen/crm/products/api/basic_api.rb +20 -12
  95. data/lib/hubspot/codegen/crm/products/api/batch_api.rb +40 -24
  96. data/lib/hubspot/codegen/crm/products/api/search_api.rb +10 -6
  97. data/lib/hubspot/codegen/crm/products/models/batch_read_input_simple_public_object_id.rb +20 -20
  98. data/lib/hubspot/codegen/crm/products/models/batch_response_simple_public_object.rb +29 -38
  99. data/lib/hubspot/codegen/crm/products/models/batch_response_simple_public_object_with_errors.rb +333 -0
  100. data/lib/hubspot/codegen/crm/products/models/filter.rb +15 -15
  101. data/lib/hubspot/codegen/crm/products/models/simple_public_object_batch_input.rb +18 -18
  102. data/lib/hubspot/codegen/crm/properties/api/batch_api.rb +30 -18
  103. data/lib/hubspot/codegen/crm/properties/api/core_api.rb +20 -12
  104. data/lib/hubspot/codegen/crm/properties/api/groups_api.rb +20 -12
  105. data/lib/hubspot/codegen/crm/properties/models/batch_read_input_property_name.rb +18 -18
  106. data/lib/hubspot/codegen/crm/properties/models/batch_response_property.rb +29 -23
  107. data/lib/hubspot/codegen/crm/properties/models/property_create.rb +14 -4
  108. data/lib/hubspot/codegen/crm/properties/models/property_update.rb +14 -4
  109. data/lib/hubspot/codegen/crm/quotes/api/associations_api.rb +1 -157
  110. data/lib/hubspot/codegen/crm/quotes/api/basic_api.rb +2 -190
  111. data/lib/hubspot/codegen/crm/quotes/api/batch_api.rb +11 -187
  112. data/lib/hubspot/codegen/crm/quotes/api/default_api.rb +426 -0
  113. data/lib/hubspot/codegen/crm/quotes/api/search_api.rb +11 -7
  114. data/lib/hubspot/codegen/crm/quotes/models/batch_read_input_simple_public_object_id.rb +20 -20
  115. data/lib/hubspot/codegen/crm/quotes/models/batch_response_simple_public_object.rb +29 -38
  116. data/lib/hubspot/codegen/crm/quotes/models/batch_response_simple_public_object_with_errors.rb +333 -0
  117. data/lib/hubspot/codegen/crm/quotes/models/filter.rb +15 -15
  118. data/lib/hubspot/codegen/crm/quotes/models/simple_public_object_batch_input.rb +18 -18
  119. data/lib/hubspot/codegen/crm/tickets/api/associations_api.rb +2 -2
  120. data/lib/hubspot/codegen/crm/tickets/api/basic_api.rb +20 -12
  121. data/lib/hubspot/codegen/crm/tickets/api/batch_api.rb +40 -24
  122. data/lib/hubspot/codegen/crm/tickets/api/search_api.rb +10 -6
  123. data/lib/hubspot/codegen/crm/tickets/models/batch_read_input_simple_public_object_id.rb +20 -20
  124. data/lib/hubspot/codegen/crm/tickets/models/batch_response_simple_public_object.rb +29 -38
  125. data/lib/hubspot/codegen/crm/tickets/models/batch_response_simple_public_object_with_errors.rb +333 -0
  126. data/lib/hubspot/codegen/crm/tickets/models/filter.rb +15 -15
  127. data/lib/hubspot/codegen/crm/tickets/models/simple_public_object_batch_input.rb +18 -18
  128. data/lib/hubspot/codegen/oauth/configuration.rb +0 -14
  129. data/lib/hubspot/codegen/webhooks/api/subscriptions_api.rb +16 -12
  130. data/lib/hubspot/codegen/webhooks/configuration.rb +0 -7
  131. data/lib/hubspot/codegen/webhooks/models/batch_response_subscription_response.rb +1 -21
  132. data/lib/hubspot/codegen/webhooks/models/batch_response_subscription_response_with_errors.rb +331 -0
  133. data/lib/hubspot/codegen/webhooks/models/settings_response.rb +28 -28
  134. data/lib/hubspot/codegen/webhooks/models/subscription_create_request.rb +16 -13
  135. data/lib/hubspot/codegen/webhooks/models/subscription_patch_request.rb +7 -7
  136. data/lib/hubspot/codegen/webhooks/models/subscription_response.rb +45 -39
  137. data/lib/hubspot/exceptions.rb +11 -0
  138. data/lib/hubspot/helpers/webhooks_helper.rb +31 -0
  139. data/lib/hubspot/version.rb +1 -1
  140. data/sample-apps/imports-contacts-app/.env.template +2 -0
  141. data/sample-apps/imports-contacts-app/.env.test.template +3 -0
  142. data/sample-apps/imports-contacts-app/.gitignore +37 -0
  143. data/sample-apps/imports-contacts-app/.rspec +1 -0
  144. data/sample-apps/imports-contacts-app/.ruby-version +1 -0
  145. data/sample-apps/imports-contacts-app/Dockerfile +22 -0
  146. data/sample-apps/imports-contacts-app/Gemfile +33 -0
  147. data/sample-apps/imports-contacts-app/Gemfile.lock +271 -0
  148. data/sample-apps/imports-contacts-app/README.md +27 -0
  149. data/sample-apps/imports-contacts-app/Rakefile +6 -0
  150. data/sample-apps/imports-contacts-app/app/assets/config/manifest.js +3 -0
  151. data/sample-apps/imports-contacts-app/app/assets/images/.keep +0 -0
  152. data/sample-apps/imports-contacts-app/app/assets/javascripts/application.js +15 -0
  153. data/sample-apps/imports-contacts-app/app/assets/javascripts/cable.js +13 -0
  154. data/sample-apps/imports-contacts-app/app/assets/javascripts/channels/.keep +0 -0
  155. data/sample-apps/imports-contacts-app/app/assets/stylesheets/application.css +87 -0
  156. data/sample-apps/imports-contacts-app/app/controllers/application_controller.rb +12 -0
  157. data/sample-apps/imports-contacts-app/app/controllers/concerns/.keep +0 -0
  158. data/sample-apps/imports-contacts-app/app/controllers/concerns/exception_handler.rb +12 -0
  159. data/sample-apps/imports-contacts-app/app/controllers/imports_controller.rb +24 -0
  160. data/sample-apps/imports-contacts-app/app/controllers/oauth/authorization_controller.rb +19 -0
  161. data/sample-apps/imports-contacts-app/app/helpers/application_helper.rb +2 -0
  162. data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/authorize_hubspot.rb +0 -0
  163. data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/get_authorization_uri.rb +1 -1
  164. data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/tokens/base.rb +0 -0
  165. data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/tokens/generate.rb +2 -2
  166. data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/tokens/refresh.rb +3 -4
  167. data/sample-apps/imports-contacts-app/app/lib/services/hubspot/imports/create.rb +52 -0
  168. data/sample-apps/imports-contacts-app/app/models/application_record.rb +3 -0
  169. data/sample-apps/imports-contacts-app/app/models/concerns/.keep +0 -0
  170. data/sample-apps/imports-contacts-app/app/views/imports/index.html.erb +70 -0
  171. data/sample-apps/imports-contacts-app/app/views/layouts/application.html.erb +23 -0
  172. data/sample-apps/imports-contacts-app/app/views/oauth/authorization/login.html.erb +15 -0
  173. data/sample-apps/imports-contacts-app/app/views/shared/_header.html.erb +15 -0
  174. data/sample-apps/imports-contacts-app/bin/bundle +3 -0
  175. data/sample-apps/imports-contacts-app/bin/rails +9 -0
  176. data/sample-apps/imports-contacts-app/bin/rake +9 -0
  177. data/sample-apps/imports-contacts-app/bin/setup +36 -0
  178. data/sample-apps/imports-contacts-app/bin/spring +17 -0
  179. data/sample-apps/imports-contacts-app/bin/update +31 -0
  180. data/sample-apps/imports-contacts-app/bin/yarn +11 -0
  181. data/sample-apps/imports-contacts-app/config.ru +5 -0
  182. data/sample-apps/imports-contacts-app/config/application.rb +19 -0
  183. data/sample-apps/imports-contacts-app/config/boot.rb +3 -0
  184. data/sample-apps/imports-contacts-app/config/cable.yml +10 -0
  185. data/sample-apps/imports-contacts-app/config/database.yml +25 -0
  186. data/sample-apps/imports-contacts-app/config/environment.rb +5 -0
  187. data/sample-apps/imports-contacts-app/config/environments/development.rb +61 -0
  188. data/sample-apps/imports-contacts-app/config/environments/production.rb +94 -0
  189. data/sample-apps/imports-contacts-app/config/environments/test.rb +46 -0
  190. data/sample-apps/imports-contacts-app/config/initializers/assets.rb +14 -0
  191. data/sample-apps/imports-contacts-app/config/initializers/filter_parameter_logging.rb +4 -0
  192. data/sample-apps/imports-contacts-app/config/initializers/hubspot-api-client.rb +3 -0
  193. data/sample-apps/imports-contacts-app/config/initializers/mime_types.rb +1 -0
  194. data/sample-apps/imports-contacts-app/config/initializers/wrap_parameters.rb +14 -0
  195. data/sample-apps/imports-contacts-app/config/locales/en.yml +33 -0
  196. data/sample-apps/imports-contacts-app/config/puma.rb +34 -0
  197. data/sample-apps/imports-contacts-app/config/routes.rb +11 -0
  198. data/sample-apps/imports-contacts-app/config/spring.rb +6 -0
  199. data/sample-apps/imports-contacts-app/db/seeds.rb +7 -0
  200. data/sample-apps/imports-contacts-app/docker-compose.yml +11 -0
  201. data/sample-apps/imports-contacts-app/docker-entrypoint.sh +8 -0
  202. data/sample-apps/imports-contacts-app/lib/assets/.keep +0 -0
  203. data/sample-apps/imports-contacts-app/lib/tasks/.keep +0 -0
  204. data/sample-apps/imports-contacts-app/log/.keep +0 -0
  205. data/sample-apps/imports-contacts-app/package.json +5 -0
  206. data/sample-apps/imports-contacts-app/public/404.html +67 -0
  207. data/sample-apps/imports-contacts-app/public/422.html +67 -0
  208. data/sample-apps/imports-contacts-app/public/500.html +66 -0
  209. data/sample-apps/imports-contacts-app/public/apple-touch-icon-precomposed.png +0 -0
  210. data/sample-apps/imports-contacts-app/public/apple-touch-icon.png +0 -0
  211. data/sample-apps/imports-contacts-app/public/examples/example.csv +2 -0
  212. data/sample-apps/imports-contacts-app/public/favicon.ico +0 -0
  213. data/sample-apps/imports-contacts-app/public/robots.txt +1 -0
  214. data/sample-apps/imports-contacts-app/tmp/.keep +0 -0
  215. data/sample-apps/search-result-paging-app/.env.template +4 -0
  216. data/sample-apps/search-result-paging-app/.gitignore +35 -0
  217. data/sample-apps/search-result-paging-app/.rspec +1 -0
  218. data/sample-apps/search-result-paging-app/.ruby-version +1 -0
  219. data/sample-apps/search-result-paging-app/Dockerfile +22 -0
  220. data/sample-apps/search-result-paging-app/Gemfile +35 -0
  221. data/sample-apps/search-result-paging-app/Gemfile.lock +279 -0
  222. data/sample-apps/search-result-paging-app/README.md +0 -0
  223. data/sample-apps/search-result-paging-app/Rakefile +6 -0
  224. data/sample-apps/search-result-paging-app/app/assets/config/manifest.js +3 -0
  225. data/sample-apps/search-result-paging-app/app/assets/images/.keep +0 -0
  226. data/sample-apps/search-result-paging-app/app/assets/javascripts/application.js +25 -0
  227. data/sample-apps/search-result-paging-app/app/assets/javascripts/cable.js +13 -0
  228. data/sample-apps/search-result-paging-app/app/assets/javascripts/channels/.keep +0 -0
  229. data/sample-apps/search-result-paging-app/app/assets/stylesheets/application.css +77 -0
  230. data/sample-apps/search-result-paging-app/app/controllers/application_controller.rb +12 -0
  231. data/sample-apps/search-result-paging-app/app/controllers/concerns/.keep +0 -0
  232. data/sample-apps/search-result-paging-app/app/controllers/concerns/exception_handler.rb +12 -0
  233. data/sample-apps/search-result-paging-app/app/controllers/home_controller.rb +14 -0
  234. data/sample-apps/search-result-paging-app/app/controllers/oauth/authorization_controller.rb +19 -0
  235. data/sample-apps/search-result-paging-app/app/helpers/application_helper.rb +2 -0
  236. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/authorize.rb +17 -0
  237. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb +35 -0
  238. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/tokens/base.rb +21 -0
  239. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/tokens/generate.rb +28 -0
  240. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/tokens/refresh.rb +35 -0
  241. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/contacts/get_page.rb +26 -0
  242. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/contacts/search.rb +35 -0
  243. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/properties/create.rb +23 -0
  244. data/sample-apps/search-result-paging-app/app/lib/services/hubspot/properties/destroy.rb +16 -0
  245. data/sample-apps/search-result-paging-app/app/models/application_record.rb +3 -0
  246. data/sample-apps/search-result-paging-app/app/models/concerns/.keep +0 -0
  247. data/sample-apps/search-result-paging-app/app/views/home/index.html.erb +13 -0
  248. data/sample-apps/search-result-paging-app/app/views/layouts/application.html.erb +23 -0
  249. data/sample-apps/search-result-paging-app/app/views/oauth/authorization/login.html.erb +15 -0
  250. data/sample-apps/search-result-paging-app/app/views/shared/_header.html.erb +18 -0
  251. data/sample-apps/search-result-paging-app/bin/bundle +3 -0
  252. data/sample-apps/search-result-paging-app/bin/rails +9 -0
  253. data/sample-apps/search-result-paging-app/bin/rake +9 -0
  254. data/sample-apps/search-result-paging-app/bin/setup +36 -0
  255. data/sample-apps/search-result-paging-app/bin/spring +17 -0
  256. data/sample-apps/search-result-paging-app/bin/update +31 -0
  257. data/sample-apps/search-result-paging-app/bin/yarn +11 -0
  258. data/sample-apps/search-result-paging-app/config.ru +5 -0
  259. data/sample-apps/search-result-paging-app/config/application.rb +19 -0
  260. data/sample-apps/search-result-paging-app/config/boot.rb +3 -0
  261. data/sample-apps/search-result-paging-app/config/cable.yml +10 -0
  262. data/sample-apps/search-result-paging-app/config/database.yml +25 -0
  263. data/sample-apps/search-result-paging-app/config/environment.rb +5 -0
  264. data/sample-apps/search-result-paging-app/config/environments/development.rb +61 -0
  265. data/sample-apps/search-result-paging-app/config/environments/production.rb +94 -0
  266. data/sample-apps/search-result-paging-app/config/environments/test.rb +46 -0
  267. data/sample-apps/search-result-paging-app/config/initializers/assets.rb +14 -0
  268. data/sample-apps/search-result-paging-app/config/initializers/filter_parameter_logging.rb +4 -0
  269. data/sample-apps/search-result-paging-app/config/initializers/hubspot-api-client.rb +3 -0
  270. data/sample-apps/search-result-paging-app/config/initializers/mime_types.rb +1 -0
  271. data/sample-apps/search-result-paging-app/config/initializers/wrap_parameters.rb +14 -0
  272. data/sample-apps/search-result-paging-app/config/locales/en.yml +33 -0
  273. data/sample-apps/search-result-paging-app/config/puma.rb +34 -0
  274. data/sample-apps/search-result-paging-app/config/routes.rb +7 -0
  275. data/sample-apps/search-result-paging-app/config/spring.rb +6 -0
  276. data/sample-apps/search-result-paging-app/db/seeds.rb +7 -0
  277. data/sample-apps/search-result-paging-app/docker-compose.yml +11 -0
  278. data/sample-apps/search-result-paging-app/docker-entrypoint.sh +8 -0
  279. data/sample-apps/search-result-paging-app/lib/assets/.keep +0 -0
  280. data/sample-apps/search-result-paging-app/lib/tasks/.keep +0 -0
  281. data/sample-apps/search-result-paging-app/lib/tasks/search_contacts.rake +36 -0
  282. data/sample-apps/search-result-paging-app/log/.keep +0 -0
  283. data/sample-apps/search-result-paging-app/package.json +5 -0
  284. data/sample-apps/search-result-paging-app/public/404.html +67 -0
  285. data/sample-apps/search-result-paging-app/public/422.html +67 -0
  286. data/sample-apps/search-result-paging-app/public/500.html +66 -0
  287. data/sample-apps/search-result-paging-app/public/apple-touch-icon-precomposed.png +0 -0
  288. data/sample-apps/search-result-paging-app/public/apple-touch-icon.png +0 -0
  289. data/sample-apps/search-result-paging-app/public/favicon.ico +0 -0
  290. data/sample-apps/search-result-paging-app/public/robots.txt +1 -0
  291. data/sample-apps/search-result-paging-app/tmp/.keep +0 -0
  292. data/sample-apps/trello-integration-app/.env +13 -0
  293. data/sample-apps/webhooks-contacts-app/.env.template +3 -1
  294. data/sample-apps/webhooks-contacts-app/Gemfile.lock +1 -1
  295. data/sample-apps/webhooks-contacts-app/README.md +24 -21
  296. data/sample-apps/webhooks-contacts-app/app/assets/stylesheets/application.css +7 -55
  297. data/sample-apps/webhooks-contacts-app/app/controllers/events_controller.rb +8 -10
  298. data/sample-apps/webhooks-contacts-app/app/controllers/home_controller.rb +44 -0
  299. data/sample-apps/webhooks-contacts-app/app/controllers/oauth/authorization_controller.rb +6 -6
  300. data/sample-apps/webhooks-contacts-app/app/controllers/webhooks_controller.rb +1 -1
  301. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/authorize.rb +17 -0
  302. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb +35 -0
  303. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/tokens/base.rb +21 -0
  304. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/tokens/generate.rb +28 -0
  305. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/tokens/refresh.rb +35 -0
  306. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/webhooks/configure_target_url.rb +25 -0
  307. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/webhooks/create_or_activate_subscription.rb +44 -0
  308. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/webhooks/handle.rb +13 -1
  309. data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/webhooks/pause_active_subscriptions.rb +39 -0
  310. data/sample-apps/webhooks-contacts-app/app/models/event.rb +3 -0
  311. data/sample-apps/webhooks-contacts-app/app/views/events/index.html.erb +14 -16
  312. data/sample-apps/webhooks-contacts-app/app/views/home/index.html.erb +47 -0
  313. data/sample-apps/webhooks-contacts-app/app/views/oauth/authorization/login.html.erb +6 -6
  314. data/sample-apps/webhooks-contacts-app/app/views/shared/_header.html.erb +3 -0
  315. data/sample-apps/webhooks-contacts-app/config/database.yml +9 -9
  316. data/sample-apps/webhooks-contacts-app/config/routes.rb +2 -0
  317. data/sample-apps/webhooks-contacts-app/db/schema.rb +2 -5
  318. data/sample-apps/webhooks-contacts-app/docker-compose.yml +13 -10
  319. metadata +616 -7
@@ -16,12 +16,12 @@ module Hubspot
16
16
  module Crm
17
17
  module Tickets
18
18
  class Filter
19
+ attr_accessor :value
20
+
19
21
  attr_accessor :property_name
20
22
 
21
23
  attr_accessor :operator
22
24
 
23
- attr_accessor :value
24
-
25
25
  class EnumAttributeValidator
26
26
  attr_reader :datatype
27
27
  attr_reader :allowable_values
@@ -47,18 +47,18 @@ module Hubspot
47
47
  # Attribute mapping from ruby-style variable name to JSON key.
48
48
  def self.attribute_map
49
49
  {
50
+ :'value' => :'value',
50
51
  :'property_name' => :'propertyName',
51
- :'operator' => :'operator',
52
- :'value' => :'value'
52
+ :'operator' => :'operator'
53
53
  }
54
54
  end
55
55
 
56
56
  # Attribute type mapping.
57
57
  def self.openapi_types
58
58
  {
59
+ :'value' => :'String',
59
60
  :'property_name' => :'String',
60
- :'operator' => :'String',
61
- :'value' => :'String'
61
+ :'operator' => :'String'
62
62
  }
63
63
  end
64
64
 
@@ -83,6 +83,10 @@ module Hubspot
83
83
  h[k.to_sym] = v
84
84
  }
85
85
 
86
+ if attributes.key?(:'value')
87
+ self.value = attributes[:'value']
88
+ end
89
+
86
90
  if attributes.key?(:'property_name')
87
91
  self.property_name = attributes[:'property_name']
88
92
  end
@@ -90,10 +94,6 @@ module Hubspot
90
94
  if attributes.key?(:'operator')
91
95
  self.operator = attributes[:'operator']
92
96
  end
93
-
94
- if attributes.key?(:'value')
95
- self.value = attributes[:'value']
96
- end
97
97
  end
98
98
 
99
99
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -116,7 +116,7 @@ module Hubspot
116
116
  def valid?
117
117
  return false if @property_name.nil?
118
118
  return false if @operator.nil?
119
- operator_validator = EnumAttributeValidator.new('String', ["EQ", "NEQ", "LT", "LTE", "GT", "GTE", "BETWEEN", "IN", "NOT_IN", "HAS_PROPERTY", "NOT_HAS_PROPERTY", "CONTAINS_TOKEN", "NOT_CONTAINS_TOKEN"])
119
+ operator_validator = EnumAttributeValidator.new('String', ["EQ", "NEQ", "LT", "LTE", "GT", "GTE", "HAS_PROPERTY", "NOT_HAS_PROPERTY", "CONTAINS_TOKEN", "NOT_CONTAINS_TOKEN"])
120
120
  return false unless operator_validator.valid?(@operator)
121
121
  true
122
122
  end
@@ -124,7 +124,7 @@ module Hubspot
124
124
  # Custom attribute writer method checking allowed values (enum).
125
125
  # @param [Object] operator Object to be assigned
126
126
  def operator=(operator)
127
- validator = EnumAttributeValidator.new('String', ["EQ", "NEQ", "LT", "LTE", "GT", "GTE", "BETWEEN", "IN", "NOT_IN", "HAS_PROPERTY", "NOT_HAS_PROPERTY", "CONTAINS_TOKEN", "NOT_CONTAINS_TOKEN"])
127
+ validator = EnumAttributeValidator.new('String', ["EQ", "NEQ", "LT", "LTE", "GT", "GTE", "HAS_PROPERTY", "NOT_HAS_PROPERTY", "CONTAINS_TOKEN", "NOT_CONTAINS_TOKEN"])
128
128
  unless validator.valid?(operator)
129
129
  fail ArgumentError, "invalid value for \"operator\", must be one of #{validator.allowable_values}."
130
130
  end
@@ -136,9 +136,9 @@ module Hubspot
136
136
  def ==(o)
137
137
  return true if self.equal?(o)
138
138
  self.class == o.class &&
139
+ value == o.value &&
139
140
  property_name == o.property_name &&
140
- operator == o.operator &&
141
- value == o.value
141
+ operator == o.operator
142
142
  end
143
143
 
144
144
  # @see the `==` method
@@ -150,7 +150,7 @@ module Hubspot
150
150
  # Calculates hash code according to all attributes.
151
151
  # @return [Integer] Hash code
152
152
  def hash
153
- [property_name, operator, value].hash
153
+ [value, property_name, operator].hash
154
154
  end
155
155
 
156
156
  # Builds the object from hash
@@ -16,23 +16,23 @@ module Hubspot
16
16
  module Crm
17
17
  module Tickets
18
18
  class SimplePublicObjectBatchInput
19
- attr_accessor :id
20
-
21
19
  attr_accessor :properties
22
20
 
21
+ attr_accessor :id
22
+
23
23
  # Attribute mapping from ruby-style variable name to JSON key.
24
24
  def self.attribute_map
25
25
  {
26
- :'id' => :'id',
27
- :'properties' => :'properties'
26
+ :'properties' => :'properties',
27
+ :'id' => :'id'
28
28
  }
29
29
  end
30
30
 
31
31
  # Attribute type mapping.
32
32
  def self.openapi_types
33
33
  {
34
- :'id' => :'String',
35
- :'properties' => :'Hash<String, String>'
34
+ :'properties' => :'Hash<String, String>',
35
+ :'id' => :'String'
36
36
  }
37
37
  end
38
38
 
@@ -57,37 +57,37 @@ module Hubspot
57
57
  h[k.to_sym] = v
58
58
  }
59
59
 
60
- if attributes.key?(:'id')
61
- self.id = attributes[:'id']
62
- end
63
-
64
60
  if attributes.key?(:'properties')
65
61
  if (value = attributes[:'properties']).is_a?(Hash)
66
62
  self.properties = value
67
63
  end
68
64
  end
65
+
66
+ if attributes.key?(:'id')
67
+ self.id = attributes[:'id']
68
+ end
69
69
  end
70
70
 
71
71
  # Show invalid properties with the reasons. Usually used together with valid?
72
72
  # @return Array for valid properties with the reasons
73
73
  def list_invalid_properties
74
74
  invalid_properties = Array.new
75
- if @id.nil?
76
- invalid_properties.push('invalid value for "id", id cannot be nil.')
77
- end
78
-
79
75
  if @properties.nil?
80
76
  invalid_properties.push('invalid value for "properties", properties cannot be nil.')
81
77
  end
82
78
 
79
+ if @id.nil?
80
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
81
+ end
82
+
83
83
  invalid_properties
84
84
  end
85
85
 
86
86
  # Check to see if the all the properties in the model are valid
87
87
  # @return true if the model is valid
88
88
  def valid?
89
- return false if @id.nil?
90
89
  return false if @properties.nil?
90
+ return false if @id.nil?
91
91
  true
92
92
  end
93
93
 
@@ -96,8 +96,8 @@ module Hubspot
96
96
  def ==(o)
97
97
  return true if self.equal?(o)
98
98
  self.class == o.class &&
99
- id == o.id &&
100
- properties == o.properties
99
+ properties == o.properties &&
100
+ id == o.id
101
101
  end
102
102
 
103
103
  # @see the `==` method
@@ -109,7 +109,7 @@ module Hubspot
109
109
  # Calculates hash code according to all attributes.
110
110
  # @return [Integer] Hash code
111
111
  def hash
112
- [id, properties].hash
112
+ [properties, id].hash
113
113
  end
114
114
 
115
115
  # Builds the object from hash
@@ -193,20 +193,6 @@ module Hubspot
193
193
  # Returns Auth Settings hash for api client.
194
194
  def auth_settings
195
195
  {
196
- 'hapikey' =>
197
- {
198
- type: 'api_key',
199
- in: 'query',
200
- key: 'hapikey',
201
- value: api_key_with_prefix('hapikey')
202
- },
203
- 'oauth2' =>
204
- {
205
- type: 'oauth2',
206
- in: 'header',
207
- key: 'Authorization',
208
- value: "Bearer #{access_token}"
209
- },
210
196
  }
211
197
  end
212
198
 
@@ -292,11 +292,11 @@ module Hubspot
292
292
  # Updates the details for an existing subscription.
293
293
  # @param subscription_id [Integer] The ID of the subscription to update.
294
294
  # @param app_id [Integer] The ID of the target app.
295
+ # @param subscription_patch_request [SubscriptionPatchRequest] Updated details for the subscription.
295
296
  # @param [Hash] opts the optional parameters
296
- # @option opts [SubscriptionPatchRequest] :subscription_patch_request Updated details for the subscription.
297
297
  # @return [SubscriptionResponse]
298
- def update(subscription_id, app_id, opts = {})
299
- data, _status_code, _headers = update_with_http_info(subscription_id, app_id, opts)
298
+ def update(subscription_id, app_id, subscription_patch_request, opts = {})
299
+ data, _status_code, _headers = update_with_http_info(subscription_id, app_id, subscription_patch_request, opts)
300
300
  data
301
301
  end
302
302
 
@@ -304,10 +304,10 @@ module Hubspot
304
304
  # Updates the details for an existing subscription.
305
305
  # @param subscription_id [Integer] The ID of the subscription to update.
306
306
  # @param app_id [Integer] The ID of the target app.
307
+ # @param subscription_patch_request [SubscriptionPatchRequest] Updated details for the subscription.
307
308
  # @param [Hash] opts the optional parameters
308
- # @option opts [SubscriptionPatchRequest] :subscription_patch_request Updated details for the subscription.
309
309
  # @return [Array<(SubscriptionResponse, Integer, Hash)>] SubscriptionResponse data, response status code and response headers
310
- def update_with_http_info(subscription_id, app_id, opts = {})
310
+ def update_with_http_info(subscription_id, app_id, subscription_patch_request, opts = {})
311
311
  if @api_client.config.debugging
312
312
  @api_client.config.logger.debug 'Calling API: SubscriptionsApi.update ...'
313
313
  end
@@ -319,6 +319,10 @@ module Hubspot
319
319
  if @api_client.config.client_side_validation && app_id.nil?
320
320
  fail ArgumentError, "Missing the required parameter 'app_id' when calling SubscriptionsApi.update"
321
321
  end
322
+ # verify the required parameter 'subscription_patch_request' is set
323
+ if @api_client.config.client_side_validation && subscription_patch_request.nil?
324
+ fail ArgumentError, "Missing the required parameter 'subscription_patch_request' when calling SubscriptionsApi.update"
325
+ end
322
326
  # resource path
323
327
  local_var_path = '/webhooks/v3/{appId}/subscriptions/{subscriptionId}'.sub('{' + 'subscriptionId' + '}', CGI.escape(subscription_id.to_s)).sub('{' + 'appId' + '}', CGI.escape(app_id.to_s))
324
328
 
@@ -336,7 +340,7 @@ module Hubspot
336
340
  form_params = opts[:form_params] || {}
337
341
 
338
342
  # http body (model)
339
- post_body = opts[:body] || @api_client.object_to_http_body(opts[:'subscription_patch_request'])
343
+ post_body = opts[:body] || @api_client.object_to_http_body(subscription_patch_request)
340
344
 
341
345
  # return_type
342
346
  return_type = opts[:return_type] || 'SubscriptionResponse'
@@ -361,9 +365,9 @@ module Hubspot
361
365
  end
362
366
 
363
367
  # Batch update subscriptions
364
- # Activates or deactivates specified subscriptions for the given app.
365
- # @param app_id [Integer] The ID of the target app.
366
- # @param batch_input_subscription_batch_update_request [BatchInputSubscriptionBatchUpdateRequest] Collection of updated details for the specified subscription.
368
+ # Activates or deactivates target app subscriptions.
369
+ # @param app_id [Integer] The app ID of the target app.
370
+ # @param batch_input_subscription_batch_update_request [BatchInputSubscriptionBatchUpdateRequest] Updated details for the specified subscriptions.
367
371
  # @param [Hash] opts the optional parameters
368
372
  # @return [BatchResponseSubscriptionResponse]
369
373
  def update_batch(app_id, batch_input_subscription_batch_update_request, opts = {})
@@ -372,9 +376,9 @@ module Hubspot
372
376
  end
373
377
 
374
378
  # Batch update subscriptions
375
- # Activates or deactivates specified subscriptions for the given app.
376
- # @param app_id [Integer] The ID of the target app.
377
- # @param batch_input_subscription_batch_update_request [BatchInputSubscriptionBatchUpdateRequest] Collection of updated details for the specified subscription.
379
+ # Activates or deactivates target app subscriptions.
380
+ # @param app_id [Integer] The app ID of the target app.
381
+ # @param batch_input_subscription_batch_update_request [BatchInputSubscriptionBatchUpdateRequest] Updated details for the specified subscriptions.
378
382
  # @param [Hash] opts the optional parameters
379
383
  # @return [Array<(BatchResponseSubscriptionResponse, Integer, Hash)>] BatchResponseSubscriptionResponse data, response status code and response headers
380
384
  def update_batch_with_http_info(app_id, batch_input_subscription_batch_update_request, opts = {})
@@ -200,13 +200,6 @@ module Hubspot
200
200
  key: 'hapikey',
201
201
  value: api_key_with_prefix('hapikey')
202
202
  },
203
- 'oauth2' =>
204
- {
205
- type: 'oauth2',
206
- in: 'header',
207
- key: 'Authorization',
208
- value: "Bearer #{access_token}"
209
- },
210
203
  }
211
204
  end
212
205
 
@@ -19,10 +19,6 @@ module Hubspot
19
19
 
20
20
  attr_accessor :results
21
21
 
22
- attr_accessor :num_errors
23
-
24
- attr_accessor :errors
25
-
26
22
  attr_accessor :requested_at
27
23
 
28
24
  attr_accessor :started_at
@@ -58,8 +54,6 @@ module Hubspot
58
54
  {
59
55
  :'status' => :'status',
60
56
  :'results' => :'results',
61
- :'num_errors' => :'numErrors',
62
- :'errors' => :'errors',
63
57
  :'requested_at' => :'requestedAt',
64
58
  :'started_at' => :'startedAt',
65
59
  :'completed_at' => :'completedAt',
@@ -72,8 +66,6 @@ module Hubspot
72
66
  {
73
67
  :'status' => :'String',
74
68
  :'results' => :'Array<SubscriptionResponse>',
75
- :'num_errors' => :'Integer',
76
- :'errors' => :'Array<Error>',
77
69
  :'requested_at' => :'DateTime',
78
70
  :'started_at' => :'DateTime',
79
71
  :'completed_at' => :'DateTime',
@@ -112,16 +104,6 @@ module Hubspot
112
104
  end
113
105
  end
114
106
 
115
- if attributes.key?(:'num_errors')
116
- self.num_errors = attributes[:'num_errors']
117
- end
118
-
119
- if attributes.key?(:'errors')
120
- if (value = attributes[:'errors']).is_a?(Array)
121
- self.errors = value
122
- end
123
- end
124
-
125
107
  if attributes.key?(:'requested_at')
126
108
  self.requested_at = attributes[:'requested_at']
127
109
  end
@@ -193,8 +175,6 @@ module Hubspot
193
175
  self.class == o.class &&
194
176
  status == o.status &&
195
177
  results == o.results &&
196
- num_errors == o.num_errors &&
197
- errors == o.errors &&
198
178
  requested_at == o.requested_at &&
199
179
  started_at == o.started_at &&
200
180
  completed_at == o.completed_at &&
@@ -210,7 +190,7 @@ module Hubspot
210
190
  # Calculates hash code according to all attributes.
211
191
  # @return [Integer] Hash code
212
192
  def hash
213
- [status, results, num_errors, errors, requested_at, started_at, completed_at, links].hash
193
+ [status, results, requested_at, started_at, completed_at, links].hash
214
194
  end
215
195
 
216
196
  # Builds the object from hash
@@ -0,0 +1,331 @@
1
+ =begin
2
+ #Webhooks API
3
+
4
+ #Provides a way for apps to subscribe to certain change events in HubSpot. Once configured, apps will receive event payloads containing details about the changes at a specified target URL. There can only be one target URL for receiving event notifications per app.
5
+
6
+ The version of the OpenAPI document: v3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.2.3
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module Hubspot
16
+ module Webhooks
17
+ class BatchResponseSubscriptionResponseWithErrors
18
+ attr_accessor :status
19
+
20
+ attr_accessor :results
21
+
22
+ attr_accessor :num_errors
23
+
24
+ attr_accessor :errors
25
+
26
+ attr_accessor :requested_at
27
+
28
+ attr_accessor :started_at
29
+
30
+ attr_accessor :completed_at
31
+
32
+ attr_accessor :links
33
+
34
+ class EnumAttributeValidator
35
+ attr_reader :datatype
36
+ attr_reader :allowable_values
37
+
38
+ def initialize(datatype, allowable_values)
39
+ @allowable_values = allowable_values.map do |value|
40
+ case datatype.to_s
41
+ when /Integer/i
42
+ value.to_i
43
+ when /Float/i
44
+ value.to_f
45
+ else
46
+ value
47
+ end
48
+ end
49
+ end
50
+
51
+ def valid?(value)
52
+ !value || allowable_values.include?(value)
53
+ end
54
+ end
55
+
56
+ # Attribute mapping from ruby-style variable name to JSON key.
57
+ def self.attribute_map
58
+ {
59
+ :'status' => :'status',
60
+ :'results' => :'results',
61
+ :'num_errors' => :'numErrors',
62
+ :'errors' => :'errors',
63
+ :'requested_at' => :'requestedAt',
64
+ :'started_at' => :'startedAt',
65
+ :'completed_at' => :'completedAt',
66
+ :'links' => :'links'
67
+ }
68
+ end
69
+
70
+ # Attribute type mapping.
71
+ def self.openapi_types
72
+ {
73
+ :'status' => :'String',
74
+ :'results' => :'Array<SubscriptionResponse>',
75
+ :'num_errors' => :'Integer',
76
+ :'errors' => :'Array<Error>',
77
+ :'requested_at' => :'DateTime',
78
+ :'started_at' => :'DateTime',
79
+ :'completed_at' => :'DateTime',
80
+ :'links' => :'Hash<String, String>'
81
+ }
82
+ end
83
+
84
+ # List of attributes with nullable: true
85
+ def self.openapi_nullable
86
+ Set.new([
87
+ ])
88
+ end
89
+
90
+ # Initializes the object
91
+ # @param [Hash] attributes Model attributes in the form of hash
92
+ def initialize(attributes = {})
93
+ if (!attributes.is_a?(Hash))
94
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Hubspot::Webhooks::BatchResponseSubscriptionResponseWithErrors` initialize method"
95
+ end
96
+
97
+ # check to see if the attribute exists and convert string to symbol for hash key
98
+ attributes = attributes.each_with_object({}) { |(k, v), h|
99
+ if (!self.class.attribute_map.key?(k.to_sym))
100
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Hubspot::Webhooks::BatchResponseSubscriptionResponseWithErrors`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
101
+ end
102
+ h[k.to_sym] = v
103
+ }
104
+
105
+ if attributes.key?(:'status')
106
+ self.status = attributes[:'status']
107
+ end
108
+
109
+ if attributes.key?(:'results')
110
+ if (value = attributes[:'results']).is_a?(Array)
111
+ self.results = value
112
+ end
113
+ end
114
+
115
+ if attributes.key?(:'num_errors')
116
+ self.num_errors = attributes[:'num_errors']
117
+ end
118
+
119
+ if attributes.key?(:'errors')
120
+ if (value = attributes[:'errors']).is_a?(Array)
121
+ self.errors = value
122
+ end
123
+ end
124
+
125
+ if attributes.key?(:'requested_at')
126
+ self.requested_at = attributes[:'requested_at']
127
+ end
128
+
129
+ if attributes.key?(:'started_at')
130
+ self.started_at = attributes[:'started_at']
131
+ end
132
+
133
+ if attributes.key?(:'completed_at')
134
+ self.completed_at = attributes[:'completed_at']
135
+ end
136
+
137
+ if attributes.key?(:'links')
138
+ if (value = attributes[:'links']).is_a?(Hash)
139
+ self.links = value
140
+ end
141
+ end
142
+ end
143
+
144
+ # Show invalid properties with the reasons. Usually used together with valid?
145
+ # @return Array for valid properties with the reasons
146
+ def list_invalid_properties
147
+ invalid_properties = Array.new
148
+ if @status.nil?
149
+ invalid_properties.push('invalid value for "status", status cannot be nil.')
150
+ end
151
+
152
+ if @results.nil?
153
+ invalid_properties.push('invalid value for "results", results cannot be nil.')
154
+ end
155
+
156
+ if @started_at.nil?
157
+ invalid_properties.push('invalid value for "started_at", started_at cannot be nil.')
158
+ end
159
+
160
+ if @completed_at.nil?
161
+ invalid_properties.push('invalid value for "completed_at", completed_at cannot be nil.')
162
+ end
163
+
164
+ invalid_properties
165
+ end
166
+
167
+ # Check to see if the all the properties in the model are valid
168
+ # @return true if the model is valid
169
+ def valid?
170
+ return false if @status.nil?
171
+ status_validator = EnumAttributeValidator.new('String', ["PENDING", "PROCESSING", "CANCELED", "COMPLETE"])
172
+ return false unless status_validator.valid?(@status)
173
+ return false if @results.nil?
174
+ return false if @started_at.nil?
175
+ return false if @completed_at.nil?
176
+ true
177
+ end
178
+
179
+ # Custom attribute writer method checking allowed values (enum).
180
+ # @param [Object] status Object to be assigned
181
+ def status=(status)
182
+ validator = EnumAttributeValidator.new('String', ["PENDING", "PROCESSING", "CANCELED", "COMPLETE"])
183
+ unless validator.valid?(status)
184
+ fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
185
+ end
186
+ @status = status
187
+ end
188
+
189
+ # Checks equality by comparing each attribute.
190
+ # @param [Object] Object to be compared
191
+ def ==(o)
192
+ return true if self.equal?(o)
193
+ self.class == o.class &&
194
+ status == o.status &&
195
+ results == o.results &&
196
+ num_errors == o.num_errors &&
197
+ errors == o.errors &&
198
+ requested_at == o.requested_at &&
199
+ started_at == o.started_at &&
200
+ completed_at == o.completed_at &&
201
+ links == o.links
202
+ end
203
+
204
+ # @see the `==` method
205
+ # @param [Object] Object to be compared
206
+ def eql?(o)
207
+ self == o
208
+ end
209
+
210
+ # Calculates hash code according to all attributes.
211
+ # @return [Integer] Hash code
212
+ def hash
213
+ [status, results, num_errors, errors, requested_at, started_at, completed_at, links].hash
214
+ end
215
+
216
+ # Builds the object from hash
217
+ # @param [Hash] attributes Model attributes in the form of hash
218
+ # @return [Object] Returns the model itself
219
+ def self.build_from_hash(attributes)
220
+ new.build_from_hash(attributes)
221
+ end
222
+
223
+ # Builds the object from hash
224
+ # @param [Hash] attributes Model attributes in the form of hash
225
+ # @return [Object] Returns the model itself
226
+ def build_from_hash(attributes)
227
+ return nil unless attributes.is_a?(Hash)
228
+ self.class.openapi_types.each_pair do |key, type|
229
+ if type =~ /\AArray<(.*)>/i
230
+ # check to ensure the input is an array given that the attribute
231
+ # is documented as an array but the input is not
232
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
233
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
234
+ end
235
+ elsif !attributes[self.class.attribute_map[key]].nil?
236
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
237
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
238
+ end
239
+
240
+ self
241
+ end
242
+
243
+ # Deserializes the data based on type
244
+ # @param string type Data type
245
+ # @param string value Value to be deserialized
246
+ # @return [Object] Deserialized data
247
+ def _deserialize(type, value)
248
+ case type.to_sym
249
+ when :DateTime
250
+ DateTime.parse(value)
251
+ when :Date
252
+ Date.parse(value)
253
+ when :String
254
+ value.to_s
255
+ when :Integer
256
+ value.to_i
257
+ when :Float
258
+ value.to_f
259
+ when :Boolean
260
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
261
+ true
262
+ else
263
+ false
264
+ end
265
+ when :Object
266
+ # generic object (usually a Hash), return directly
267
+ value
268
+ when /\AArray<(?<inner_type>.+)>\z/
269
+ inner_type = Regexp.last_match[:inner_type]
270
+ value.map { |v| _deserialize(inner_type, v) }
271
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
272
+ k_type = Regexp.last_match[:k_type]
273
+ v_type = Regexp.last_match[:v_type]
274
+ {}.tap do |hash|
275
+ value.each do |k, v|
276
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
277
+ end
278
+ end
279
+ else # model
280
+ Hubspot::Webhooks.const_get(type).build_from_hash(value)
281
+ end
282
+ end
283
+
284
+ # Returns the string representation of the object
285
+ # @return [String] String presentation of the object
286
+ def to_s
287
+ to_hash.to_s
288
+ end
289
+
290
+ # to_body is an alias to to_hash (backward compatibility)
291
+ # @return [Hash] Returns the object in the form of hash
292
+ def to_body
293
+ to_hash
294
+ end
295
+
296
+ # Returns the object in the form of hash
297
+ # @return [Hash] Returns the object in the form of hash
298
+ def to_hash
299
+ hash = {}
300
+ self.class.attribute_map.each_pair do |attr, param|
301
+ value = self.send(attr)
302
+ if value.nil?
303
+ is_nullable = self.class.openapi_nullable.include?(attr)
304
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
305
+ end
306
+
307
+ hash[param] = _to_hash(value)
308
+ end
309
+ hash
310
+ end
311
+
312
+ # Outputs non-array value in the form of hash
313
+ # For object, use to_hash. Otherwise, just return the value
314
+ # @param [Object] value Any valid value
315
+ # @return [Hash] Returns the value in the form of hash
316
+ def _to_hash(value)
317
+ if value.is_a?(Array)
318
+ value.compact.map { |v| _to_hash(v) }
319
+ elsif value.is_a?(Hash)
320
+ {}.tap do |hash|
321
+ value.each { |k, v| hash[k] = _to_hash(v) }
322
+ end
323
+ elsif value.respond_to? :to_hash
324
+ value.to_hash
325
+ else
326
+ value
327
+ end
328
+ end
329
+ end
330
+ end
331
+ end