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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +27 -0
- data/lib/hubspot-api-client.rb +70 -0
- data/lib/hubspot/codegen/cms/audit-logs/api/default_api.rb +106 -0
- data/lib/hubspot/codegen/cms/audit-logs/api_client.rb +422 -0
- data/lib/hubspot/codegen/cms/audit-logs/api_error.rb +61 -0
- data/lib/hubspot/codegen/cms/audit-logs/configuration.rb +258 -0
- data/lib/hubspot/codegen/cms/audit-logs/models/collection_response_public_audit_log.rb +226 -0
- data/lib/hubspot/codegen/cms/audit-logs/models/error.rb +292 -0
- data/lib/hubspot/codegen/cms/audit-logs/models/error_detail.rb +258 -0
- data/lib/hubspot/codegen/cms/audit-logs/models/next_page.rb +224 -0
- data/lib/hubspot/codegen/cms/audit-logs/models/paging.rb +210 -0
- data/lib/hubspot/codegen/cms/audit-logs/models/public_audit_log.rb +352 -0
- data/lib/hubspot/codegen/cms/domains/api/domains_api.rb +183 -0
- data/lib/hubspot/codegen/cms/domains/api_client.rb +422 -0
- data/lib/hubspot/codegen/cms/domains/api_error.rb +61 -0
- data/lib/hubspot/codegen/cms/domains/configuration.rb +258 -0
- data/lib/hubspot/codegen/cms/domains/models/collection_response_with_total_domain.rb +240 -0
- data/lib/hubspot/codegen/cms/domains/models/domain.rb +1091 -0
- data/lib/hubspot/codegen/cms/domains/models/domain_cdn_config.rb +497 -0
- data/lib/hubspot/codegen/cms/domains/models/domain_setup_info.rb +231 -0
- data/lib/hubspot/codegen/cms/domains/models/error.rb +292 -0
- data/lib/hubspot/codegen/cms/domains/models/error_detail.rb +258 -0
- data/lib/hubspot/codegen/cms/domains/models/next_page.rb +224 -0
- data/lib/hubspot/codegen/cms/domains/models/paging.rb +210 -0
- data/lib/hubspot/codegen/cms/performance/api/default_api.rb +186 -0
- data/lib/hubspot/codegen/cms/performance/api_client.rb +422 -0
- data/lib/hubspot/codegen/cms/performance/api_error.rb +61 -0
- data/lib/hubspot/codegen/cms/performance/configuration.rb +251 -0
- data/lib/hubspot/codegen/cms/performance/models/error.rb +292 -0
- data/lib/hubspot/codegen/cms/performance/models/error_detail.rb +258 -0
- data/lib/hubspot/codegen/cms/performance/models/performance_view.rb +528 -0
- data/lib/hubspot/codegen/cms/performance/models/public_performance_response.rb +332 -0
- data/lib/hubspot/codegen/cms/site-search/api/default_api.rb +225 -0
- data/lib/hubspot/codegen/cms/site-search/api_client.rb +422 -0
- data/lib/hubspot/codegen/cms/site-search/api_error.rb +61 -0
- data/lib/hubspot/codegen/cms/site-search/configuration.rb +258 -0
- data/lib/hubspot/codegen/cms/site-search/models/content_search_result.rb +427 -0
- data/lib/hubspot/codegen/cms/site-search/models/error.rb +292 -0
- data/lib/hubspot/codegen/cms/site-search/models/error_detail.rb +258 -0
- data/lib/hubspot/codegen/cms/site-search/models/indexed_data.rb +279 -0
- data/lib/hubspot/codegen/cms/site-search/models/public_search_results.rb +282 -0
- data/lib/hubspot/codegen/cms/site-search/models/search_hit_field.rb +259 -0
- data/lib/hubspot/codegen/cms/url-redirects/api/redirects_api.rb +368 -0
- data/lib/hubspot/codegen/cms/url-redirects/api_client.rb +422 -0
- data/lib/hubspot/codegen/cms/url-redirects/api_error.rb +61 -0
- data/lib/hubspot/codegen/cms/url-redirects/configuration.rb +258 -0
- data/lib/hubspot/codegen/cms/url-redirects/models/collection_response_with_total_url_mapping.rb +242 -0
- data/lib/hubspot/codegen/cms/url-redirects/models/error.rb +292 -0
- data/lib/hubspot/codegen/cms/url-redirects/models/error_detail.rb +258 -0
- data/lib/hubspot/codegen/cms/url-redirects/models/next_page.rb +224 -0
- data/lib/hubspot/codegen/cms/url-redirects/models/paging.rb +210 -0
- data/lib/hubspot/codegen/cms/url-redirects/models/url_mapping.rb +596 -0
- data/lib/hubspot/codegen/cms/url-redirects/models/url_mapping_create_request_body.rb +306 -0
- data/lib/hubspot/codegen/crm/companies/api/associations_api.rb +2 -2
- data/lib/hubspot/codegen/crm/companies/api/basic_api.rb +20 -12
- data/lib/hubspot/codegen/crm/companies/api/batch_api.rb +40 -24
- data/lib/hubspot/codegen/crm/companies/api/search_api.rb +10 -6
- data/lib/hubspot/codegen/crm/companies/models/batch_read_input_simple_public_object_id.rb +20 -20
- data/lib/hubspot/codegen/crm/companies/models/batch_response_simple_public_object.rb +29 -38
- data/lib/hubspot/codegen/crm/companies/models/batch_response_simple_public_object_with_errors.rb +333 -0
- data/lib/hubspot/codegen/crm/companies/models/filter.rb +15 -15
- data/lib/hubspot/codegen/crm/companies/models/simple_public_object_batch_input.rb +18 -18
- data/lib/hubspot/codegen/crm/contacts/api/associations_api.rb +2 -2
- data/lib/hubspot/codegen/crm/contacts/api/basic_api.rb +20 -12
- data/lib/hubspot/codegen/crm/contacts/api/batch_api.rb +40 -24
- data/lib/hubspot/codegen/crm/contacts/api/search_api.rb +10 -6
- data/lib/hubspot/codegen/crm/contacts/models/batch_read_input_simple_public_object_id.rb +20 -20
- data/lib/hubspot/codegen/crm/contacts/models/batch_response_simple_public_object.rb +29 -38
- data/lib/hubspot/codegen/crm/contacts/models/batch_response_simple_public_object_with_errors.rb +333 -0
- data/lib/hubspot/codegen/crm/contacts/models/filter.rb +15 -15
- data/lib/hubspot/codegen/crm/contacts/models/simple_public_object_batch_input.rb +18 -18
- data/lib/hubspot/codegen/crm/deals/api/associations_api.rb +2 -2
- data/lib/hubspot/codegen/crm/deals/api/basic_api.rb +20 -12
- data/lib/hubspot/codegen/crm/deals/api/batch_api.rb +40 -24
- data/lib/hubspot/codegen/crm/deals/api/search_api.rb +10 -6
- data/lib/hubspot/codegen/crm/deals/models/batch_read_input_simple_public_object_id.rb +20 -20
- data/lib/hubspot/codegen/crm/deals/models/batch_response_simple_public_object.rb +29 -38
- data/lib/hubspot/codegen/crm/deals/models/batch_response_simple_public_object_with_errors.rb +333 -0
- data/lib/hubspot/codegen/crm/deals/models/filter.rb +15 -15
- data/lib/hubspot/codegen/crm/deals/models/simple_public_object_batch_input.rb +18 -18
- data/lib/hubspot/codegen/crm/extensions/cards/configuration.rb +0 -7
- data/lib/hubspot/codegen/crm/line_items/api/associations_api.rb +2 -2
- data/lib/hubspot/codegen/crm/line_items/api/basic_api.rb +20 -12
- data/lib/hubspot/codegen/crm/line_items/api/batch_api.rb +40 -24
- data/lib/hubspot/codegen/crm/line_items/api/search_api.rb +10 -6
- data/lib/hubspot/codegen/crm/line_items/models/batch_read_input_simple_public_object_id.rb +20 -20
- data/lib/hubspot/codegen/crm/line_items/models/batch_response_simple_public_object.rb +29 -38
- data/lib/hubspot/codegen/crm/line_items/models/batch_response_simple_public_object_with_errors.rb +333 -0
- data/lib/hubspot/codegen/crm/line_items/models/filter.rb +15 -15
- data/lib/hubspot/codegen/crm/line_items/models/simple_public_object_batch_input.rb +18 -18
- data/lib/hubspot/codegen/crm/owners/api/default_api.rb +0 -2
- data/lib/hubspot/codegen/crm/products/api/associations_api.rb +2 -2
- data/lib/hubspot/codegen/crm/products/api/basic_api.rb +20 -12
- data/lib/hubspot/codegen/crm/products/api/batch_api.rb +40 -24
- data/lib/hubspot/codegen/crm/products/api/search_api.rb +10 -6
- data/lib/hubspot/codegen/crm/products/models/batch_read_input_simple_public_object_id.rb +20 -20
- data/lib/hubspot/codegen/crm/products/models/batch_response_simple_public_object.rb +29 -38
- data/lib/hubspot/codegen/crm/products/models/batch_response_simple_public_object_with_errors.rb +333 -0
- data/lib/hubspot/codegen/crm/products/models/filter.rb +15 -15
- data/lib/hubspot/codegen/crm/products/models/simple_public_object_batch_input.rb +18 -18
- data/lib/hubspot/codegen/crm/properties/api/batch_api.rb +30 -18
- data/lib/hubspot/codegen/crm/properties/api/core_api.rb +20 -12
- data/lib/hubspot/codegen/crm/properties/api/groups_api.rb +20 -12
- data/lib/hubspot/codegen/crm/properties/models/batch_read_input_property_name.rb +18 -18
- data/lib/hubspot/codegen/crm/properties/models/batch_response_property.rb +29 -23
- data/lib/hubspot/codegen/crm/properties/models/property_create.rb +14 -4
- data/lib/hubspot/codegen/crm/properties/models/property_update.rb +14 -4
- data/lib/hubspot/codegen/crm/quotes/api/associations_api.rb +1 -157
- data/lib/hubspot/codegen/crm/quotes/api/basic_api.rb +2 -190
- data/lib/hubspot/codegen/crm/quotes/api/batch_api.rb +11 -187
- data/lib/hubspot/codegen/crm/quotes/api/default_api.rb +426 -0
- data/lib/hubspot/codegen/crm/quotes/api/search_api.rb +11 -7
- data/lib/hubspot/codegen/crm/quotes/models/batch_read_input_simple_public_object_id.rb +20 -20
- data/lib/hubspot/codegen/crm/quotes/models/batch_response_simple_public_object.rb +29 -38
- data/lib/hubspot/codegen/crm/quotes/models/batch_response_simple_public_object_with_errors.rb +333 -0
- data/lib/hubspot/codegen/crm/quotes/models/filter.rb +15 -15
- data/lib/hubspot/codegen/crm/quotes/models/simple_public_object_batch_input.rb +18 -18
- data/lib/hubspot/codegen/crm/tickets/api/associations_api.rb +2 -2
- data/lib/hubspot/codegen/crm/tickets/api/basic_api.rb +20 -12
- data/lib/hubspot/codegen/crm/tickets/api/batch_api.rb +40 -24
- data/lib/hubspot/codegen/crm/tickets/api/search_api.rb +10 -6
- data/lib/hubspot/codegen/crm/tickets/models/batch_read_input_simple_public_object_id.rb +20 -20
- data/lib/hubspot/codegen/crm/tickets/models/batch_response_simple_public_object.rb +29 -38
- data/lib/hubspot/codegen/crm/tickets/models/batch_response_simple_public_object_with_errors.rb +333 -0
- data/lib/hubspot/codegen/crm/tickets/models/filter.rb +15 -15
- data/lib/hubspot/codegen/crm/tickets/models/simple_public_object_batch_input.rb +18 -18
- data/lib/hubspot/codegen/oauth/configuration.rb +0 -14
- data/lib/hubspot/codegen/webhooks/api/subscriptions_api.rb +16 -12
- data/lib/hubspot/codegen/webhooks/configuration.rb +0 -7
- data/lib/hubspot/codegen/webhooks/models/batch_response_subscription_response.rb +1 -21
- data/lib/hubspot/codegen/webhooks/models/batch_response_subscription_response_with_errors.rb +331 -0
- data/lib/hubspot/codegen/webhooks/models/settings_response.rb +28 -28
- data/lib/hubspot/codegen/webhooks/models/subscription_create_request.rb +16 -13
- data/lib/hubspot/codegen/webhooks/models/subscription_patch_request.rb +7 -7
- data/lib/hubspot/codegen/webhooks/models/subscription_response.rb +45 -39
- data/lib/hubspot/exceptions.rb +11 -0
- data/lib/hubspot/helpers/webhooks_helper.rb +31 -0
- data/lib/hubspot/version.rb +1 -1
- data/sample-apps/imports-contacts-app/.env.template +2 -0
- data/sample-apps/imports-contacts-app/.env.test.template +3 -0
- data/sample-apps/imports-contacts-app/.gitignore +37 -0
- data/sample-apps/imports-contacts-app/.rspec +1 -0
- data/sample-apps/imports-contacts-app/.ruby-version +1 -0
- data/sample-apps/imports-contacts-app/Dockerfile +22 -0
- data/sample-apps/imports-contacts-app/Gemfile +33 -0
- data/sample-apps/imports-contacts-app/Gemfile.lock +271 -0
- data/sample-apps/imports-contacts-app/README.md +27 -0
- data/sample-apps/imports-contacts-app/Rakefile +6 -0
- data/sample-apps/imports-contacts-app/app/assets/config/manifest.js +3 -0
- data/sample-apps/imports-contacts-app/app/assets/images/.keep +0 -0
- data/sample-apps/imports-contacts-app/app/assets/javascripts/application.js +15 -0
- data/sample-apps/imports-contacts-app/app/assets/javascripts/cable.js +13 -0
- data/sample-apps/imports-contacts-app/app/assets/javascripts/channels/.keep +0 -0
- data/sample-apps/imports-contacts-app/app/assets/stylesheets/application.css +87 -0
- data/sample-apps/imports-contacts-app/app/controllers/application_controller.rb +12 -0
- data/sample-apps/imports-contacts-app/app/controllers/concerns/.keep +0 -0
- data/sample-apps/imports-contacts-app/app/controllers/concerns/exception_handler.rb +12 -0
- data/sample-apps/imports-contacts-app/app/controllers/imports_controller.rb +24 -0
- data/sample-apps/imports-contacts-app/app/controllers/oauth/authorization_controller.rb +19 -0
- data/sample-apps/imports-contacts-app/app/helpers/application_helper.rb +2 -0
- data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/authorize_hubspot.rb +0 -0
- data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/get_authorization_uri.rb +1 -1
- data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/tokens/base.rb +0 -0
- data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/tokens/generate.rb +2 -2
- data/sample-apps/{webhooks-contacts-app → imports-contacts-app}/app/lib/services/authorization/tokens/refresh.rb +3 -4
- data/sample-apps/imports-contacts-app/app/lib/services/hubspot/imports/create.rb +52 -0
- data/sample-apps/imports-contacts-app/app/models/application_record.rb +3 -0
- data/sample-apps/imports-contacts-app/app/models/concerns/.keep +0 -0
- data/sample-apps/imports-contacts-app/app/views/imports/index.html.erb +70 -0
- data/sample-apps/imports-contacts-app/app/views/layouts/application.html.erb +23 -0
- data/sample-apps/imports-contacts-app/app/views/oauth/authorization/login.html.erb +15 -0
- data/sample-apps/imports-contacts-app/app/views/shared/_header.html.erb +15 -0
- data/sample-apps/imports-contacts-app/bin/bundle +3 -0
- data/sample-apps/imports-contacts-app/bin/rails +9 -0
- data/sample-apps/imports-contacts-app/bin/rake +9 -0
- data/sample-apps/imports-contacts-app/bin/setup +36 -0
- data/sample-apps/imports-contacts-app/bin/spring +17 -0
- data/sample-apps/imports-contacts-app/bin/update +31 -0
- data/sample-apps/imports-contacts-app/bin/yarn +11 -0
- data/sample-apps/imports-contacts-app/config.ru +5 -0
- data/sample-apps/imports-contacts-app/config/application.rb +19 -0
- data/sample-apps/imports-contacts-app/config/boot.rb +3 -0
- data/sample-apps/imports-contacts-app/config/cable.yml +10 -0
- data/sample-apps/imports-contacts-app/config/database.yml +25 -0
- data/sample-apps/imports-contacts-app/config/environment.rb +5 -0
- data/sample-apps/imports-contacts-app/config/environments/development.rb +61 -0
- data/sample-apps/imports-contacts-app/config/environments/production.rb +94 -0
- data/sample-apps/imports-contacts-app/config/environments/test.rb +46 -0
- data/sample-apps/imports-contacts-app/config/initializers/assets.rb +14 -0
- data/sample-apps/imports-contacts-app/config/initializers/filter_parameter_logging.rb +4 -0
- data/sample-apps/imports-contacts-app/config/initializers/hubspot-api-client.rb +3 -0
- data/sample-apps/imports-contacts-app/config/initializers/mime_types.rb +1 -0
- data/sample-apps/imports-contacts-app/config/initializers/wrap_parameters.rb +14 -0
- data/sample-apps/imports-contacts-app/config/locales/en.yml +33 -0
- data/sample-apps/imports-contacts-app/config/puma.rb +34 -0
- data/sample-apps/imports-contacts-app/config/routes.rb +11 -0
- data/sample-apps/imports-contacts-app/config/spring.rb +6 -0
- data/sample-apps/imports-contacts-app/db/seeds.rb +7 -0
- data/sample-apps/imports-contacts-app/docker-compose.yml +11 -0
- data/sample-apps/imports-contacts-app/docker-entrypoint.sh +8 -0
- data/sample-apps/imports-contacts-app/lib/assets/.keep +0 -0
- data/sample-apps/imports-contacts-app/lib/tasks/.keep +0 -0
- data/sample-apps/imports-contacts-app/log/.keep +0 -0
- data/sample-apps/imports-contacts-app/package.json +5 -0
- data/sample-apps/imports-contacts-app/public/404.html +67 -0
- data/sample-apps/imports-contacts-app/public/422.html +67 -0
- data/sample-apps/imports-contacts-app/public/500.html +66 -0
- data/sample-apps/imports-contacts-app/public/apple-touch-icon-precomposed.png +0 -0
- data/sample-apps/imports-contacts-app/public/apple-touch-icon.png +0 -0
- data/sample-apps/imports-contacts-app/public/examples/example.csv +2 -0
- data/sample-apps/imports-contacts-app/public/favicon.ico +0 -0
- data/sample-apps/imports-contacts-app/public/robots.txt +1 -0
- data/sample-apps/imports-contacts-app/tmp/.keep +0 -0
- data/sample-apps/search-result-paging-app/.env.template +4 -0
- data/sample-apps/search-result-paging-app/.gitignore +35 -0
- data/sample-apps/search-result-paging-app/.rspec +1 -0
- data/sample-apps/search-result-paging-app/.ruby-version +1 -0
- data/sample-apps/search-result-paging-app/Dockerfile +22 -0
- data/sample-apps/search-result-paging-app/Gemfile +35 -0
- data/sample-apps/search-result-paging-app/Gemfile.lock +279 -0
- data/sample-apps/search-result-paging-app/README.md +0 -0
- data/sample-apps/search-result-paging-app/Rakefile +6 -0
- data/sample-apps/search-result-paging-app/app/assets/config/manifest.js +3 -0
- data/sample-apps/search-result-paging-app/app/assets/images/.keep +0 -0
- data/sample-apps/search-result-paging-app/app/assets/javascripts/application.js +25 -0
- data/sample-apps/search-result-paging-app/app/assets/javascripts/cable.js +13 -0
- data/sample-apps/search-result-paging-app/app/assets/javascripts/channels/.keep +0 -0
- data/sample-apps/search-result-paging-app/app/assets/stylesheets/application.css +77 -0
- data/sample-apps/search-result-paging-app/app/controllers/application_controller.rb +12 -0
- data/sample-apps/search-result-paging-app/app/controllers/concerns/.keep +0 -0
- data/sample-apps/search-result-paging-app/app/controllers/concerns/exception_handler.rb +12 -0
- data/sample-apps/search-result-paging-app/app/controllers/home_controller.rb +14 -0
- data/sample-apps/search-result-paging-app/app/controllers/oauth/authorization_controller.rb +19 -0
- data/sample-apps/search-result-paging-app/app/helpers/application_helper.rb +2 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/authorize.rb +17 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb +35 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/tokens/base.rb +21 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/tokens/generate.rb +28 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/authorization/tokens/refresh.rb +35 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/contacts/get_page.rb +26 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/contacts/search.rb +35 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/properties/create.rb +23 -0
- data/sample-apps/search-result-paging-app/app/lib/services/hubspot/properties/destroy.rb +16 -0
- data/sample-apps/search-result-paging-app/app/models/application_record.rb +3 -0
- data/sample-apps/search-result-paging-app/app/models/concerns/.keep +0 -0
- data/sample-apps/search-result-paging-app/app/views/home/index.html.erb +13 -0
- data/sample-apps/search-result-paging-app/app/views/layouts/application.html.erb +23 -0
- data/sample-apps/search-result-paging-app/app/views/oauth/authorization/login.html.erb +15 -0
- data/sample-apps/search-result-paging-app/app/views/shared/_header.html.erb +18 -0
- data/sample-apps/search-result-paging-app/bin/bundle +3 -0
- data/sample-apps/search-result-paging-app/bin/rails +9 -0
- data/sample-apps/search-result-paging-app/bin/rake +9 -0
- data/sample-apps/search-result-paging-app/bin/setup +36 -0
- data/sample-apps/search-result-paging-app/bin/spring +17 -0
- data/sample-apps/search-result-paging-app/bin/update +31 -0
- data/sample-apps/search-result-paging-app/bin/yarn +11 -0
- data/sample-apps/search-result-paging-app/config.ru +5 -0
- data/sample-apps/search-result-paging-app/config/application.rb +19 -0
- data/sample-apps/search-result-paging-app/config/boot.rb +3 -0
- data/sample-apps/search-result-paging-app/config/cable.yml +10 -0
- data/sample-apps/search-result-paging-app/config/database.yml +25 -0
- data/sample-apps/search-result-paging-app/config/environment.rb +5 -0
- data/sample-apps/search-result-paging-app/config/environments/development.rb +61 -0
- data/sample-apps/search-result-paging-app/config/environments/production.rb +94 -0
- data/sample-apps/search-result-paging-app/config/environments/test.rb +46 -0
- data/sample-apps/search-result-paging-app/config/initializers/assets.rb +14 -0
- data/sample-apps/search-result-paging-app/config/initializers/filter_parameter_logging.rb +4 -0
- data/sample-apps/search-result-paging-app/config/initializers/hubspot-api-client.rb +3 -0
- data/sample-apps/search-result-paging-app/config/initializers/mime_types.rb +1 -0
- data/sample-apps/search-result-paging-app/config/initializers/wrap_parameters.rb +14 -0
- data/sample-apps/search-result-paging-app/config/locales/en.yml +33 -0
- data/sample-apps/search-result-paging-app/config/puma.rb +34 -0
- data/sample-apps/search-result-paging-app/config/routes.rb +7 -0
- data/sample-apps/search-result-paging-app/config/spring.rb +6 -0
- data/sample-apps/search-result-paging-app/db/seeds.rb +7 -0
- data/sample-apps/search-result-paging-app/docker-compose.yml +11 -0
- data/sample-apps/search-result-paging-app/docker-entrypoint.sh +8 -0
- data/sample-apps/search-result-paging-app/lib/assets/.keep +0 -0
- data/sample-apps/search-result-paging-app/lib/tasks/.keep +0 -0
- data/sample-apps/search-result-paging-app/lib/tasks/search_contacts.rake +36 -0
- data/sample-apps/search-result-paging-app/log/.keep +0 -0
- data/sample-apps/search-result-paging-app/package.json +5 -0
- data/sample-apps/search-result-paging-app/public/404.html +67 -0
- data/sample-apps/search-result-paging-app/public/422.html +67 -0
- data/sample-apps/search-result-paging-app/public/500.html +66 -0
- data/sample-apps/search-result-paging-app/public/apple-touch-icon-precomposed.png +0 -0
- data/sample-apps/search-result-paging-app/public/apple-touch-icon.png +0 -0
- data/sample-apps/search-result-paging-app/public/favicon.ico +0 -0
- data/sample-apps/search-result-paging-app/public/robots.txt +1 -0
- data/sample-apps/search-result-paging-app/tmp/.keep +0 -0
- data/sample-apps/trello-integration-app/.env +13 -0
- data/sample-apps/webhooks-contacts-app/.env.template +3 -1
- data/sample-apps/webhooks-contacts-app/Gemfile.lock +1 -1
- data/sample-apps/webhooks-contacts-app/README.md +24 -21
- data/sample-apps/webhooks-contacts-app/app/assets/stylesheets/application.css +7 -55
- data/sample-apps/webhooks-contacts-app/app/controllers/events_controller.rb +8 -10
- data/sample-apps/webhooks-contacts-app/app/controllers/home_controller.rb +44 -0
- data/sample-apps/webhooks-contacts-app/app/controllers/oauth/authorization_controller.rb +6 -6
- data/sample-apps/webhooks-contacts-app/app/controllers/webhooks_controller.rb +1 -1
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/authorize.rb +17 -0
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/get_authorization_uri.rb +35 -0
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/tokens/base.rb +21 -0
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/tokens/generate.rb +28 -0
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/authorization/tokens/refresh.rb +35 -0
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/webhooks/configure_target_url.rb +25 -0
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/webhooks/create_or_activate_subscription.rb +44 -0
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/webhooks/handle.rb +13 -1
- data/sample-apps/webhooks-contacts-app/app/lib/services/hubspot/webhooks/pause_active_subscriptions.rb +39 -0
- data/sample-apps/webhooks-contacts-app/app/models/event.rb +3 -0
- data/sample-apps/webhooks-contacts-app/app/views/events/index.html.erb +14 -16
- data/sample-apps/webhooks-contacts-app/app/views/home/index.html.erb +47 -0
- data/sample-apps/webhooks-contacts-app/app/views/oauth/authorization/login.html.erb +6 -6
- data/sample-apps/webhooks-contacts-app/app/views/shared/_header.html.erb +3 -0
- data/sample-apps/webhooks-contacts-app/config/database.yml +9 -9
- data/sample-apps/webhooks-contacts-app/config/routes.rb +2 -0
- data/sample-apps/webhooks-contacts-app/db/schema.rb +2 -5
- data/sample-apps/webhooks-contacts-app/docker-compose.yml +13 -10
- metadata +616 -7
|
@@ -15,34 +15,34 @@ require 'date'
|
|
|
15
15
|
module Hubspot
|
|
16
16
|
module Webhooks
|
|
17
17
|
class SettingsResponse
|
|
18
|
+
# A publicly available URL for Hubspot to call where event payloads will be delivered. See [link-so-some-doc](#) for details about the format of these event payloads.
|
|
19
|
+
attr_accessor :target_url
|
|
20
|
+
|
|
21
|
+
attr_accessor :throttling
|
|
22
|
+
|
|
18
23
|
# When this subscription was created. Formatted as milliseconds from the [Unix epoch](#).
|
|
19
24
|
attr_accessor :created_at
|
|
20
25
|
|
|
21
26
|
# When this subscription was last updated. Formatted as milliseconds from the [Unix epoch](#).
|
|
22
27
|
attr_accessor :updated_at
|
|
23
28
|
|
|
24
|
-
# A publicly available URL for Hubspot to call where event payloads will be delivered. See [link-so-some-doc](#) for details about the format of these event payloads.
|
|
25
|
-
attr_accessor :target_url
|
|
26
|
-
|
|
27
|
-
attr_accessor :throttling
|
|
28
|
-
|
|
29
29
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
30
30
|
def self.attribute_map
|
|
31
31
|
{
|
|
32
|
-
:'created_at' => :'createdAt',
|
|
33
|
-
:'updated_at' => :'updatedAt',
|
|
34
32
|
:'target_url' => :'targetUrl',
|
|
35
|
-
:'throttling' => :'throttling'
|
|
33
|
+
:'throttling' => :'throttling',
|
|
34
|
+
:'created_at' => :'createdAt',
|
|
35
|
+
:'updated_at' => :'updatedAt'
|
|
36
36
|
}
|
|
37
37
|
end
|
|
38
38
|
|
|
39
39
|
# Attribute type mapping.
|
|
40
40
|
def self.openapi_types
|
|
41
41
|
{
|
|
42
|
-
:'created_at' => :'DateTime',
|
|
43
|
-
:'updated_at' => :'DateTime',
|
|
44
42
|
:'target_url' => :'String',
|
|
45
|
-
:'throttling' => :'ThrottlingSettings'
|
|
43
|
+
:'throttling' => :'ThrottlingSettings',
|
|
44
|
+
:'created_at' => :'DateTime',
|
|
45
|
+
:'updated_at' => :'DateTime'
|
|
46
46
|
}
|
|
47
47
|
end
|
|
48
48
|
|
|
@@ -67,14 +67,6 @@ module Hubspot
|
|
|
67
67
|
h[k.to_sym] = v
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
if attributes.key?(:'created_at')
|
|
71
|
-
self.created_at = attributes[:'created_at']
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
if attributes.key?(:'updated_at')
|
|
75
|
-
self.updated_at = attributes[:'updated_at']
|
|
76
|
-
end
|
|
77
|
-
|
|
78
70
|
if attributes.key?(:'target_url')
|
|
79
71
|
self.target_url = attributes[:'target_url']
|
|
80
72
|
end
|
|
@@ -82,16 +74,20 @@ module Hubspot
|
|
|
82
74
|
if attributes.key?(:'throttling')
|
|
83
75
|
self.throttling = attributes[:'throttling']
|
|
84
76
|
end
|
|
77
|
+
|
|
78
|
+
if attributes.key?(:'created_at')
|
|
79
|
+
self.created_at = attributes[:'created_at']
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
if attributes.key?(:'updated_at')
|
|
83
|
+
self.updated_at = attributes[:'updated_at']
|
|
84
|
+
end
|
|
85
85
|
end
|
|
86
86
|
|
|
87
87
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
88
88
|
# @return Array for valid properties with the reasons
|
|
89
89
|
def list_invalid_properties
|
|
90
90
|
invalid_properties = Array.new
|
|
91
|
-
if @created_at.nil?
|
|
92
|
-
invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
|
|
93
|
-
end
|
|
94
|
-
|
|
95
91
|
if @target_url.nil?
|
|
96
92
|
invalid_properties.push('invalid value for "target_url", target_url cannot be nil.')
|
|
97
93
|
end
|
|
@@ -100,15 +96,19 @@ module Hubspot
|
|
|
100
96
|
invalid_properties.push('invalid value for "throttling", throttling cannot be nil.')
|
|
101
97
|
end
|
|
102
98
|
|
|
99
|
+
if @created_at.nil?
|
|
100
|
+
invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
|
|
101
|
+
end
|
|
102
|
+
|
|
103
103
|
invalid_properties
|
|
104
104
|
end
|
|
105
105
|
|
|
106
106
|
# Check to see if the all the properties in the model are valid
|
|
107
107
|
# @return true if the model is valid
|
|
108
108
|
def valid?
|
|
109
|
-
return false if @created_at.nil?
|
|
110
109
|
return false if @target_url.nil?
|
|
111
110
|
return false if @throttling.nil?
|
|
111
|
+
return false if @created_at.nil?
|
|
112
112
|
true
|
|
113
113
|
end
|
|
114
114
|
|
|
@@ -117,10 +117,10 @@ module Hubspot
|
|
|
117
117
|
def ==(o)
|
|
118
118
|
return true if self.equal?(o)
|
|
119
119
|
self.class == o.class &&
|
|
120
|
-
created_at == o.created_at &&
|
|
121
|
-
updated_at == o.updated_at &&
|
|
122
120
|
target_url == o.target_url &&
|
|
123
|
-
throttling == o.throttling
|
|
121
|
+
throttling == o.throttling &&
|
|
122
|
+
created_at == o.created_at &&
|
|
123
|
+
updated_at == o.updated_at
|
|
124
124
|
end
|
|
125
125
|
|
|
126
126
|
# @see the `==` method
|
|
@@ -132,7 +132,7 @@ module Hubspot
|
|
|
132
132
|
# Calculates hash code according to all attributes.
|
|
133
133
|
# @return [Integer] Hash code
|
|
134
134
|
def hash
|
|
135
|
-
[
|
|
135
|
+
[target_url, throttling, created_at, updated_at].hash
|
|
136
136
|
end
|
|
137
137
|
|
|
138
138
|
# Builds the object from hash
|
|
@@ -15,14 +15,15 @@ require 'date'
|
|
|
15
15
|
module Hubspot
|
|
16
16
|
module Webhooks
|
|
17
17
|
class SubscriptionCreateRequest
|
|
18
|
-
attr_accessor :active
|
|
19
|
-
|
|
20
18
|
# Type of event to listen for. Can be one of `create`, `delete`, `deletedForPrivacy`, or `propertyChange`.
|
|
21
19
|
attr_accessor :event_type
|
|
22
20
|
|
|
23
21
|
# The internal name of the property to monitor for changes. Only applies when `eventType` is `propertyChange`.
|
|
24
22
|
attr_accessor :property_name
|
|
25
23
|
|
|
24
|
+
# Determines if the subscription is active or paused. Defaults to false.
|
|
25
|
+
attr_accessor :active
|
|
26
|
+
|
|
26
27
|
class EnumAttributeValidator
|
|
27
28
|
attr_reader :datatype
|
|
28
29
|
attr_reader :allowable_values
|
|
@@ -48,18 +49,18 @@ module Hubspot
|
|
|
48
49
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
49
50
|
def self.attribute_map
|
|
50
51
|
{
|
|
51
|
-
:'active' => :'active',
|
|
52
52
|
:'event_type' => :'eventType',
|
|
53
|
-
:'property_name' => :'propertyName'
|
|
53
|
+
:'property_name' => :'propertyName',
|
|
54
|
+
:'active' => :'active'
|
|
54
55
|
}
|
|
55
56
|
end
|
|
56
57
|
|
|
57
58
|
# Attribute type mapping.
|
|
58
59
|
def self.openapi_types
|
|
59
60
|
{
|
|
60
|
-
:'active' => :'Boolean',
|
|
61
61
|
:'event_type' => :'String',
|
|
62
|
-
:'property_name' => :'String'
|
|
62
|
+
:'property_name' => :'String',
|
|
63
|
+
:'active' => :'Boolean'
|
|
63
64
|
}
|
|
64
65
|
end
|
|
65
66
|
|
|
@@ -84,10 +85,6 @@ module Hubspot
|
|
|
84
85
|
h[k.to_sym] = v
|
|
85
86
|
}
|
|
86
87
|
|
|
87
|
-
if attributes.key?(:'active')
|
|
88
|
-
self.active = attributes[:'active']
|
|
89
|
-
end
|
|
90
|
-
|
|
91
88
|
if attributes.key?(:'event_type')
|
|
92
89
|
self.event_type = attributes[:'event_type']
|
|
93
90
|
end
|
|
@@ -95,6 +92,12 @@ module Hubspot
|
|
|
95
92
|
if attributes.key?(:'property_name')
|
|
96
93
|
self.property_name = attributes[:'property_name']
|
|
97
94
|
end
|
|
95
|
+
|
|
96
|
+
if attributes.key?(:'active')
|
|
97
|
+
self.active = attributes[:'active']
|
|
98
|
+
else
|
|
99
|
+
self.active = false
|
|
100
|
+
end
|
|
98
101
|
end
|
|
99
102
|
|
|
100
103
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -132,9 +135,9 @@ module Hubspot
|
|
|
132
135
|
def ==(o)
|
|
133
136
|
return true if self.equal?(o)
|
|
134
137
|
self.class == o.class &&
|
|
135
|
-
active == o.active &&
|
|
136
138
|
event_type == o.event_type &&
|
|
137
|
-
property_name == o.property_name
|
|
139
|
+
property_name == o.property_name &&
|
|
140
|
+
active == o.active
|
|
138
141
|
end
|
|
139
142
|
|
|
140
143
|
# @see the `==` method
|
|
@@ -146,7 +149,7 @@ module Hubspot
|
|
|
146
149
|
# Calculates hash code according to all attributes.
|
|
147
150
|
# @return [Integer] Hash code
|
|
148
151
|
def hash
|
|
149
|
-
[
|
|
152
|
+
[event_type, property_name, active].hash
|
|
150
153
|
end
|
|
151
154
|
|
|
152
155
|
# Builds the object from hash
|
|
@@ -16,19 +16,19 @@ module Hubspot
|
|
|
16
16
|
module Webhooks
|
|
17
17
|
class SubscriptionPatchRequest
|
|
18
18
|
# Determines if the subscription is active or paused.
|
|
19
|
-
attr_accessor :
|
|
19
|
+
attr_accessor :active
|
|
20
20
|
|
|
21
21
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
22
22
|
def self.attribute_map
|
|
23
23
|
{
|
|
24
|
-
:'
|
|
24
|
+
:'active' => :'active'
|
|
25
25
|
}
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
# Attribute type mapping.
|
|
29
29
|
def self.openapi_types
|
|
30
30
|
{
|
|
31
|
-
:'
|
|
31
|
+
:'active' => :'Boolean'
|
|
32
32
|
}
|
|
33
33
|
end
|
|
34
34
|
|
|
@@ -53,8 +53,8 @@ module Hubspot
|
|
|
53
53
|
h[k.to_sym] = v
|
|
54
54
|
}
|
|
55
55
|
|
|
56
|
-
if attributes.key?(:'
|
|
57
|
-
self.
|
|
56
|
+
if attributes.key?(:'active')
|
|
57
|
+
self.active = attributes[:'active']
|
|
58
58
|
end
|
|
59
59
|
end
|
|
60
60
|
|
|
@@ -76,7 +76,7 @@ module Hubspot
|
|
|
76
76
|
def ==(o)
|
|
77
77
|
return true if self.equal?(o)
|
|
78
78
|
self.class == o.class &&
|
|
79
|
-
|
|
79
|
+
active == o.active
|
|
80
80
|
end
|
|
81
81
|
|
|
82
82
|
# @see the `==` method
|
|
@@ -88,7 +88,7 @@ module Hubspot
|
|
|
88
88
|
# Calculates hash code according to all attributes.
|
|
89
89
|
# @return [Integer] Hash code
|
|
90
90
|
def hash
|
|
91
|
-
[
|
|
91
|
+
[active].hash
|
|
92
92
|
end
|
|
93
93
|
|
|
94
94
|
# Builds the object from hash
|
|
@@ -15,6 +15,15 @@ require 'date'
|
|
|
15
15
|
module Hubspot
|
|
16
16
|
module Webhooks
|
|
17
17
|
class SubscriptionResponse
|
|
18
|
+
# Type of event to listen for. Can be one of `create`, `delete`, `deletedForPrivacy`, or `propertyChange`.
|
|
19
|
+
attr_accessor :event_type
|
|
20
|
+
|
|
21
|
+
# The internal name of the property being monitored for changes. Only applies when `eventType` is `propertyChange`.
|
|
22
|
+
attr_accessor :property_name
|
|
23
|
+
|
|
24
|
+
# Determines if the subscription is active or paused.
|
|
25
|
+
attr_accessor :active
|
|
26
|
+
|
|
18
27
|
# The unique ID of the subscription.
|
|
19
28
|
attr_accessor :id
|
|
20
29
|
|
|
@@ -24,14 +33,6 @@ module Hubspot
|
|
|
24
33
|
# When this subscription was last updated. Formatted as milliseconds from the [Unix epoch](#).
|
|
25
34
|
attr_accessor :updated_at
|
|
26
35
|
|
|
27
|
-
# Type of event to listen for. Can be one of `create`, `delete`, `deletedForPrivacy`, or `propertyChange`.
|
|
28
|
-
attr_accessor :event_type
|
|
29
|
-
|
|
30
|
-
# The internal name of the property being monitored for changes. Only applies when `eventType` is `propertyChange`.
|
|
31
|
-
attr_accessor :property_name
|
|
32
|
-
|
|
33
|
-
attr_accessor :active
|
|
34
|
-
|
|
35
36
|
class EnumAttributeValidator
|
|
36
37
|
attr_reader :datatype
|
|
37
38
|
attr_reader :allowable_values
|
|
@@ -57,24 +58,24 @@ module Hubspot
|
|
|
57
58
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
58
59
|
def self.attribute_map
|
|
59
60
|
{
|
|
60
|
-
:'id' => :'id',
|
|
61
|
-
:'created_at' => :'createdAt',
|
|
62
|
-
:'updated_at' => :'updatedAt',
|
|
63
61
|
:'event_type' => :'eventType',
|
|
64
62
|
:'property_name' => :'propertyName',
|
|
65
|
-
:'active' => :'active'
|
|
63
|
+
:'active' => :'active',
|
|
64
|
+
:'id' => :'id',
|
|
65
|
+
:'created_at' => :'createdAt',
|
|
66
|
+
:'updated_at' => :'updatedAt'
|
|
66
67
|
}
|
|
67
68
|
end
|
|
68
69
|
|
|
69
70
|
# Attribute type mapping.
|
|
70
71
|
def self.openapi_types
|
|
71
72
|
{
|
|
72
|
-
:'id' => :'String',
|
|
73
|
-
:'created_at' => :'DateTime',
|
|
74
|
-
:'updated_at' => :'DateTime',
|
|
75
73
|
:'event_type' => :'String',
|
|
76
74
|
:'property_name' => :'String',
|
|
77
|
-
:'active' => :'Boolean'
|
|
75
|
+
:'active' => :'Boolean',
|
|
76
|
+
:'id' => :'String',
|
|
77
|
+
:'created_at' => :'DateTime',
|
|
78
|
+
:'updated_at' => :'DateTime'
|
|
78
79
|
}
|
|
79
80
|
end
|
|
80
81
|
|
|
@@ -99,18 +100,6 @@ module Hubspot
|
|
|
99
100
|
h[k.to_sym] = v
|
|
100
101
|
}
|
|
101
102
|
|
|
102
|
-
if attributes.key?(:'id')
|
|
103
|
-
self.id = attributes[:'id']
|
|
104
|
-
end
|
|
105
|
-
|
|
106
|
-
if attributes.key?(:'created_at')
|
|
107
|
-
self.created_at = attributes[:'created_at']
|
|
108
|
-
end
|
|
109
|
-
|
|
110
|
-
if attributes.key?(:'updated_at')
|
|
111
|
-
self.updated_at = attributes[:'updated_at']
|
|
112
|
-
end
|
|
113
|
-
|
|
114
103
|
if attributes.key?(:'event_type')
|
|
115
104
|
self.event_type = attributes[:'event_type']
|
|
116
105
|
end
|
|
@@ -122,12 +111,32 @@ module Hubspot
|
|
|
122
111
|
if attributes.key?(:'active')
|
|
123
112
|
self.active = attributes[:'active']
|
|
124
113
|
end
|
|
114
|
+
|
|
115
|
+
if attributes.key?(:'id')
|
|
116
|
+
self.id = attributes[:'id']
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
if attributes.key?(:'created_at')
|
|
120
|
+
self.created_at = attributes[:'created_at']
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
if attributes.key?(:'updated_at')
|
|
124
|
+
self.updated_at = attributes[:'updated_at']
|
|
125
|
+
end
|
|
125
126
|
end
|
|
126
127
|
|
|
127
128
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
128
129
|
# @return Array for valid properties with the reasons
|
|
129
130
|
def list_invalid_properties
|
|
130
131
|
invalid_properties = Array.new
|
|
132
|
+
if @event_type.nil?
|
|
133
|
+
invalid_properties.push('invalid value for "event_type", event_type cannot be nil.')
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
if @active.nil?
|
|
137
|
+
invalid_properties.push('invalid value for "active", active cannot be nil.')
|
|
138
|
+
end
|
|
139
|
+
|
|
131
140
|
if @id.nil?
|
|
132
141
|
invalid_properties.push('invalid value for "id", id cannot be nil.')
|
|
133
142
|
end
|
|
@@ -136,21 +145,18 @@ module Hubspot
|
|
|
136
145
|
invalid_properties.push('invalid value for "created_at", created_at cannot be nil.')
|
|
137
146
|
end
|
|
138
147
|
|
|
139
|
-
if @event_type.nil?
|
|
140
|
-
invalid_properties.push('invalid value for "event_type", event_type cannot be nil.')
|
|
141
|
-
end
|
|
142
|
-
|
|
143
148
|
invalid_properties
|
|
144
149
|
end
|
|
145
150
|
|
|
146
151
|
# Check to see if the all the properties in the model are valid
|
|
147
152
|
# @return true if the model is valid
|
|
148
153
|
def valid?
|
|
149
|
-
return false if @id.nil?
|
|
150
|
-
return false if @created_at.nil?
|
|
151
154
|
return false if @event_type.nil?
|
|
152
155
|
event_type_validator = EnumAttributeValidator.new('String', ["contact.propertyChange", "company.propertyChange", "deal.propertyChange", "contact.creation", "contact.deletion", "contact.privacyDeletion", "company.creation", "company.deletion", "deal.creation", "deal.deletion"])
|
|
153
156
|
return false unless event_type_validator.valid?(@event_type)
|
|
157
|
+
return false if @active.nil?
|
|
158
|
+
return false if @id.nil?
|
|
159
|
+
return false if @created_at.nil?
|
|
154
160
|
true
|
|
155
161
|
end
|
|
156
162
|
|
|
@@ -169,12 +175,12 @@ module Hubspot
|
|
|
169
175
|
def ==(o)
|
|
170
176
|
return true if self.equal?(o)
|
|
171
177
|
self.class == o.class &&
|
|
172
|
-
id == o.id &&
|
|
173
|
-
created_at == o.created_at &&
|
|
174
|
-
updated_at == o.updated_at &&
|
|
175
178
|
event_type == o.event_type &&
|
|
176
179
|
property_name == o.property_name &&
|
|
177
|
-
active == o.active
|
|
180
|
+
active == o.active &&
|
|
181
|
+
id == o.id &&
|
|
182
|
+
created_at == o.created_at &&
|
|
183
|
+
updated_at == o.updated_at
|
|
178
184
|
end
|
|
179
185
|
|
|
180
186
|
# @see the `==` method
|
|
@@ -186,7 +192,7 @@ module Hubspot
|
|
|
186
192
|
# Calculates hash code according to all attributes.
|
|
187
193
|
# @return [Integer] Hash code
|
|
188
194
|
def hash
|
|
189
|
-
[
|
|
195
|
+
[event_type, property_name, active, id, created_at, updated_at].hash
|
|
190
196
|
end
|
|
191
197
|
|
|
192
198
|
# Builds the object from hash
|
data/lib/hubspot/exceptions.rb
CHANGED
|
@@ -1,3 +1,14 @@
|
|
|
1
1
|
module Hubspot
|
|
2
2
|
class ConfigurationError < StandardError; end
|
|
3
|
+
|
|
4
|
+
class InvalidSignatureError < StandardError
|
|
5
|
+
def initialize(msg: nil, signature: nil, signature_version: nil, hash_result: nil)
|
|
6
|
+
@signature = signature
|
|
7
|
+
@signature_version = signature_version
|
|
8
|
+
@hash_result = hash_result
|
|
9
|
+
msg = "Invalid signature passed to request" if msg.nil?
|
|
10
|
+
|
|
11
|
+
super(msg)
|
|
12
|
+
end
|
|
13
|
+
end
|
|
3
14
|
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module Hubspot
|
|
2
|
+
module Helpers
|
|
3
|
+
class WebhooksHelper
|
|
4
|
+
def self.validate_signature(
|
|
5
|
+
signature:,
|
|
6
|
+
client_secret:,
|
|
7
|
+
http_uri:,
|
|
8
|
+
request_body:,
|
|
9
|
+
http_method: 'POST',
|
|
10
|
+
signature_version: 'v2'
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
if signature_version == 'v1'
|
|
14
|
+
source_string = client_secret + request_body.to_s
|
|
15
|
+
else
|
|
16
|
+
source_string = client_secret + http_method + http_uri + request_body.to_s
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
hash_result = Digest::SHA2.hexdigest(source_string.encode('utf-8'))
|
|
20
|
+
|
|
21
|
+
if hash_result != signature
|
|
22
|
+
raise InvalidSignatureError.new(
|
|
23
|
+
signature: signature,
|
|
24
|
+
signature_version: signature_version,
|
|
25
|
+
hash_result: hash_result
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|