hubspot-api-client 7.3.0 → 8.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (38) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +5 -0
  3. data/lib/hubspot-api-client.rb +55 -24
  4. data/lib/hubspot/codegen/cms/hubdb/api/default_api.rb +2090 -0
  5. data/lib/hubspot/codegen/cms/hubdb/api_client.rb +422 -0
  6. data/lib/hubspot/codegen/cms/hubdb/api_error.rb +61 -0
  7. data/lib/hubspot/codegen/cms/hubdb/configuration.rb +251 -0
  8. data/lib/hubspot/codegen/cms/hubdb/models/batch_input_hub_db_table_row_v3.rb +217 -0
  9. data/lib/hubspot/codegen/cms/hubdb/models/batch_input_json_node.rb +215 -0
  10. data/lib/hubspot/codegen/cms/hubdb/models/batch_input_string.rb +217 -0
  11. data/lib/hubspot/codegen/cms/hubdb/models/batch_response_hub_db_table_row_v3_with_errors.rb +333 -0
  12. data/lib/hubspot/codegen/cms/hubdb/models/collection_response_with_total_hub_db_table_row_v3.rb +240 -0
  13. data/lib/hubspot/codegen/cms/hubdb/models/collection_response_with_total_hub_db_table_v3.rb +240 -0
  14. data/lib/hubspot/codegen/cms/hubdb/models/column.rb +388 -0
  15. data/lib/hubspot/codegen/cms/hubdb/models/column_input.rb +288 -0
  16. data/lib/hubspot/codegen/cms/hubdb/models/error.rb +292 -0
  17. data/lib/hubspot/codegen/cms/hubdb/models/error_detail.rb +258 -0
  18. data/lib/hubspot/codegen/cms/hubdb/models/foreign_id.rb +243 -0
  19. data/lib/hubspot/codegen/cms/hubdb/models/hub_db_table_clone_request.rb +241 -0
  20. data/lib/hubspot/codegen/cms/hubdb/models/hub_db_table_row_v3.rb +291 -0
  21. data/lib/hubspot/codegen/cms/hubdb/models/hub_db_table_row_v3_input.rb +243 -0
  22. data/lib/hubspot/codegen/cms/hubdb/models/hub_db_table_v3.rb +383 -0
  23. data/lib/hubspot/codegen/cms/hubdb/models/hub_db_table_v3_input.rb +295 -0
  24. data/lib/hubspot/codegen/cms/hubdb/models/hub_db_table_v3_live_input.rb +241 -0
  25. data/lib/hubspot/codegen/cms/hubdb/models/import_result.rb +263 -0
  26. data/lib/hubspot/codegen/cms/hubdb/models/next_page.rb +224 -0
  27. data/lib/hubspot/codegen/cms/hubdb/models/option.rb +257 -0
  28. data/lib/hubspot/codegen/cms/hubdb/models/paging.rb +219 -0
  29. data/lib/hubspot/codegen/cms/hubdb/models/previous_page.rb +224 -0
  30. data/lib/hubspot/codegen/cms/hubdb/models/simple_user.rb +257 -0
  31. data/lib/hubspot/version.rb +1 -1
  32. data/sample-apps/timeline-events-app/.env.template +1 -1
  33. data/sample-apps/timeline-events-app/Gemfile.lock +1 -1
  34. data/sample-apps/timeline-events-app/README.md +30 -0
  35. data/sample-apps/timeline-events-app/app/assets/stylesheets/application.css +78 -8
  36. data/sample-apps/timeline-events-app/app/controllers/timeline_events_controller.rb +1 -1
  37. data/sample-apps/timeline-events-app/app/views/timeline_events/index.html.erb +17 -19
  38. metadata +46 -12
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45d9298dae4627d6238df9b566ca68164b4e3ba80d4b13becdcc48c9f74e538d
4
- data.tar.gz: 9b966a39f3c877bd1e5be64e4a8cedcf74a0e134627ac03bd2f3afc459958a61
3
+ metadata.gz: 7c05bc78bc086fee712e2f40eafe01811ee5c3fe602b28fbd966da0ee7d57508
4
+ data.tar.gz: c17de5ab9d7d6404cf1ef0ad404ba8351f5610283545f495b4d8e8345b93c713
5
5
  SHA512:
6
- metadata.gz: 1696fdd6b07e5b9a8271057c2811fef823df81ba2375c535a3faa6a8cabac2c6b600e1a10c63b44c270881f4e2fb6f21237dc74c2311b1509587764dd809256e
7
- data.tar.gz: 56e0073e55416fe94acf33413dc9f36b1866c79bdd455238a55bb18eb522fa590d65b9e42875a190541654af70541fb0adc62bd6c7e2d1b3d805e9d710801778
6
+ metadata.gz: 758bb8041987d8c6c51f859ca3a0b5905acc18d1469e3ee809ed4a28e744bb6d89703cf2f169aa985edcbbb64f63518b97ce3a508ddbe222cfaaa8cfc1f49baf
7
+ data.tar.gz: ca4c0a101330c9146390d3ec5cdae782c7392a2ce9e4a83cfa3cefca13f2568d42e5b520a0a32eee6708182723da23d55f452a1c56b3cbc83055784d3ceff599
@@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [8.0.0] - 2020-10-20
9
+
10
+ - Add hubdb client
11
+ - Add missing clients to main config
12
+
8
13
  ## [7.3.0] - 2020-10-09
9
14
 
10
15
  - Add timeline events sample app
@@ -45,6 +45,34 @@ require 'hubspot/codegen/cms/domains/models/error_detail'
45
45
  require 'hubspot/codegen/cms/domains/models/next_page'
46
46
  require 'hubspot/codegen/cms/domains/models/paging'
47
47
 
48
+ require 'hubspot/codegen/cms/hubdb/api_client'
49
+ require 'hubspot/codegen/cms/hubdb/api_error'
50
+ require 'hubspot/codegen/cms/hubdb/configuration'
51
+ require 'hubspot/codegen/cms/hubdb/api/default_api'
52
+ require 'hubspot/codegen/cms/hubdb/models/batch_input_hub_db_table_row_v3'
53
+ require 'hubspot/codegen/cms/hubdb/models/batch_input_json_node'
54
+ require 'hubspot/codegen/cms/hubdb/models/batch_input_string'
55
+ require 'hubspot/codegen/cms/hubdb/models/batch_response_hub_db_table_row_v3_with_errors'
56
+ require 'hubspot/codegen/cms/hubdb/models/collection_response_with_total_hub_db_table_row_v3'
57
+ require 'hubspot/codegen/cms/hubdb/models/collection_response_with_total_hub_db_table_v3'
58
+ require 'hubspot/codegen/cms/hubdb/models/column'
59
+ require 'hubspot/codegen/cms/hubdb/models/column_input'
60
+ require 'hubspot/codegen/cms/hubdb/models/error'
61
+ require 'hubspot/codegen/cms/hubdb/models/error_detail'
62
+ require 'hubspot/codegen/cms/hubdb/models/foreign_id'
63
+ require 'hubspot/codegen/cms/hubdb/models/hub_db_table_clone_request'
64
+ require 'hubspot/codegen/cms/hubdb/models/hub_db_table_row_v3'
65
+ require 'hubspot/codegen/cms/hubdb/models/hub_db_table_row_v3_input'
66
+ require 'hubspot/codegen/cms/hubdb/models/hub_db_table_v3'
67
+ require 'hubspot/codegen/cms/hubdb/models/hub_db_table_v3_input'
68
+ require 'hubspot/codegen/cms/hubdb/models/hub_db_table_v3_live_input'
69
+ require 'hubspot/codegen/cms/hubdb/models/import_result'
70
+ require 'hubspot/codegen/cms/hubdb/models/next_page'
71
+ require 'hubspot/codegen/cms/hubdb/models/option'
72
+ require 'hubspot/codegen/cms/hubdb/models/paging'
73
+ require 'hubspot/codegen/cms/hubdb/models/previous_page'
74
+ require 'hubspot/codegen/cms/hubdb/models/simple_user'
75
+
48
76
  require 'hubspot/codegen/cms/performance/api_client'
49
77
  require 'hubspot/codegen/cms/performance/api_error'
50
78
  require 'hubspot/codegen/cms/performance/configuration'
@@ -155,30 +183,6 @@ require 'hubspot/codegen/crm/contacts/models/simple_public_object_batch_input'
155
183
  require 'hubspot/codegen/crm/contacts/models/simple_public_object_id'
156
184
  require 'hubspot/codegen/crm/contacts/models/simple_public_object_input'
157
185
 
158
- require 'hubspot/codegen/crm/schemas/api_client'
159
- require 'hubspot/codegen/crm/schemas/api_error'
160
- require 'hubspot/codegen/crm/schemas/configuration'
161
- require 'hubspot/codegen/crm/schemas/api/core_api'
162
- require 'hubspot/codegen/crm/schemas/api/default_api'
163
- require 'hubspot/codegen/crm/schemas/models/association_definition'
164
- require 'hubspot/codegen/crm/schemas/models/association_definition_egg'
165
- require 'hubspot/codegen/crm/schemas/models/collection_response_object_schema'
166
- require 'hubspot/codegen/crm/schemas/models/error'
167
- require 'hubspot/codegen/crm/schemas/models/error_detail'
168
- require 'hubspot/codegen/crm/schemas/models/next_page'
169
- require 'hubspot/codegen/crm/schemas/models/object_schema'
170
- require 'hubspot/codegen/crm/schemas/models/object_schema_egg'
171
- require 'hubspot/codegen/crm/schemas/models/object_type_definition'
172
- require 'hubspot/codegen/crm/schemas/models/object_type_definition_labels'
173
- require 'hubspot/codegen/crm/schemas/models/object_type_definition_patch'
174
- require 'hubspot/codegen/crm/schemas/models/object_type_property_create'
175
- require 'hubspot/codegen/crm/schemas/models/option'
176
- require 'hubspot/codegen/crm/schemas/models/option_input'
177
- require 'hubspot/codegen/crm/schemas/models/paging'
178
- require 'hubspot/codegen/crm/schemas/models/previous_page'
179
- require 'hubspot/codegen/crm/schemas/models/property'
180
- require 'hubspot/codegen/crm/schemas/models/property_modification_metadata'
181
-
182
186
  require 'hubspot/codegen/crm/deals/api_client'
183
187
  require 'hubspot/codegen/crm/deals/api_error'
184
188
  require 'hubspot/codegen/crm/deals/configuration'
@@ -423,6 +427,30 @@ require 'hubspot/codegen/crm/quotes/models/simple_public_object_batch_input'
423
427
  require 'hubspot/codegen/crm/quotes/models/simple_public_object_id'
424
428
  require 'hubspot/codegen/crm/quotes/models/simple_public_object_input'
425
429
 
430
+ require 'hubspot/codegen/crm/schemas/api_client'
431
+ require 'hubspot/codegen/crm/schemas/api_error'
432
+ require 'hubspot/codegen/crm/schemas/configuration'
433
+ require 'hubspot/codegen/crm/schemas/api/core_api'
434
+ require 'hubspot/codegen/crm/schemas/api/default_api'
435
+ require 'hubspot/codegen/crm/schemas/models/association_definition'
436
+ require 'hubspot/codegen/crm/schemas/models/association_definition_egg'
437
+ require 'hubspot/codegen/crm/schemas/models/collection_response_object_schema'
438
+ require 'hubspot/codegen/crm/schemas/models/error'
439
+ require 'hubspot/codegen/crm/schemas/models/error_detail'
440
+ require 'hubspot/codegen/crm/schemas/models/next_page'
441
+ require 'hubspot/codegen/crm/schemas/models/object_schema'
442
+ require 'hubspot/codegen/crm/schemas/models/object_schema_egg'
443
+ require 'hubspot/codegen/crm/schemas/models/object_type_definition'
444
+ require 'hubspot/codegen/crm/schemas/models/object_type_definition_labels'
445
+ require 'hubspot/codegen/crm/schemas/models/object_type_definition_patch'
446
+ require 'hubspot/codegen/crm/schemas/models/object_type_property_create'
447
+ require 'hubspot/codegen/crm/schemas/models/option'
448
+ require 'hubspot/codegen/crm/schemas/models/option_input'
449
+ require 'hubspot/codegen/crm/schemas/models/paging'
450
+ require 'hubspot/codegen/crm/schemas/models/previous_page'
451
+ require 'hubspot/codegen/crm/schemas/models/property'
452
+ require 'hubspot/codegen/crm/schemas/models/property_modification_metadata'
453
+
426
454
  require 'hubspot/codegen/crm/tickets/api_client'
427
455
  require 'hubspot/codegen/crm/tickets/api_error'
428
456
  require 'hubspot/codegen/crm/tickets/configuration'
@@ -513,6 +541,7 @@ module Hubspot
513
541
  'Webhooks',
514
542
  'Cms::AuditLogs',
515
543
  'Cms::Domains',
544
+ 'Cms::Hubdb',
516
545
  'Cms::Performance',
517
546
  'Cms::SiteSearch',
518
547
  'Cms::UrlRedirects',
@@ -523,11 +552,13 @@ module Hubspot
523
552
  'Crm::Extensions::Cards',
524
553
  'Crm::Imports',
525
554
  'Crm::LineItems',
555
+ 'Crm::Objects',
526
556
  'Crm::Owners',
527
557
  'Crm::Pipelines',
528
558
  'Crm::Products',
529
559
  'Crm::Properties',
530
560
  'Crm::Quotes',
561
+ 'Crm::Schemas',
531
562
  'Crm::Tickets',
532
563
  'Crm::Timeline'
533
564
  ].freeze
@@ -0,0 +1,2090 @@
1
+ =begin
2
+ #HubDB endpoints
3
+
4
+ #HubDB is a relational data store that presents data as rows, columns, and cells in a table, much like a spreadsheet. HubDB tables can be added or modified [in the HubSpot CMS](https://knowledge.hubspot.com/cos-general/how-to-edit-hubdb-tables), but you can also use the API endpoints documented here. For more information on HubDB tables and using their data on a HubSpot site, see the [CMS developers site](https://designers.hubspot.com/docs/tools/hubdb). You can also see the [documentation for dynamic pages](https://designers.hubspot.com/docs/tutorials/how-to-build-dynamic-pages-with-hubdb) for more details about the `useForPages` field. HubDB tables now support `DRAFT` and `PUBLISHED` versions. This allows you to update data in the table, either for testing or to allow for a manual approval process, without affecting any live pages using the existing data. Draft data can be reviewed and published by a user working in HubSpot or published via the API. Draft data can also be discarded, allowing users to go back to the live version of the data without disrupting it.
5
+
6
+ The version of the OpenAPI document: v3
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'cgi'
14
+
15
+ module Hubspot
16
+ module Cms
17
+ module Hubdb
18
+ class DefaultApi
19
+ attr_accessor :api_client
20
+
21
+ def initialize(api_client = ApiClient.default)
22
+ @api_client = api_client
23
+ end
24
+ # Archive a table
25
+ # Archive an existing HubDB table.
26
+ # @param table_id [String] The ID or name of the table to archive.
27
+ # @param [Hash] opts the optional parameters
28
+ # @return [nil]
29
+ def archive_table(table_id, opts = {})
30
+ archive_table_with_http_info(table_id, opts)
31
+ nil
32
+ end
33
+
34
+ # Archive a table
35
+ # Archive an existing HubDB table.
36
+ # @param table_id [String] The ID or name of the table to archive.
37
+ # @param [Hash] opts the optional parameters
38
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
39
+ def archive_table_with_http_info(table_id, opts = {})
40
+ if @api_client.config.debugging
41
+ @api_client.config.logger.debug 'Calling API: DefaultApi.archive_table ...'
42
+ end
43
+ # verify the required parameter 'table_id' is set
44
+ if @api_client.config.client_side_validation && table_id.nil?
45
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.archive_table"
46
+ end
47
+ # resource path
48
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
49
+
50
+ # query parameters
51
+ query_params = opts[:query_params] || {}
52
+
53
+ # header parameters
54
+ header_params = opts[:header_params] || {}
55
+ # HTTP header 'Accept' (if needed)
56
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
57
+
58
+ # form parameters
59
+ form_params = opts[:form_params] || {}
60
+
61
+ # http body (model)
62
+ post_body = opts[:body]
63
+
64
+ # auth_names
65
+ auth_names = opts[:auth_names] || ['oauth2']
66
+
67
+ # return_type
68
+ return_type = opts[:return_type]
69
+
70
+ return_types_map = {}
71
+
72
+ new_options = opts.merge(
73
+ :header_params => header_params,
74
+ :query_params => query_params,
75
+ :form_params => form_params,
76
+ :body => post_body,
77
+ :auth_names => auth_names,
78
+ :return_type => return_type,
79
+ :return_types_map => return_types_map
80
+ )
81
+
82
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
83
+ if @api_client.config.debugging
84
+ @api_client.config.logger.debug "API called: DefaultApi#archive_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
85
+ end
86
+ return data, status_code, headers
87
+ end
88
+
89
+ # Clone rows in batch
90
+ # Clones rows in the `DRAFT` version of the specified table, given a set of row ids.
91
+ # @param table_id [String] The ID or name of the table
92
+ # @param batch_input_string [BatchInputString] The JSON array of row ids
93
+ # @param [Hash] opts the optional parameters
94
+ # @return [Object]
95
+ def batch_clone_draft_table_rows(table_id, batch_input_string, opts = {})
96
+ data, _status_code, _headers = batch_clone_draft_table_rows_with_http_info(table_id, batch_input_string, opts)
97
+ data
98
+ end
99
+
100
+ # Clone rows in batch
101
+ # Clones rows in the &#x60;DRAFT&#x60; version of the specified table, given a set of row ids.
102
+ # @param table_id [String] The ID or name of the table
103
+ # @param batch_input_string [BatchInputString] The JSON array of row ids
104
+ # @param [Hash] opts the optional parameters
105
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
106
+ def batch_clone_draft_table_rows_with_http_info(table_id, batch_input_string, opts = {})
107
+ if @api_client.config.debugging
108
+ @api_client.config.logger.debug 'Calling API: DefaultApi.batch_clone_draft_table_rows ...'
109
+ end
110
+ # verify the required parameter 'table_id' is set
111
+ if @api_client.config.client_side_validation && table_id.nil?
112
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.batch_clone_draft_table_rows"
113
+ end
114
+ # verify the required parameter 'batch_input_string' is set
115
+ if @api_client.config.client_side_validation && batch_input_string.nil?
116
+ fail ArgumentError, "Missing the required parameter 'batch_input_string' when calling DefaultApi.batch_clone_draft_table_rows"
117
+ end
118
+ # resource path
119
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/draft/batch/clone'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
120
+
121
+ # query parameters
122
+ query_params = opts[:query_params] || {}
123
+
124
+ # header parameters
125
+ header_params = opts[:header_params] || {}
126
+ # HTTP header 'Accept' (if needed)
127
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
128
+ # HTTP header 'Content-Type'
129
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
130
+
131
+ # form parameters
132
+ form_params = opts[:form_params] || {}
133
+
134
+ # http body (model)
135
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_input_string)
136
+
137
+ # auth_names
138
+ auth_names = opts[:auth_names] || ['oauth2']
139
+
140
+ # return_type
141
+ return_type = opts[:return_type]
142
+
143
+ return_types_map = {
144
+ 200 => 'Object',
145
+ }
146
+
147
+ new_options = opts.merge(
148
+ :header_params => header_params,
149
+ :query_params => query_params,
150
+ :form_params => form_params,
151
+ :body => post_body,
152
+ :auth_names => auth_names,
153
+ :return_type => return_type,
154
+ :return_types_map => return_types_map
155
+ )
156
+
157
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
158
+ if @api_client.config.debugging
159
+ @api_client.config.logger.debug "API called: DefaultApi#batch_clone_draft_table_rows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
160
+ end
161
+ return data, status_code, headers
162
+ end
163
+
164
+ # Create rows in batch
165
+ # Creates rows in the `DRAFT` version of the specified table, given an array of row objects. See the endpoint `/tables/{tableId}/rows` for more details.
166
+ # @param table_id [String] The ID or name of the table
167
+ # @param batch_input_hub_db_table_row_v3 [BatchInputHubDbTableRowV3] JSON array of row objects
168
+ # @param [Hash] opts the optional parameters
169
+ # @return [Object]
170
+ def batch_create_draft_table_rows(table_id, batch_input_hub_db_table_row_v3, opts = {})
171
+ data, _status_code, _headers = batch_create_draft_table_rows_with_http_info(table_id, batch_input_hub_db_table_row_v3, opts)
172
+ data
173
+ end
174
+
175
+ # Create rows in batch
176
+ # Creates rows in the &#x60;DRAFT&#x60; version of the specified table, given an array of row objects. See the endpoint &#x60;/tables/{tableId}/rows&#x60; for more details.
177
+ # @param table_id [String] The ID or name of the table
178
+ # @param batch_input_hub_db_table_row_v3 [BatchInputHubDbTableRowV3] JSON array of row objects
179
+ # @param [Hash] opts the optional parameters
180
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
181
+ def batch_create_draft_table_rows_with_http_info(table_id, batch_input_hub_db_table_row_v3, opts = {})
182
+ if @api_client.config.debugging
183
+ @api_client.config.logger.debug 'Calling API: DefaultApi.batch_create_draft_table_rows ...'
184
+ end
185
+ # verify the required parameter 'table_id' is set
186
+ if @api_client.config.client_side_validation && table_id.nil?
187
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.batch_create_draft_table_rows"
188
+ end
189
+ # verify the required parameter 'batch_input_hub_db_table_row_v3' is set
190
+ if @api_client.config.client_side_validation && batch_input_hub_db_table_row_v3.nil?
191
+ fail ArgumentError, "Missing the required parameter 'batch_input_hub_db_table_row_v3' when calling DefaultApi.batch_create_draft_table_rows"
192
+ end
193
+ # resource path
194
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/draft/batch/create'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
195
+
196
+ # query parameters
197
+ query_params = opts[:query_params] || {}
198
+
199
+ # header parameters
200
+ header_params = opts[:header_params] || {}
201
+ # HTTP header 'Accept' (if needed)
202
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
203
+ # HTTP header 'Content-Type'
204
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
205
+
206
+ # form parameters
207
+ form_params = opts[:form_params] || {}
208
+
209
+ # http body (model)
210
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_input_hub_db_table_row_v3)
211
+
212
+ # auth_names
213
+ auth_names = opts[:auth_names] || ['oauth2']
214
+
215
+ # return_type
216
+ return_type = opts[:return_type]
217
+
218
+ return_types_map = {
219
+ 201 => 'Object',
220
+ 207 => 'BatchResponseHubDbTableRowV3WithErrors',
221
+ }
222
+
223
+ new_options = opts.merge(
224
+ :header_params => header_params,
225
+ :query_params => query_params,
226
+ :form_params => form_params,
227
+ :body => post_body,
228
+ :auth_names => auth_names,
229
+ :return_type => return_type,
230
+ :return_types_map => return_types_map
231
+ )
232
+
233
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
234
+ if @api_client.config.debugging
235
+ @api_client.config.logger.debug "API called: DefaultApi#batch_create_draft_table_rows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
236
+ end
237
+ return data, status_code, headers
238
+ end
239
+
240
+ # Permanently deletes rows
241
+ # Permanently deletes rows from the `DRAFT` version of the table, given a set of row ids.
242
+ # @param table_id [String] The ID or name of the table
243
+ # @param batch_input_string [BatchInputString] JSON array of row ids.
244
+ # @param [Hash] opts the optional parameters
245
+ # @return [nil]
246
+ def batch_purge_draft_table_rows(table_id, batch_input_string, opts = {})
247
+ batch_purge_draft_table_rows_with_http_info(table_id, batch_input_string, opts)
248
+ nil
249
+ end
250
+
251
+ # Permanently deletes rows
252
+ # Permanently deletes rows from the &#x60;DRAFT&#x60; version of the table, given a set of row ids.
253
+ # @param table_id [String] The ID or name of the table
254
+ # @param batch_input_string [BatchInputString] JSON array of row ids.
255
+ # @param [Hash] opts the optional parameters
256
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
257
+ def batch_purge_draft_table_rows_with_http_info(table_id, batch_input_string, opts = {})
258
+ if @api_client.config.debugging
259
+ @api_client.config.logger.debug 'Calling API: DefaultApi.batch_purge_draft_table_rows ...'
260
+ end
261
+ # verify the required parameter 'table_id' is set
262
+ if @api_client.config.client_side_validation && table_id.nil?
263
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.batch_purge_draft_table_rows"
264
+ end
265
+ # verify the required parameter 'batch_input_string' is set
266
+ if @api_client.config.client_side_validation && batch_input_string.nil?
267
+ fail ArgumentError, "Missing the required parameter 'batch_input_string' when calling DefaultApi.batch_purge_draft_table_rows"
268
+ end
269
+ # resource path
270
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/draft/batch/purge'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
271
+
272
+ # query parameters
273
+ query_params = opts[:query_params] || {}
274
+
275
+ # header parameters
276
+ header_params = opts[:header_params] || {}
277
+ # HTTP header 'Accept' (if needed)
278
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
279
+ # HTTP header 'Content-Type'
280
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
281
+
282
+ # form parameters
283
+ form_params = opts[:form_params] || {}
284
+
285
+ # http body (model)
286
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_input_string)
287
+
288
+ # auth_names
289
+ auth_names = opts[:auth_names] || ['oauth2']
290
+
291
+ # return_type
292
+ return_type = opts[:return_type]
293
+
294
+ return_types_map = {}
295
+
296
+ new_options = opts.merge(
297
+ :header_params => header_params,
298
+ :query_params => query_params,
299
+ :form_params => form_params,
300
+ :body => post_body,
301
+ :auth_names => auth_names,
302
+ :return_type => return_type,
303
+ :return_types_map => return_types_map
304
+ )
305
+
306
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
307
+ if @api_client.config.debugging
308
+ @api_client.config.logger.debug "API called: DefaultApi#batch_purge_draft_table_rows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
309
+ end
310
+ return data, status_code, headers
311
+ end
312
+
313
+ # Get a set of rows from DRAFT table
314
+ # Returns rows in the `DRAFT` version of the specified table, given a set of row ids.
315
+ # @param table_id [String] The ID or name of the table
316
+ # @param batch_input_string [BatchInputString] JSON array of row ids.
317
+ # @param [Hash] opts the optional parameters
318
+ # @return [Object]
319
+ def batch_read_draft_table_rows(table_id, batch_input_string, opts = {})
320
+ data, _status_code, _headers = batch_read_draft_table_rows_with_http_info(table_id, batch_input_string, opts)
321
+ data
322
+ end
323
+
324
+ # Get a set of rows from DRAFT table
325
+ # Returns rows in the &#x60;DRAFT&#x60; version of the specified table, given a set of row ids.
326
+ # @param table_id [String] The ID or name of the table
327
+ # @param batch_input_string [BatchInputString] JSON array of row ids.
328
+ # @param [Hash] opts the optional parameters
329
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
330
+ def batch_read_draft_table_rows_with_http_info(table_id, batch_input_string, opts = {})
331
+ if @api_client.config.debugging
332
+ @api_client.config.logger.debug 'Calling API: DefaultApi.batch_read_draft_table_rows ...'
333
+ end
334
+ # verify the required parameter 'table_id' is set
335
+ if @api_client.config.client_side_validation && table_id.nil?
336
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.batch_read_draft_table_rows"
337
+ end
338
+ # verify the required parameter 'batch_input_string' is set
339
+ if @api_client.config.client_side_validation && batch_input_string.nil?
340
+ fail ArgumentError, "Missing the required parameter 'batch_input_string' when calling DefaultApi.batch_read_draft_table_rows"
341
+ end
342
+ # resource path
343
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/draft/batch/read'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
344
+
345
+ # query parameters
346
+ query_params = opts[:query_params] || {}
347
+
348
+ # header parameters
349
+ header_params = opts[:header_params] || {}
350
+ # HTTP header 'Accept' (if needed)
351
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
352
+ # HTTP header 'Content-Type'
353
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
354
+
355
+ # form parameters
356
+ form_params = opts[:form_params] || {}
357
+
358
+ # http body (model)
359
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_input_string)
360
+
361
+ # auth_names
362
+ auth_names = opts[:auth_names] || ['oauth2']
363
+
364
+ # return_type
365
+ return_type = opts[:return_type]
366
+
367
+ return_types_map = {
368
+ 200 => 'Object',
369
+ 207 => 'BatchResponseHubDbTableRowV3WithErrors',
370
+ }
371
+
372
+ new_options = opts.merge(
373
+ :header_params => header_params,
374
+ :query_params => query_params,
375
+ :form_params => form_params,
376
+ :body => post_body,
377
+ :auth_names => auth_names,
378
+ :return_type => return_type,
379
+ :return_types_map => return_types_map
380
+ )
381
+
382
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
383
+ if @api_client.config.debugging
384
+ @api_client.config.logger.debug "API called: DefaultApi#batch_read_draft_table_rows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
385
+ end
386
+ return data, status_code, headers
387
+ end
388
+
389
+ # Get a set of rows
390
+ # Returns rows in the `PUBLISHED` version of the specified table, given a set of row ids.
391
+ # @param table_id [String] The ID or name of the table to query.
392
+ # @param batch_input_string [BatchInputString] The JSON array of row ids
393
+ # @param [Hash] opts the optional parameters
394
+ # @return [Object]
395
+ def batch_read_table_rows(table_id, batch_input_string, opts = {})
396
+ data, _status_code, _headers = batch_read_table_rows_with_http_info(table_id, batch_input_string, opts)
397
+ data
398
+ end
399
+
400
+ # Get a set of rows
401
+ # Returns rows in the &#x60;PUBLISHED&#x60; version of the specified table, given a set of row ids.
402
+ # @param table_id [String] The ID or name of the table to query.
403
+ # @param batch_input_string [BatchInputString] The JSON array of row ids
404
+ # @param [Hash] opts the optional parameters
405
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
406
+ def batch_read_table_rows_with_http_info(table_id, batch_input_string, opts = {})
407
+ if @api_client.config.debugging
408
+ @api_client.config.logger.debug 'Calling API: DefaultApi.batch_read_table_rows ...'
409
+ end
410
+ # verify the required parameter 'table_id' is set
411
+ if @api_client.config.client_side_validation && table_id.nil?
412
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.batch_read_table_rows"
413
+ end
414
+ # verify the required parameter 'batch_input_string' is set
415
+ if @api_client.config.client_side_validation && batch_input_string.nil?
416
+ fail ArgumentError, "Missing the required parameter 'batch_input_string' when calling DefaultApi.batch_read_table_rows"
417
+ end
418
+ # resource path
419
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/batch/read'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
420
+
421
+ # query parameters
422
+ query_params = opts[:query_params] || {}
423
+
424
+ # header parameters
425
+ header_params = opts[:header_params] || {}
426
+ # HTTP header 'Accept' (if needed)
427
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
428
+ # HTTP header 'Content-Type'
429
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
430
+
431
+ # form parameters
432
+ form_params = opts[:form_params] || {}
433
+
434
+ # http body (model)
435
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_input_string)
436
+
437
+ # auth_names
438
+ auth_names = opts[:auth_names] || ['oauth2']
439
+
440
+ # return_type
441
+ return_type = opts[:return_type]
442
+
443
+ return_types_map = {
444
+ 200 => 'Object',
445
+ 207 => 'BatchResponseHubDbTableRowV3WithErrors',
446
+ }
447
+
448
+ new_options = opts.merge(
449
+ :header_params => header_params,
450
+ :query_params => query_params,
451
+ :form_params => form_params,
452
+ :body => post_body,
453
+ :auth_names => auth_names,
454
+ :return_type => return_type,
455
+ :return_types_map => return_types_map
456
+ )
457
+
458
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
459
+ if @api_client.config.debugging
460
+ @api_client.config.logger.debug "API called: DefaultApi#batch_read_table_rows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
461
+ end
462
+ return data, status_code, headers
463
+ end
464
+
465
+ # Replace rows in batch in DRAFT table
466
+ # Updates multiple rows as a batch in the `DRAFT` version of the table. See the endpoint `/tables/{tableId}/rows/{rowId}/draft PUT` for details on updating a single row.
467
+ # @param table_id [String] The ID or name of the table
468
+ # @param batch_input_hub_db_table_row_v3 [BatchInputHubDbTableRowV3] JSON array of row objects.
469
+ # @param [Hash] opts the optional parameters
470
+ # @return [Object]
471
+ def batch_replace_draft_table_rows(table_id, batch_input_hub_db_table_row_v3, opts = {})
472
+ data, _status_code, _headers = batch_replace_draft_table_rows_with_http_info(table_id, batch_input_hub_db_table_row_v3, opts)
473
+ data
474
+ end
475
+
476
+ # Replace rows in batch in DRAFT table
477
+ # Updates multiple rows as a batch in the &#x60;DRAFT&#x60; version of the table. See the endpoint &#x60;/tables/{tableId}/rows/{rowId}/draft PUT&#x60; for details on updating a single row.
478
+ # @param table_id [String] The ID or name of the table
479
+ # @param batch_input_hub_db_table_row_v3 [BatchInputHubDbTableRowV3] JSON array of row objects.
480
+ # @param [Hash] opts the optional parameters
481
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
482
+ def batch_replace_draft_table_rows_with_http_info(table_id, batch_input_hub_db_table_row_v3, opts = {})
483
+ if @api_client.config.debugging
484
+ @api_client.config.logger.debug 'Calling API: DefaultApi.batch_replace_draft_table_rows ...'
485
+ end
486
+ # verify the required parameter 'table_id' is set
487
+ if @api_client.config.client_side_validation && table_id.nil?
488
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.batch_replace_draft_table_rows"
489
+ end
490
+ # verify the required parameter 'batch_input_hub_db_table_row_v3' is set
491
+ if @api_client.config.client_side_validation && batch_input_hub_db_table_row_v3.nil?
492
+ fail ArgumentError, "Missing the required parameter 'batch_input_hub_db_table_row_v3' when calling DefaultApi.batch_replace_draft_table_rows"
493
+ end
494
+ # resource path
495
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/draft/batch/replace'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
496
+
497
+ # query parameters
498
+ query_params = opts[:query_params] || {}
499
+
500
+ # header parameters
501
+ header_params = opts[:header_params] || {}
502
+ # HTTP header 'Accept' (if needed)
503
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
504
+ # HTTP header 'Content-Type'
505
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
506
+
507
+ # form parameters
508
+ form_params = opts[:form_params] || {}
509
+
510
+ # http body (model)
511
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_input_hub_db_table_row_v3)
512
+
513
+ # auth_names
514
+ auth_names = opts[:auth_names] || ['oauth2']
515
+
516
+ # return_type
517
+ return_type = opts[:return_type]
518
+
519
+ return_types_map = {
520
+ 200 => 'Object',
521
+ 207 => 'BatchResponseHubDbTableRowV3WithErrors',
522
+ }
523
+
524
+ new_options = opts.merge(
525
+ :header_params => header_params,
526
+ :query_params => query_params,
527
+ :form_params => form_params,
528
+ :body => post_body,
529
+ :auth_names => auth_names,
530
+ :return_type => return_type,
531
+ :return_types_map => return_types_map
532
+ )
533
+
534
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
535
+ if @api_client.config.debugging
536
+ @api_client.config.logger.debug "API called: DefaultApi#batch_replace_draft_table_rows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
537
+ end
538
+ return data, status_code, headers
539
+ end
540
+
541
+ # Update rows in batch in DRAFT table
542
+ # Updates multiple rows as a batch in the `DRAFT` version of the table. See the endpoint `/tables/{tableId}/rows/{rowId}/draft PATCH` for details on updating a single row.
543
+ # @param table_id [String] The ID or name of the table
544
+ # @param batch_input_json_node [BatchInputJsonNode] JSON array of row objects.
545
+ # @param [Hash] opts the optional parameters
546
+ # @return [Object]
547
+ def batch_update_draft_table_rows(table_id, batch_input_json_node, opts = {})
548
+ data, _status_code, _headers = batch_update_draft_table_rows_with_http_info(table_id, batch_input_json_node, opts)
549
+ data
550
+ end
551
+
552
+ # Update rows in batch in DRAFT table
553
+ # Updates multiple rows as a batch in the &#x60;DRAFT&#x60; version of the table. See the endpoint &#x60;/tables/{tableId}/rows/{rowId}/draft PATCH&#x60; for details on updating a single row.
554
+ # @param table_id [String] The ID or name of the table
555
+ # @param batch_input_json_node [BatchInputJsonNode] JSON array of row objects.
556
+ # @param [Hash] opts the optional parameters
557
+ # @return [Array<(Object, Integer, Hash)>] Object data, response status code and response headers
558
+ def batch_update_draft_table_rows_with_http_info(table_id, batch_input_json_node, opts = {})
559
+ if @api_client.config.debugging
560
+ @api_client.config.logger.debug 'Calling API: DefaultApi.batch_update_draft_table_rows ...'
561
+ end
562
+ # verify the required parameter 'table_id' is set
563
+ if @api_client.config.client_side_validation && table_id.nil?
564
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.batch_update_draft_table_rows"
565
+ end
566
+ # verify the required parameter 'batch_input_json_node' is set
567
+ if @api_client.config.client_side_validation && batch_input_json_node.nil?
568
+ fail ArgumentError, "Missing the required parameter 'batch_input_json_node' when calling DefaultApi.batch_update_draft_table_rows"
569
+ end
570
+ # resource path
571
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/draft/batch/update'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
572
+
573
+ # query parameters
574
+ query_params = opts[:query_params] || {}
575
+
576
+ # header parameters
577
+ header_params = opts[:header_params] || {}
578
+ # HTTP header 'Accept' (if needed)
579
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
580
+ # HTTP header 'Content-Type'
581
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
582
+
583
+ # form parameters
584
+ form_params = opts[:form_params] || {}
585
+
586
+ # http body (model)
587
+ post_body = opts[:body] || @api_client.object_to_http_body(batch_input_json_node)
588
+
589
+ # auth_names
590
+ auth_names = opts[:auth_names] || ['oauth2']
591
+
592
+ # return_type
593
+ return_type = opts[:return_type]
594
+
595
+ return_types_map = {
596
+ 200 => 'Object',
597
+ 207 => 'BatchResponseHubDbTableRowV3WithErrors',
598
+ }
599
+
600
+ new_options = opts.merge(
601
+ :header_params => header_params,
602
+ :query_params => query_params,
603
+ :form_params => form_params,
604
+ :body => post_body,
605
+ :auth_names => auth_names,
606
+ :return_type => return_type,
607
+ :return_types_map => return_types_map
608
+ )
609
+
610
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
611
+ if @api_client.config.debugging
612
+ @api_client.config.logger.debug "API called: DefaultApi#batch_update_draft_table_rows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
613
+ end
614
+ return data, status_code, headers
615
+ end
616
+
617
+ # Clone a table
618
+ # Clone an existing HubDB table. The `newName` and `newLabel` of the new table can be sent as JSON in the `body` parameter. This will create the cloned table as a `DRAFT`.
619
+ # @param table_id [String] The ID or name of the table to clone.
620
+ # @param hub_db_table_clone_request [HubDbTableCloneRequest] JSON object with the properties newName and newLabel. You can set copyRows to false to clone the table with copying rows and default is true.
621
+ # @param [Hash] opts the optional parameters
622
+ # @return [HubDbTableV3]
623
+ def clone_draft_table(table_id, hub_db_table_clone_request, opts = {})
624
+ data, _status_code, _headers = clone_draft_table_with_http_info(table_id, hub_db_table_clone_request, opts)
625
+ data
626
+ end
627
+
628
+ # Clone a table
629
+ # Clone an existing HubDB table. The &#x60;newName&#x60; and &#x60;newLabel&#x60; of the new table can be sent as JSON in the &#x60;body&#x60; parameter. This will create the cloned table as a &#x60;DRAFT&#x60;.
630
+ # @param table_id [String] The ID or name of the table to clone.
631
+ # @param hub_db_table_clone_request [HubDbTableCloneRequest] JSON object with the properties newName and newLabel. You can set copyRows to false to clone the table with copying rows and default is true.
632
+ # @param [Hash] opts the optional parameters
633
+ # @return [Array<(HubDbTableV3, Integer, Hash)>] HubDbTableV3 data, response status code and response headers
634
+ def clone_draft_table_with_http_info(table_id, hub_db_table_clone_request, opts = {})
635
+ if @api_client.config.debugging
636
+ @api_client.config.logger.debug 'Calling API: DefaultApi.clone_draft_table ...'
637
+ end
638
+ # verify the required parameter 'table_id' is set
639
+ if @api_client.config.client_side_validation && table_id.nil?
640
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.clone_draft_table"
641
+ end
642
+ # verify the required parameter 'hub_db_table_clone_request' is set
643
+ if @api_client.config.client_side_validation && hub_db_table_clone_request.nil?
644
+ fail ArgumentError, "Missing the required parameter 'hub_db_table_clone_request' when calling DefaultApi.clone_draft_table"
645
+ end
646
+ # resource path
647
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/draft/clone'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
648
+
649
+ # query parameters
650
+ query_params = opts[:query_params] || {}
651
+
652
+ # header parameters
653
+ header_params = opts[:header_params] || {}
654
+ # HTTP header 'Accept' (if needed)
655
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
656
+ # HTTP header 'Content-Type'
657
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
658
+
659
+ # form parameters
660
+ form_params = opts[:form_params] || {}
661
+
662
+ # http body (model)
663
+ post_body = opts[:body] || @api_client.object_to_http_body(hub_db_table_clone_request)
664
+
665
+ # auth_names
666
+ auth_names = opts[:auth_names] || ['oauth2']
667
+
668
+ # return_type
669
+ return_type = opts[:return_type]
670
+
671
+ return_types_map = {
672
+ 200 => 'HubDbTableV3',
673
+ }
674
+
675
+ new_options = opts.merge(
676
+ :header_params => header_params,
677
+ :query_params => query_params,
678
+ :form_params => form_params,
679
+ :body => post_body,
680
+ :auth_names => auth_names,
681
+ :return_type => return_type,
682
+ :return_types_map => return_types_map
683
+ )
684
+
685
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
686
+ if @api_client.config.debugging
687
+ @api_client.config.logger.debug "API called: DefaultApi#clone_draft_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
688
+ end
689
+ return data, status_code, headers
690
+ end
691
+
692
+ # Clone a row
693
+ # Clones a single row in the `DRAFT` version of the table.
694
+ # @param row_id [String] The ID of the row
695
+ # @param table_id [String] The ID or name of the table
696
+ # @param [Hash] opts the optional parameters
697
+ # @return [HubDbTableRowV3]
698
+ def clone_draft_table_row(row_id, table_id, opts = {})
699
+ data, _status_code, _headers = clone_draft_table_row_with_http_info(row_id, table_id, opts)
700
+ data
701
+ end
702
+
703
+ # Clone a row
704
+ # Clones a single row in the &#x60;DRAFT&#x60; version of the table.
705
+ # @param row_id [String] The ID of the row
706
+ # @param table_id [String] The ID or name of the table
707
+ # @param [Hash] opts the optional parameters
708
+ # @return [Array<(HubDbTableRowV3, Integer, Hash)>] HubDbTableRowV3 data, response status code and response headers
709
+ def clone_draft_table_row_with_http_info(row_id, table_id, opts = {})
710
+ if @api_client.config.debugging
711
+ @api_client.config.logger.debug 'Calling API: DefaultApi.clone_draft_table_row ...'
712
+ end
713
+ # verify the required parameter 'row_id' is set
714
+ if @api_client.config.client_side_validation && row_id.nil?
715
+ fail ArgumentError, "Missing the required parameter 'row_id' when calling DefaultApi.clone_draft_table_row"
716
+ end
717
+ pattern = Regexp.new(/\d+/)
718
+ if @api_client.config.client_side_validation && row_id !~ pattern
719
+ fail ArgumentError, "invalid value for 'row_id' when calling DefaultApi.clone_draft_table_row, must conform to the pattern #{pattern}."
720
+ end
721
+
722
+ # verify the required parameter 'table_id' is set
723
+ if @api_client.config.client_side_validation && table_id.nil?
724
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.clone_draft_table_row"
725
+ end
726
+ # resource path
727
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/{rowId}/draft/clone'.sub('{' + 'rowId' + '}', CGI.escape(row_id.to_s)).sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
728
+
729
+ # query parameters
730
+ query_params = opts[:query_params] || {}
731
+
732
+ # header parameters
733
+ header_params = opts[:header_params] || {}
734
+ # HTTP header 'Accept' (if needed)
735
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
736
+
737
+ # form parameters
738
+ form_params = opts[:form_params] || {}
739
+
740
+ # http body (model)
741
+ post_body = opts[:body]
742
+
743
+ # auth_names
744
+ auth_names = opts[:auth_names] || ['oauth2']
745
+
746
+ # return_type
747
+ return_type = opts[:return_type]
748
+
749
+ return_types_map = {
750
+ 200 => 'HubDbTableRowV3',
751
+ }
752
+
753
+ new_options = opts.merge(
754
+ :header_params => header_params,
755
+ :query_params => query_params,
756
+ :form_params => form_params,
757
+ :body => post_body,
758
+ :auth_names => auth_names,
759
+ :return_type => return_type,
760
+ :return_types_map => return_types_map
761
+ )
762
+
763
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
764
+ if @api_client.config.debugging
765
+ @api_client.config.logger.debug "API called: DefaultApi#clone_draft_table_row\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
766
+ end
767
+ return data, status_code, headers
768
+ end
769
+
770
+ # Create a new table
771
+ # Creates a new HubDB table given a JSON schema. The table name and label should be unique for each account.
772
+ # @param hub_db_table_v3_input [HubDbTableV3Input] The JSON schema for the table being created.
773
+ # @param [Hash] opts the optional parameters
774
+ # @return [HubDbTableV3]
775
+ def create_table(hub_db_table_v3_input, opts = {})
776
+ data, _status_code, _headers = create_table_with_http_info(hub_db_table_v3_input, opts)
777
+ data
778
+ end
779
+
780
+ # Create a new table
781
+ # Creates a new HubDB table given a JSON schema. The table name and label should be unique for each account.
782
+ # @param hub_db_table_v3_input [HubDbTableV3Input] The JSON schema for the table being created.
783
+ # @param [Hash] opts the optional parameters
784
+ # @return [Array<(HubDbTableV3, Integer, Hash)>] HubDbTableV3 data, response status code and response headers
785
+ def create_table_with_http_info(hub_db_table_v3_input, opts = {})
786
+ if @api_client.config.debugging
787
+ @api_client.config.logger.debug 'Calling API: DefaultApi.create_table ...'
788
+ end
789
+ # verify the required parameter 'hub_db_table_v3_input' is set
790
+ if @api_client.config.client_side_validation && hub_db_table_v3_input.nil?
791
+ fail ArgumentError, "Missing the required parameter 'hub_db_table_v3_input' when calling DefaultApi.create_table"
792
+ end
793
+ # resource path
794
+ local_var_path = '/cms/v3/hubdb/tables'
795
+
796
+ # query parameters
797
+ query_params = opts[:query_params] || {}
798
+
799
+ # header parameters
800
+ header_params = opts[:header_params] || {}
801
+ # HTTP header 'Accept' (if needed)
802
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
803
+ # HTTP header 'Content-Type'
804
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
805
+
806
+ # form parameters
807
+ form_params = opts[:form_params] || {}
808
+
809
+ # http body (model)
810
+ post_body = opts[:body] || @api_client.object_to_http_body(hub_db_table_v3_input)
811
+
812
+ # auth_names
813
+ auth_names = opts[:auth_names] || ['oauth2']
814
+
815
+ # return_type
816
+ return_type = opts[:return_type]
817
+
818
+ return_types_map = {
819
+ 201 => 'HubDbTableV3',
820
+ }
821
+
822
+ new_options = opts.merge(
823
+ :header_params => header_params,
824
+ :query_params => query_params,
825
+ :form_params => form_params,
826
+ :body => post_body,
827
+ :auth_names => auth_names,
828
+ :return_type => return_type,
829
+ :return_types_map => return_types_map
830
+ )
831
+
832
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
833
+ if @api_client.config.debugging
834
+ @api_client.config.logger.debug "API called: DefaultApi#create_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
835
+ end
836
+ return data, status_code, headers
837
+ end
838
+
839
+ # Add a new row to a table
840
+ # Add a new row to a HubDB table. New rows will be added to the `DRAFT` version of the table. Use the `/publish` endpoint to push these changes live.
841
+ # @param table_id [String] The ID or name of the target table.
842
+ # @param hub_db_table_row_v3_input [HubDbTableRowV3Input] The row definition JSON, formatted as described above.
843
+ # @param [Hash] opts the optional parameters
844
+ # @return [HubDbTableRowV3]
845
+ def create_table_row(table_id, hub_db_table_row_v3_input, opts = {})
846
+ data, _status_code, _headers = create_table_row_with_http_info(table_id, hub_db_table_row_v3_input, opts)
847
+ data
848
+ end
849
+
850
+ # Add a new row to a table
851
+ # Add a new row to a HubDB table. New rows will be added to the &#x60;DRAFT&#x60; version of the table. Use the &#x60;/publish&#x60; endpoint to push these changes live.
852
+ # @param table_id [String] The ID or name of the target table.
853
+ # @param hub_db_table_row_v3_input [HubDbTableRowV3Input] The row definition JSON, formatted as described above.
854
+ # @param [Hash] opts the optional parameters
855
+ # @return [Array<(HubDbTableRowV3, Integer, Hash)>] HubDbTableRowV3 data, response status code and response headers
856
+ def create_table_row_with_http_info(table_id, hub_db_table_row_v3_input, opts = {})
857
+ if @api_client.config.debugging
858
+ @api_client.config.logger.debug 'Calling API: DefaultApi.create_table_row ...'
859
+ end
860
+ # verify the required parameter 'table_id' is set
861
+ if @api_client.config.client_side_validation && table_id.nil?
862
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.create_table_row"
863
+ end
864
+ # verify the required parameter 'hub_db_table_row_v3_input' is set
865
+ if @api_client.config.client_side_validation && hub_db_table_row_v3_input.nil?
866
+ fail ArgumentError, "Missing the required parameter 'hub_db_table_row_v3_input' when calling DefaultApi.create_table_row"
867
+ end
868
+ # resource path
869
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
870
+
871
+ # query parameters
872
+ query_params = opts[:query_params] || {}
873
+
874
+ # header parameters
875
+ header_params = opts[:header_params] || {}
876
+ # HTTP header 'Accept' (if needed)
877
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
878
+ # HTTP header 'Content-Type'
879
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
880
+
881
+ # form parameters
882
+ form_params = opts[:form_params] || {}
883
+
884
+ # http body (model)
885
+ post_body = opts[:body] || @api_client.object_to_http_body(hub_db_table_row_v3_input)
886
+
887
+ # auth_names
888
+ auth_names = opts[:auth_names] || ['oauth2']
889
+
890
+ # return_type
891
+ return_type = opts[:return_type]
892
+
893
+ return_types_map = {
894
+ 201 => 'HubDbTableRowV3',
895
+ }
896
+
897
+ new_options = opts.merge(
898
+ :header_params => header_params,
899
+ :query_params => query_params,
900
+ :form_params => form_params,
901
+ :body => post_body,
902
+ :auth_names => auth_names,
903
+ :return_type => return_type,
904
+ :return_types_map => return_types_map
905
+ )
906
+
907
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
908
+ if @api_client.config.debugging
909
+ @api_client.config.logger.debug "API called: DefaultApi#create_table_row\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
910
+ end
911
+ return data, status_code, headers
912
+ end
913
+
914
+ # Export a DRAFT table
915
+ # Exports the `DRAFT` version of a table to CSV / EXCEL format.
916
+ # @param table_id [String] The ID or name of the table to export.
917
+ # @param [Hash] opts the optional parameters
918
+ # @option opts [String] :format The file format to export. Possible values include &#x60;CSV&#x60;, &#x60;XLSX&#x60;, and &#x60;XLS&#x60;.
919
+ # @return [File]
920
+ def export_draft_table(table_id, opts = {})
921
+ data, _status_code, _headers = export_draft_table_with_http_info(table_id, opts)
922
+ data
923
+ end
924
+
925
+ # Export a DRAFT table
926
+ # Exports the &#x60;DRAFT&#x60; version of a table to CSV / EXCEL format.
927
+ # @param table_id [String] The ID or name of the table to export.
928
+ # @param [Hash] opts the optional parameters
929
+ # @option opts [String] :format The file format to export. Possible values include &#x60;CSV&#x60;, &#x60;XLSX&#x60;, and &#x60;XLS&#x60;.
930
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
931
+ def export_draft_table_with_http_info(table_id, opts = {})
932
+ if @api_client.config.debugging
933
+ @api_client.config.logger.debug 'Calling API: DefaultApi.export_draft_table ...'
934
+ end
935
+ # verify the required parameter 'table_id' is set
936
+ if @api_client.config.client_side_validation && table_id.nil?
937
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.export_draft_table"
938
+ end
939
+ # resource path
940
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/draft/export'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
941
+
942
+ # query parameters
943
+ query_params = opts[:query_params] || {}
944
+ query_params[:'format'] = opts[:'format'] if !opts[:'format'].nil?
945
+
946
+ # header parameters
947
+ header_params = opts[:header_params] || {}
948
+ # HTTP header 'Accept' (if needed)
949
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.ms-excel', 'text/csv', '*/*'])
950
+
951
+ # form parameters
952
+ form_params = opts[:form_params] || {}
953
+
954
+ # http body (model)
955
+ post_body = opts[:body]
956
+
957
+ # auth_names
958
+ auth_names = opts[:auth_names] || ['oauth2']
959
+
960
+ # return_type
961
+ return_type = opts[:return_type]
962
+
963
+ return_types_map = {
964
+ 200 => 'File',
965
+ }
966
+
967
+ new_options = opts.merge(
968
+ :header_params => header_params,
969
+ :query_params => query_params,
970
+ :form_params => form_params,
971
+ :body => post_body,
972
+ :auth_names => auth_names,
973
+ :return_type => return_type,
974
+ :return_types_map => return_types_map
975
+ )
976
+
977
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
978
+ if @api_client.config.debugging
979
+ @api_client.config.logger.debug "API called: DefaultApi#export_draft_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
980
+ end
981
+ return data, status_code, headers
982
+ end
983
+
984
+ # Export a PUBLISHED version of a table
985
+ # Exports the `PUBLISHED` version of a table to CSV / EXCEL format.
986
+ # @param table_id [String] The ID or name of the table to export.
987
+ # @param [Hash] opts the optional parameters
988
+ # @option opts [String] :format The file format to export. Possible values include &#x60;CSV&#x60;, &#x60;XLSX&#x60;, and &#x60;XLS&#x60;.
989
+ # @return [File]
990
+ def export_table(table_id, opts = {})
991
+ data, _status_code, _headers = export_table_with_http_info(table_id, opts)
992
+ data
993
+ end
994
+
995
+ # Export a PUBLISHED version of a table
996
+ # Exports the &#x60;PUBLISHED&#x60; version of a table to CSV / EXCEL format.
997
+ # @param table_id [String] The ID or name of the table to export.
998
+ # @param [Hash] opts the optional parameters
999
+ # @option opts [String] :format The file format to export. Possible values include &#x60;CSV&#x60;, &#x60;XLSX&#x60;, and &#x60;XLS&#x60;.
1000
+ # @return [Array<(File, Integer, Hash)>] File data, response status code and response headers
1001
+ def export_table_with_http_info(table_id, opts = {})
1002
+ if @api_client.config.debugging
1003
+ @api_client.config.logger.debug 'Calling API: DefaultApi.export_table ...'
1004
+ end
1005
+ # verify the required parameter 'table_id' is set
1006
+ if @api_client.config.client_side_validation && table_id.nil?
1007
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.export_table"
1008
+ end
1009
+ # resource path
1010
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/export'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1011
+
1012
+ # query parameters
1013
+ query_params = opts[:query_params] || {}
1014
+ query_params[:'format'] = opts[:'format'] if !opts[:'format'].nil?
1015
+
1016
+ # header parameters
1017
+ header_params = opts[:header_params] || {}
1018
+ # HTTP header 'Accept' (if needed)
1019
+ header_params['Accept'] = @api_client.select_header_accept(['application/vnd.ms-excel', 'text/csv', '*/*'])
1020
+
1021
+ # form parameters
1022
+ form_params = opts[:form_params] || {}
1023
+
1024
+ # http body (model)
1025
+ post_body = opts[:body]
1026
+
1027
+ # auth_names
1028
+ auth_names = opts[:auth_names] || ['oauth2']
1029
+
1030
+ # return_type
1031
+ return_type = opts[:return_type]
1032
+
1033
+ return_types_map = {
1034
+ 200 => 'File',
1035
+ }
1036
+
1037
+ new_options = opts.merge(
1038
+ :header_params => header_params,
1039
+ :query_params => query_params,
1040
+ :form_params => form_params,
1041
+ :body => post_body,
1042
+ :auth_names => auth_names,
1043
+ :return_type => return_type,
1044
+ :return_types_map => return_types_map
1045
+ )
1046
+
1047
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1048
+ if @api_client.config.debugging
1049
+ @api_client.config.logger.debug "API called: DefaultApi#export_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1050
+ end
1051
+ return data, status_code, headers
1052
+ end
1053
+
1054
+ # Return all DRAFT tables
1055
+ # Returns the details for each DRAFT table defined in the specified account, including column definitions. `Note:` Unlike other HubDB GET endpoints, getting all tables will require authentication.\"
1056
+ # @param [Hash] opts the optional parameters
1057
+ # @option opts [DateTime] :updated_after Only return tables last updated after the specified time.
1058
+ # @option opts [DateTime] :updated_before Only return tables last updated before the specified time.
1059
+ # @option opts [Array<String>] :sort Specifies which fields to use for sorting results. Valid fields are &#x60;name&#x60;, &#x60;createdAt&#x60;, &#x60;updatedAt&#x60;, &#x60;createdBy&#x60;, &#x60;updatedBy&#x60;. &#x60;createdAt&#x60; will be used by default.
1060
+ # @option opts [DateTime] :created_at Only return tables created at exactly the specified time.
1061
+ # @option opts [DateTime] :created_after Only return tables created after the specified time.
1062
+ # @option opts [String] :after The cursor token value to get the next set of results. You can get this from the &#x60;paging.next.after&#x60; JSON property of a paged response containing more results.
1063
+ # @option opts [Boolean] :archived Specifies whether to return archived tables. Defaults to &#x60;false&#x60;.
1064
+ # @option opts [DateTime] :created_before Only return tables created before the specified time.
1065
+ # @option opts [DateTime] :updated_at Only return tables last updated at exactly the specified time.
1066
+ # @option opts [Integer] :limit The maximum number of results to return. Default is 1000.
1067
+ # @return [CollectionResponseWithTotalHubDbTableV3]
1068
+ def get_all_draft_tables(opts = {})
1069
+ data, _status_code, _headers = get_all_draft_tables_with_http_info(opts)
1070
+ data
1071
+ end
1072
+
1073
+ # Return all DRAFT tables
1074
+ # Returns the details for each DRAFT table defined in the specified account, including column definitions. &#x60;Note:&#x60; Unlike other HubDB GET endpoints, getting all tables will require authentication.\&quot;
1075
+ # @param [Hash] opts the optional parameters
1076
+ # @option opts [DateTime] :updated_after Only return tables last updated after the specified time.
1077
+ # @option opts [DateTime] :updated_before Only return tables last updated before the specified time.
1078
+ # @option opts [Array<String>] :sort Specifies which fields to use for sorting results. Valid fields are &#x60;name&#x60;, &#x60;createdAt&#x60;, &#x60;updatedAt&#x60;, &#x60;createdBy&#x60;, &#x60;updatedBy&#x60;. &#x60;createdAt&#x60; will be used by default.
1079
+ # @option opts [DateTime] :created_at Only return tables created at exactly the specified time.
1080
+ # @option opts [DateTime] :created_after Only return tables created after the specified time.
1081
+ # @option opts [String] :after The cursor token value to get the next set of results. You can get this from the &#x60;paging.next.after&#x60; JSON property of a paged response containing more results.
1082
+ # @option opts [Boolean] :archived Specifies whether to return archived tables. Defaults to &#x60;false&#x60;.
1083
+ # @option opts [DateTime] :created_before Only return tables created before the specified time.
1084
+ # @option opts [DateTime] :updated_at Only return tables last updated at exactly the specified time.
1085
+ # @option opts [Integer] :limit The maximum number of results to return. Default is 1000.
1086
+ # @return [Array<(CollectionResponseWithTotalHubDbTableV3, Integer, Hash)>] CollectionResponseWithTotalHubDbTableV3 data, response status code and response headers
1087
+ def get_all_draft_tables_with_http_info(opts = {})
1088
+ if @api_client.config.debugging
1089
+ @api_client.config.logger.debug 'Calling API: DefaultApi.get_all_draft_tables ...'
1090
+ end
1091
+ # resource path
1092
+ local_var_path = '/cms/v3/hubdb/tables/draft'
1093
+
1094
+ # query parameters
1095
+ query_params = opts[:query_params] || {}
1096
+ query_params[:'updatedAfter'] = opts[:'updated_after'] if !opts[:'updated_after'].nil?
1097
+ query_params[:'updatedBefore'] = opts[:'updated_before'] if !opts[:'updated_before'].nil?
1098
+ query_params[:'sort'] = @api_client.build_collection_param(opts[:'sort'], :multi) if !opts[:'sort'].nil?
1099
+ query_params[:'createdAt'] = opts[:'created_at'] if !opts[:'created_at'].nil?
1100
+ query_params[:'createdAfter'] = opts[:'created_after'] if !opts[:'created_after'].nil?
1101
+ query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
1102
+ query_params[:'archived'] = opts[:'archived'] if !opts[:'archived'].nil?
1103
+ query_params[:'createdBefore'] = opts[:'created_before'] if !opts[:'created_before'].nil?
1104
+ query_params[:'updatedAt'] = opts[:'updated_at'] if !opts[:'updated_at'].nil?
1105
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1106
+
1107
+ # header parameters
1108
+ header_params = opts[:header_params] || {}
1109
+ # HTTP header 'Accept' (if needed)
1110
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1111
+
1112
+ # form parameters
1113
+ form_params = opts[:form_params] || {}
1114
+
1115
+ # http body (model)
1116
+ post_body = opts[:body]
1117
+
1118
+ # auth_names
1119
+ auth_names = opts[:auth_names] || ['oauth2']
1120
+
1121
+ # return_type
1122
+ return_type = opts[:return_type]
1123
+
1124
+ return_types_map = {
1125
+ 200 => 'CollectionResponseWithTotalHubDbTableV3',
1126
+ }
1127
+
1128
+ new_options = opts.merge(
1129
+ :header_params => header_params,
1130
+ :query_params => query_params,
1131
+ :form_params => form_params,
1132
+ :body => post_body,
1133
+ :auth_names => auth_names,
1134
+ :return_type => return_type,
1135
+ :return_types_map => return_types_map
1136
+ )
1137
+
1138
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1139
+ if @api_client.config.debugging
1140
+ @api_client.config.logger.debug "API called: DefaultApi#get_all_draft_tables\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1141
+ end
1142
+ return data, status_code, headers
1143
+ end
1144
+
1145
+ # Get all tables
1146
+ # Returns the details for each table defined in an account, including column definitions. `Note:` Unlike other HubDB GET endpoints, getting all tables will require authentication.\"
1147
+ # @param [Hash] opts the optional parameters
1148
+ # @option opts [DateTime] :updated_after Only return tables last updated after the specified time.
1149
+ # @option opts [DateTime] :updated_before Only return tables last updated before the specified time.
1150
+ # @option opts [Array<String>] :sort Specifies which fields to use for sorting results. Valid fields are &#x60;name&#x60;, &#x60;createdAt&#x60;, &#x60;updatedAt&#x60;, &#x60;createdBy&#x60;, &#x60;updatedBy&#x60;. &#x60;createdAt&#x60; will be used by default.
1151
+ # @option opts [DateTime] :created_at Only return tables created at exactly the specified time.
1152
+ # @option opts [DateTime] :created_after Only return tables created after the specified time.
1153
+ # @option opts [String] :after The cursor token value to get the next set of results. You can get this from the &#x60;paging.next.after&#x60; JSON property of a paged response containing more results.
1154
+ # @option opts [Boolean] :archived Specifies whether to return archived tables. Defaults to &#x60;false&#x60;.
1155
+ # @option opts [DateTime] :created_before Only return tables created before the specified time.
1156
+ # @option opts [DateTime] :updated_at Only return tables last updated at exactly the specified time.
1157
+ # @option opts [Integer] :limit The maximum number of results to return. Default is 1000.
1158
+ # @return [CollectionResponseWithTotalHubDbTableV3]
1159
+ def get_all_tables(opts = {})
1160
+ data, _status_code, _headers = get_all_tables_with_http_info(opts)
1161
+ data
1162
+ end
1163
+
1164
+ # Get all tables
1165
+ # Returns the details for each table defined in an account, including column definitions. &#x60;Note:&#x60; Unlike other HubDB GET endpoints, getting all tables will require authentication.\&quot;
1166
+ # @param [Hash] opts the optional parameters
1167
+ # @option opts [DateTime] :updated_after Only return tables last updated after the specified time.
1168
+ # @option opts [DateTime] :updated_before Only return tables last updated before the specified time.
1169
+ # @option opts [Array<String>] :sort Specifies which fields to use for sorting results. Valid fields are &#x60;name&#x60;, &#x60;createdAt&#x60;, &#x60;updatedAt&#x60;, &#x60;createdBy&#x60;, &#x60;updatedBy&#x60;. &#x60;createdAt&#x60; will be used by default.
1170
+ # @option opts [DateTime] :created_at Only return tables created at exactly the specified time.
1171
+ # @option opts [DateTime] :created_after Only return tables created after the specified time.
1172
+ # @option opts [String] :after The cursor token value to get the next set of results. You can get this from the &#x60;paging.next.after&#x60; JSON property of a paged response containing more results.
1173
+ # @option opts [Boolean] :archived Specifies whether to return archived tables. Defaults to &#x60;false&#x60;.
1174
+ # @option opts [DateTime] :created_before Only return tables created before the specified time.
1175
+ # @option opts [DateTime] :updated_at Only return tables last updated at exactly the specified time.
1176
+ # @option opts [Integer] :limit The maximum number of results to return. Default is 1000.
1177
+ # @return [Array<(CollectionResponseWithTotalHubDbTableV3, Integer, Hash)>] CollectionResponseWithTotalHubDbTableV3 data, response status code and response headers
1178
+ def get_all_tables_with_http_info(opts = {})
1179
+ if @api_client.config.debugging
1180
+ @api_client.config.logger.debug 'Calling API: DefaultApi.get_all_tables ...'
1181
+ end
1182
+ # resource path
1183
+ local_var_path = '/cms/v3/hubdb/tables'
1184
+
1185
+ # query parameters
1186
+ query_params = opts[:query_params] || {}
1187
+ query_params[:'updatedAfter'] = opts[:'updated_after'] if !opts[:'updated_after'].nil?
1188
+ query_params[:'updatedBefore'] = opts[:'updated_before'] if !opts[:'updated_before'].nil?
1189
+ query_params[:'sort'] = @api_client.build_collection_param(opts[:'sort'], :multi) if !opts[:'sort'].nil?
1190
+ query_params[:'createdAt'] = opts[:'created_at'] if !opts[:'created_at'].nil?
1191
+ query_params[:'createdAfter'] = opts[:'created_after'] if !opts[:'created_after'].nil?
1192
+ query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
1193
+ query_params[:'archived'] = opts[:'archived'] if !opts[:'archived'].nil?
1194
+ query_params[:'createdBefore'] = opts[:'created_before'] if !opts[:'created_before'].nil?
1195
+ query_params[:'updatedAt'] = opts[:'updated_at'] if !opts[:'updated_at'].nil?
1196
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1197
+
1198
+ # header parameters
1199
+ header_params = opts[:header_params] || {}
1200
+ # HTTP header 'Accept' (if needed)
1201
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1202
+
1203
+ # form parameters
1204
+ form_params = opts[:form_params] || {}
1205
+
1206
+ # http body (model)
1207
+ post_body = opts[:body]
1208
+
1209
+ # auth_names
1210
+ auth_names = opts[:auth_names] || ['oauth2']
1211
+
1212
+ # return_type
1213
+ return_type = opts[:return_type]
1214
+
1215
+ return_types_map = {
1216
+ 200 => 'CollectionResponseWithTotalHubDbTableV3',
1217
+ }
1218
+
1219
+ new_options = opts.merge(
1220
+ :header_params => header_params,
1221
+ :query_params => query_params,
1222
+ :form_params => form_params,
1223
+ :body => post_body,
1224
+ :auth_names => auth_names,
1225
+ :return_type => return_type,
1226
+ :return_types_map => return_types_map
1227
+ )
1228
+
1229
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1230
+ if @api_client.config.debugging
1231
+ @api_client.config.logger.debug "API called: DefaultApi#get_all_tables\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1232
+ end
1233
+ return data, status_code, headers
1234
+ end
1235
+
1236
+ # Get details for a DRAFT table
1237
+ # Get the details for the `DRAFT` version of a specific HubDB table. This will include the definitions for the columns in the table and the number of rows in the table.
1238
+ # @param table_id [String] The ID or name of the table to return.
1239
+ # @param [Hash] opts the optional parameters
1240
+ # @option opts [Boolean] :archived Set this to &#x60;true&#x60; to return an archived table. Defaults to &#x60;false&#x60;.
1241
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the result.
1242
+ # @return [HubDbTableV3]
1243
+ def get_draft_table_details_by_id(table_id, opts = {})
1244
+ data, _status_code, _headers = get_draft_table_details_by_id_with_http_info(table_id, opts)
1245
+ data
1246
+ end
1247
+
1248
+ # Get details for a DRAFT table
1249
+ # Get the details for the &#x60;DRAFT&#x60; version of a specific HubDB table. This will include the definitions for the columns in the table and the number of rows in the table.
1250
+ # @param table_id [String] The ID or name of the table to return.
1251
+ # @param [Hash] opts the optional parameters
1252
+ # @option opts [Boolean] :archived Set this to &#x60;true&#x60; to return an archived table. Defaults to &#x60;false&#x60;.
1253
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the result.
1254
+ # @return [Array<(HubDbTableV3, Integer, Hash)>] HubDbTableV3 data, response status code and response headers
1255
+ def get_draft_table_details_by_id_with_http_info(table_id, opts = {})
1256
+ if @api_client.config.debugging
1257
+ @api_client.config.logger.debug 'Calling API: DefaultApi.get_draft_table_details_by_id ...'
1258
+ end
1259
+ # verify the required parameter 'table_id' is set
1260
+ if @api_client.config.client_side_validation && table_id.nil?
1261
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.get_draft_table_details_by_id"
1262
+ end
1263
+ # resource path
1264
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/draft'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1265
+
1266
+ # query parameters
1267
+ query_params = opts[:query_params] || {}
1268
+ query_params[:'archived'] = opts[:'archived'] if !opts[:'archived'].nil?
1269
+ query_params[:'includeForeignIds'] = opts[:'include_foreign_ids'] if !opts[:'include_foreign_ids'].nil?
1270
+
1271
+ # header parameters
1272
+ header_params = opts[:header_params] || {}
1273
+ # HTTP header 'Accept' (if needed)
1274
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1275
+
1276
+ # form parameters
1277
+ form_params = opts[:form_params] || {}
1278
+
1279
+ # http body (model)
1280
+ post_body = opts[:body]
1281
+
1282
+ # auth_names
1283
+ auth_names = opts[:auth_names] || ['oauth2']
1284
+
1285
+ # return_type
1286
+ return_type = opts[:return_type]
1287
+
1288
+ return_types_map = {
1289
+ 200 => 'HubDbTableV3',
1290
+ }
1291
+
1292
+ new_options = opts.merge(
1293
+ :header_params => header_params,
1294
+ :query_params => query_params,
1295
+ :form_params => form_params,
1296
+ :body => post_body,
1297
+ :auth_names => auth_names,
1298
+ :return_type => return_type,
1299
+ :return_types_map => return_types_map
1300
+ )
1301
+
1302
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1303
+ if @api_client.config.debugging
1304
+ @api_client.config.logger.debug "API called: DefaultApi#get_draft_table_details_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1305
+ end
1306
+ return data, status_code, headers
1307
+ end
1308
+
1309
+ # Get a table row
1310
+ # Get a single row by ID from a table's `DRAFT` version.
1311
+ # @param row_id [String] The ID of the row
1312
+ # @param table_id [String] The ID or name of the table
1313
+ # @param [Hash] opts the optional parameters
1314
+ # @return [HubDbTableRowV3]
1315
+ def get_draft_table_row_by_id(row_id, table_id, opts = {})
1316
+ data, _status_code, _headers = get_draft_table_row_by_id_with_http_info(row_id, table_id, opts)
1317
+ data
1318
+ end
1319
+
1320
+ # Get a table row
1321
+ # Get a single row by ID from a table&#39;s &#x60;DRAFT&#x60; version.
1322
+ # @param row_id [String] The ID of the row
1323
+ # @param table_id [String] The ID or name of the table
1324
+ # @param [Hash] opts the optional parameters
1325
+ # @return [Array<(HubDbTableRowV3, Integer, Hash)>] HubDbTableRowV3 data, response status code and response headers
1326
+ def get_draft_table_row_by_id_with_http_info(row_id, table_id, opts = {})
1327
+ if @api_client.config.debugging
1328
+ @api_client.config.logger.debug 'Calling API: DefaultApi.get_draft_table_row_by_id ...'
1329
+ end
1330
+ # verify the required parameter 'row_id' is set
1331
+ if @api_client.config.client_side_validation && row_id.nil?
1332
+ fail ArgumentError, "Missing the required parameter 'row_id' when calling DefaultApi.get_draft_table_row_by_id"
1333
+ end
1334
+ pattern = Regexp.new(/\d+/)
1335
+ if @api_client.config.client_side_validation && row_id !~ pattern
1336
+ fail ArgumentError, "invalid value for 'row_id' when calling DefaultApi.get_draft_table_row_by_id, must conform to the pattern #{pattern}."
1337
+ end
1338
+
1339
+ # verify the required parameter 'table_id' is set
1340
+ if @api_client.config.client_side_validation && table_id.nil?
1341
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.get_draft_table_row_by_id"
1342
+ end
1343
+ # resource path
1344
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/{rowId}/draft'.sub('{' + 'rowId' + '}', CGI.escape(row_id.to_s)).sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1345
+
1346
+ # query parameters
1347
+ query_params = opts[:query_params] || {}
1348
+
1349
+ # header parameters
1350
+ header_params = opts[:header_params] || {}
1351
+ # HTTP header 'Accept' (if needed)
1352
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1353
+
1354
+ # form parameters
1355
+ form_params = opts[:form_params] || {}
1356
+
1357
+ # http body (model)
1358
+ post_body = opts[:body]
1359
+
1360
+ # auth_names
1361
+ auth_names = opts[:auth_names] || ['oauth2']
1362
+
1363
+ # return_type
1364
+ return_type = opts[:return_type]
1365
+
1366
+ return_types_map = {
1367
+ 200 => 'HubDbTableRowV3',
1368
+ }
1369
+
1370
+ new_options = opts.merge(
1371
+ :header_params => header_params,
1372
+ :query_params => query_params,
1373
+ :form_params => form_params,
1374
+ :body => post_body,
1375
+ :auth_names => auth_names,
1376
+ :return_type => return_type,
1377
+ :return_types_map => return_types_map
1378
+ )
1379
+
1380
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1381
+ if @api_client.config.debugging
1382
+ @api_client.config.logger.debug "API called: DefaultApi#get_draft_table_row_by_id\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1383
+ end
1384
+ return data, status_code, headers
1385
+ end
1386
+
1387
+ # Import data into DRAFT table
1388
+ # Import the contents of a CSV file into an existing HubDB table. The data will always be imported into the `DRAFT` version of the table. Use the `/push-live` endpoint to push these changes to `PUBLISHED`. This endpoint takes a multi-part POST request. The first part will be a set of JSON-formatted options for the import. The second part will be the CSV file you want to import. Refer the overview section to check the details and format of the JSON-formatted options for the import.
1389
+ # @param table_id [String] The ID of the destination table where data will be imported.
1390
+ # @param [Hash] opts the optional parameters
1391
+ # @option opts [File] :file The source CSV file to be imported.
1392
+ # @option opts [String] :config Configuration for the import in JSON format as described above.
1393
+ # @return [ImportResult]
1394
+ def import_draft_table(table_id, opts = {})
1395
+ data, _status_code, _headers = import_draft_table_with_http_info(table_id, opts)
1396
+ data
1397
+ end
1398
+
1399
+ # Import data into DRAFT table
1400
+ # Import the contents of a CSV file into an existing HubDB table. The data will always be imported into the &#x60;DRAFT&#x60; version of the table. Use the &#x60;/push-live&#x60; endpoint to push these changes to &#x60;PUBLISHED&#x60;. This endpoint takes a multi-part POST request. The first part will be a set of JSON-formatted options for the import. The second part will be the CSV file you want to import. Refer the overview section to check the details and format of the JSON-formatted options for the import.
1401
+ # @param table_id [String] The ID of the destination table where data will be imported.
1402
+ # @param [Hash] opts the optional parameters
1403
+ # @option opts [File] :file The source CSV file to be imported.
1404
+ # @option opts [String] :config Configuration for the import in JSON format as described above.
1405
+ # @return [Array<(ImportResult, Integer, Hash)>] ImportResult data, response status code and response headers
1406
+ def import_draft_table_with_http_info(table_id, opts = {})
1407
+ if @api_client.config.debugging
1408
+ @api_client.config.logger.debug 'Calling API: DefaultApi.import_draft_table ...'
1409
+ end
1410
+ # verify the required parameter 'table_id' is set
1411
+ if @api_client.config.client_side_validation && table_id.nil?
1412
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.import_draft_table"
1413
+ end
1414
+ # resource path
1415
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/draft/import'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1416
+
1417
+ # query parameters
1418
+ query_params = opts[:query_params] || {}
1419
+
1420
+ # header parameters
1421
+ header_params = opts[:header_params] || {}
1422
+ # HTTP header 'Accept' (if needed)
1423
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1424
+ # HTTP header 'Content-Type'
1425
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
1426
+
1427
+ # form parameters
1428
+ form_params = opts[:form_params] || {}
1429
+ form_params['file'] = opts[:'file'] if !opts[:'file'].nil?
1430
+ form_params['config'] = opts[:'config'] if !opts[:'config'].nil?
1431
+
1432
+ # http body (model)
1433
+ post_body = opts[:body]
1434
+
1435
+ # auth_names
1436
+ auth_names = opts[:auth_names] || ['oauth2']
1437
+
1438
+ # return_type
1439
+ return_type = opts[:return_type]
1440
+
1441
+ return_types_map = {
1442
+ 200 => 'ImportResult',
1443
+ }
1444
+
1445
+ new_options = opts.merge(
1446
+ :header_params => header_params,
1447
+ :query_params => query_params,
1448
+ :form_params => form_params,
1449
+ :body => post_body,
1450
+ :auth_names => auth_names,
1451
+ :return_type => return_type,
1452
+ :return_types_map => return_types_map
1453
+ )
1454
+
1455
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1456
+ if @api_client.config.debugging
1457
+ @api_client.config.logger.debug "API called: DefaultApi#import_draft_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1458
+ end
1459
+ return data, status_code, headers
1460
+ end
1461
+
1462
+ # Publish a table from draft
1463
+ # Publishes the current `DRAFT` version of the table by copying the data to the PUBLISHED version of the table. This will immediately push the data for any stored `DRAFT` version to the `PUBLISHED` version of the table, meaning any website pages using data from the table will be updated.
1464
+ # @param table_id [String] The ID or name of the table to publish.
1465
+ # @param [Hash] opts the optional parameters
1466
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the response.
1467
+ # @return [HubDbTableV3]
1468
+ def publish_draft_table(table_id, opts = {})
1469
+ data, _status_code, _headers = publish_draft_table_with_http_info(table_id, opts)
1470
+ data
1471
+ end
1472
+
1473
+ # Publish a table from draft
1474
+ # Publishes the current &#x60;DRAFT&#x60; version of the table by copying the data to the PUBLISHED version of the table. This will immediately push the data for any stored &#x60;DRAFT&#x60; version to the &#x60;PUBLISHED&#x60; version of the table, meaning any website pages using data from the table will be updated.
1475
+ # @param table_id [String] The ID or name of the table to publish.
1476
+ # @param [Hash] opts the optional parameters
1477
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the response.
1478
+ # @return [Array<(HubDbTableV3, Integer, Hash)>] HubDbTableV3 data, response status code and response headers
1479
+ def publish_draft_table_with_http_info(table_id, opts = {})
1480
+ if @api_client.config.debugging
1481
+ @api_client.config.logger.debug 'Calling API: DefaultApi.publish_draft_table ...'
1482
+ end
1483
+ # verify the required parameter 'table_id' is set
1484
+ if @api_client.config.client_side_validation && table_id.nil?
1485
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.publish_draft_table"
1486
+ end
1487
+ # resource path
1488
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/draft/push-live'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1489
+
1490
+ # query parameters
1491
+ query_params = opts[:query_params] || {}
1492
+ query_params[:'includeForeignIds'] = opts[:'include_foreign_ids'] if !opts[:'include_foreign_ids'].nil?
1493
+
1494
+ # header parameters
1495
+ header_params = opts[:header_params] || {}
1496
+ # HTTP header 'Accept' (if needed)
1497
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1498
+
1499
+ # form parameters
1500
+ form_params = opts[:form_params] || {}
1501
+
1502
+ # http body (model)
1503
+ post_body = opts[:body]
1504
+
1505
+ # auth_names
1506
+ auth_names = opts[:auth_names] || ['oauth2']
1507
+
1508
+ # return_type
1509
+ return_type = opts[:return_type]
1510
+
1511
+ return_types_map = {
1512
+ 200 => 'HubDbTableV3',
1513
+ }
1514
+
1515
+ new_options = opts.merge(
1516
+ :header_params => header_params,
1517
+ :query_params => query_params,
1518
+ :form_params => form_params,
1519
+ :body => post_body,
1520
+ :auth_names => auth_names,
1521
+ :return_type => return_type,
1522
+ :return_types_map => return_types_map
1523
+ )
1524
+
1525
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1526
+ if @api_client.config.debugging
1527
+ @api_client.config.logger.debug "API called: DefaultApi#publish_draft_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1528
+ end
1529
+ return data, status_code, headers
1530
+ end
1531
+
1532
+ # Permanently deletes a row
1533
+ # Permanently deletes a row from a table's `DRAFT` version.
1534
+ # @param row_id [String] The ID of the row
1535
+ # @param table_id [String] The ID or name of the table
1536
+ # @param [Hash] opts the optional parameters
1537
+ # @return [nil]
1538
+ def purge_draft_table_row(row_id, table_id, opts = {})
1539
+ purge_draft_table_row_with_http_info(row_id, table_id, opts)
1540
+ nil
1541
+ end
1542
+
1543
+ # Permanently deletes a row
1544
+ # Permanently deletes a row from a table&#39;s &#x60;DRAFT&#x60; version.
1545
+ # @param row_id [String] The ID of the row
1546
+ # @param table_id [String] The ID or name of the table
1547
+ # @param [Hash] opts the optional parameters
1548
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1549
+ def purge_draft_table_row_with_http_info(row_id, table_id, opts = {})
1550
+ if @api_client.config.debugging
1551
+ @api_client.config.logger.debug 'Calling API: DefaultApi.purge_draft_table_row ...'
1552
+ end
1553
+ # verify the required parameter 'row_id' is set
1554
+ if @api_client.config.client_side_validation && row_id.nil?
1555
+ fail ArgumentError, "Missing the required parameter 'row_id' when calling DefaultApi.purge_draft_table_row"
1556
+ end
1557
+ pattern = Regexp.new(/\d+/)
1558
+ if @api_client.config.client_side_validation && row_id !~ pattern
1559
+ fail ArgumentError, "invalid value for 'row_id' when calling DefaultApi.purge_draft_table_row, must conform to the pattern #{pattern}."
1560
+ end
1561
+
1562
+ # verify the required parameter 'table_id' is set
1563
+ if @api_client.config.client_side_validation && table_id.nil?
1564
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.purge_draft_table_row"
1565
+ end
1566
+ # resource path
1567
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/{rowId}/draft'.sub('{' + 'rowId' + '}', CGI.escape(row_id.to_s)).sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1568
+
1569
+ # query parameters
1570
+ query_params = opts[:query_params] || {}
1571
+
1572
+ # header parameters
1573
+ header_params = opts[:header_params] || {}
1574
+ # HTTP header 'Accept' (if needed)
1575
+ header_params['Accept'] = @api_client.select_header_accept(['*/*'])
1576
+
1577
+ # form parameters
1578
+ form_params = opts[:form_params] || {}
1579
+
1580
+ # http body (model)
1581
+ post_body = opts[:body]
1582
+
1583
+ # auth_names
1584
+ auth_names = opts[:auth_names] || ['oauth2']
1585
+
1586
+ # return_type
1587
+ return_type = opts[:return_type]
1588
+
1589
+ return_types_map = {}
1590
+
1591
+ new_options = opts.merge(
1592
+ :header_params => header_params,
1593
+ :query_params => query_params,
1594
+ :form_params => form_params,
1595
+ :body => post_body,
1596
+ :auth_names => auth_names,
1597
+ :return_type => return_type,
1598
+ :return_types_map => return_types_map
1599
+ )
1600
+
1601
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
1602
+ if @api_client.config.debugging
1603
+ @api_client.config.logger.debug "API called: DefaultApi#purge_draft_table_row\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1604
+ end
1605
+ return data, status_code, headers
1606
+ end
1607
+
1608
+ # Get rows from DRAFT table
1609
+ # Returns rows in the `DRAFT` version of the specified table. Row results can be filtered and sorted using the options mentioned in the `/tables/{tableId}/rows` endpoint.
1610
+ # @param table_id [String] The ID or name of the table to query.
1611
+ # @param [Hash] opts the optional parameters
1612
+ # @option opts [Array<String>] :properties Specify the column names to get results containing only the required columns instead of all column details.
1613
+ # @option opts [String] :after The cursor token value to get the next set of results. You can get this from the &#x60;paging.next.after&#x60; JSON property of a paged response containing more results.
1614
+ # @option opts [Integer] :limit The maximum number of results to return. Default is &#x60;1000&#x60;.
1615
+ # @option opts [Array<String>] :sort Specifies the column names to sort the results by.
1616
+ # @return [CollectionResponseWithTotalHubDbTableRowV3]
1617
+ def read_draft_table_rows(table_id, opts = {})
1618
+ data, _status_code, _headers = read_draft_table_rows_with_http_info(table_id, opts)
1619
+ data
1620
+ end
1621
+
1622
+ # Get rows from DRAFT table
1623
+ # Returns rows in the &#x60;DRAFT&#x60; version of the specified table. Row results can be filtered and sorted using the options mentioned in the &#x60;/tables/{tableId}/rows&#x60; endpoint.
1624
+ # @param table_id [String] The ID or name of the table to query.
1625
+ # @param [Hash] opts the optional parameters
1626
+ # @option opts [Array<String>] :properties Specify the column names to get results containing only the required columns instead of all column details.
1627
+ # @option opts [String] :after The cursor token value to get the next set of results. You can get this from the &#x60;paging.next.after&#x60; JSON property of a paged response containing more results.
1628
+ # @option opts [Integer] :limit The maximum number of results to return. Default is &#x60;1000&#x60;.
1629
+ # @option opts [Array<String>] :sort Specifies the column names to sort the results by.
1630
+ # @return [Array<(CollectionResponseWithTotalHubDbTableRowV3, Integer, Hash)>] CollectionResponseWithTotalHubDbTableRowV3 data, response status code and response headers
1631
+ def read_draft_table_rows_with_http_info(table_id, opts = {})
1632
+ if @api_client.config.debugging
1633
+ @api_client.config.logger.debug 'Calling API: DefaultApi.read_draft_table_rows ...'
1634
+ end
1635
+ # verify the required parameter 'table_id' is set
1636
+ if @api_client.config.client_side_validation && table_id.nil?
1637
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.read_draft_table_rows"
1638
+ end
1639
+ # resource path
1640
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/draft'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1641
+
1642
+ # query parameters
1643
+ query_params = opts[:query_params] || {}
1644
+ query_params[:'properties'] = @api_client.build_collection_param(opts[:'properties'], :multi) if !opts[:'properties'].nil?
1645
+ query_params[:'after'] = opts[:'after'] if !opts[:'after'].nil?
1646
+ query_params[:'limit'] = opts[:'limit'] if !opts[:'limit'].nil?
1647
+ query_params[:'sort'] = @api_client.build_collection_param(opts[:'sort'], :multi) if !opts[:'sort'].nil?
1648
+
1649
+ # header parameters
1650
+ header_params = opts[:header_params] || {}
1651
+ # HTTP header 'Accept' (if needed)
1652
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1653
+
1654
+ # form parameters
1655
+ form_params = opts[:form_params] || {}
1656
+
1657
+ # http body (model)
1658
+ post_body = opts[:body]
1659
+
1660
+ # auth_names
1661
+ auth_names = opts[:auth_names] || ['oauth2']
1662
+
1663
+ # return_type
1664
+ return_type = opts[:return_type]
1665
+
1666
+ return_types_map = {
1667
+ 200 => 'CollectionResponseWithTotalHubDbTableRowV3',
1668
+ }
1669
+
1670
+ new_options = opts.merge(
1671
+ :header_params => header_params,
1672
+ :query_params => query_params,
1673
+ :form_params => form_params,
1674
+ :body => post_body,
1675
+ :auth_names => auth_names,
1676
+ :return_type => return_type,
1677
+ :return_types_map => return_types_map
1678
+ )
1679
+
1680
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1681
+ if @api_client.config.debugging
1682
+ @api_client.config.logger.debug "API called: DefaultApi#read_draft_table_rows\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1683
+ end
1684
+ return data, status_code, headers
1685
+ end
1686
+
1687
+ # Replaces an existing row
1688
+ # Replace a single row in the table's `DRAFT` version. All the column values must be specified. If a column has a value in the target table and this request doesn't define that value, it will be deleted. See the `Create a row` endpoint for instructions on how to format the JSON row definitions.
1689
+ # @param row_id [String] The ID of the row
1690
+ # @param table_id [String] The ID or name of the table
1691
+ # @param hub_db_table_row_v3_input [HubDbTableRowV3Input] The JSON object of the row
1692
+ # @param [Hash] opts the optional parameters
1693
+ # @return [HubDbTableRowV3]
1694
+ def replace_draft_table_row(row_id, table_id, hub_db_table_row_v3_input, opts = {})
1695
+ data, _status_code, _headers = replace_draft_table_row_with_http_info(row_id, table_id, hub_db_table_row_v3_input, opts)
1696
+ data
1697
+ end
1698
+
1699
+ # Replaces an existing row
1700
+ # Replace a single row in the table&#39;s &#x60;DRAFT&#x60; version. All the column values must be specified. If a column has a value in the target table and this request doesn&#39;t define that value, it will be deleted. See the &#x60;Create a row&#x60; endpoint for instructions on how to format the JSON row definitions.
1701
+ # @param row_id [String] The ID of the row
1702
+ # @param table_id [String] The ID or name of the table
1703
+ # @param hub_db_table_row_v3_input [HubDbTableRowV3Input] The JSON object of the row
1704
+ # @param [Hash] opts the optional parameters
1705
+ # @return [Array<(HubDbTableRowV3, Integer, Hash)>] HubDbTableRowV3 data, response status code and response headers
1706
+ def replace_draft_table_row_with_http_info(row_id, table_id, hub_db_table_row_v3_input, opts = {})
1707
+ if @api_client.config.debugging
1708
+ @api_client.config.logger.debug 'Calling API: DefaultApi.replace_draft_table_row ...'
1709
+ end
1710
+ # verify the required parameter 'row_id' is set
1711
+ if @api_client.config.client_side_validation && row_id.nil?
1712
+ fail ArgumentError, "Missing the required parameter 'row_id' when calling DefaultApi.replace_draft_table_row"
1713
+ end
1714
+ pattern = Regexp.new(/\d+/)
1715
+ if @api_client.config.client_side_validation && row_id !~ pattern
1716
+ fail ArgumentError, "invalid value for 'row_id' when calling DefaultApi.replace_draft_table_row, must conform to the pattern #{pattern}."
1717
+ end
1718
+
1719
+ # verify the required parameter 'table_id' is set
1720
+ if @api_client.config.client_side_validation && table_id.nil?
1721
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.replace_draft_table_row"
1722
+ end
1723
+ # verify the required parameter 'hub_db_table_row_v3_input' is set
1724
+ if @api_client.config.client_side_validation && hub_db_table_row_v3_input.nil?
1725
+ fail ArgumentError, "Missing the required parameter 'hub_db_table_row_v3_input' when calling DefaultApi.replace_draft_table_row"
1726
+ end
1727
+ # resource path
1728
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/{rowId}/draft'.sub('{' + 'rowId' + '}', CGI.escape(row_id.to_s)).sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1729
+
1730
+ # query parameters
1731
+ query_params = opts[:query_params] || {}
1732
+
1733
+ # header parameters
1734
+ header_params = opts[:header_params] || {}
1735
+ # HTTP header 'Accept' (if needed)
1736
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1737
+ # HTTP header 'Content-Type'
1738
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1739
+
1740
+ # form parameters
1741
+ form_params = opts[:form_params] || {}
1742
+
1743
+ # http body (model)
1744
+ post_body = opts[:body] || @api_client.object_to_http_body(hub_db_table_row_v3_input)
1745
+
1746
+ # auth_names
1747
+ auth_names = opts[:auth_names] || ['oauth2']
1748
+
1749
+ # return_type
1750
+ return_type = opts[:return_type]
1751
+
1752
+ return_types_map = {
1753
+ 200 => 'HubDbTableRowV3',
1754
+ }
1755
+
1756
+ new_options = opts.merge(
1757
+ :header_params => header_params,
1758
+ :query_params => query_params,
1759
+ :form_params => form_params,
1760
+ :body => post_body,
1761
+ :auth_names => auth_names,
1762
+ :return_type => return_type,
1763
+ :return_types_map => return_types_map
1764
+ )
1765
+
1766
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1767
+ if @api_client.config.debugging
1768
+ @api_client.config.logger.debug "API called: DefaultApi#replace_draft_table_row\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1769
+ end
1770
+ return data, status_code, headers
1771
+ end
1772
+
1773
+ # Reset a draft table
1774
+ # Replaces the data in the `DRAFT` version of the table with values from the `PUBLISHED` version. Any unpublished changes in the `DRAFT` will be lost after this call is made.
1775
+ # @param table_id [String] The ID or name of the table to reset.
1776
+ # @param [Hash] opts the optional parameters
1777
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the response.
1778
+ # @return [HubDbTableV3]
1779
+ def reset_draft_table(table_id, opts = {})
1780
+ data, _status_code, _headers = reset_draft_table_with_http_info(table_id, opts)
1781
+ data
1782
+ end
1783
+
1784
+ # Reset a draft table
1785
+ # Replaces the data in the &#x60;DRAFT&#x60; version of the table with values from the &#x60;PUBLISHED&#x60; version. Any unpublished changes in the &#x60;DRAFT&#x60; will be lost after this call is made.
1786
+ # @param table_id [String] The ID or name of the table to reset.
1787
+ # @param [Hash] opts the optional parameters
1788
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the response.
1789
+ # @return [Array<(HubDbTableV3, Integer, Hash)>] HubDbTableV3 data, response status code and response headers
1790
+ def reset_draft_table_with_http_info(table_id, opts = {})
1791
+ if @api_client.config.debugging
1792
+ @api_client.config.logger.debug 'Calling API: DefaultApi.reset_draft_table ...'
1793
+ end
1794
+ # verify the required parameter 'table_id' is set
1795
+ if @api_client.config.client_side_validation && table_id.nil?
1796
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.reset_draft_table"
1797
+ end
1798
+ # resource path
1799
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/draft/reset'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1800
+
1801
+ # query parameters
1802
+ query_params = opts[:query_params] || {}
1803
+ query_params[:'includeForeignIds'] = opts[:'include_foreign_ids'] if !opts[:'include_foreign_ids'].nil?
1804
+
1805
+ # header parameters
1806
+ header_params = opts[:header_params] || {}
1807
+ # HTTP header 'Accept' (if needed)
1808
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1809
+
1810
+ # form parameters
1811
+ form_params = opts[:form_params] || {}
1812
+
1813
+ # http body (model)
1814
+ post_body = opts[:body]
1815
+
1816
+ # auth_names
1817
+ auth_names = opts[:auth_names] || ['oauth2']
1818
+
1819
+ # return_type
1820
+ return_type = opts[:return_type]
1821
+
1822
+ return_types_map = {
1823
+ 200 => 'HubDbTableV3',
1824
+ }
1825
+
1826
+ new_options = opts.merge(
1827
+ :header_params => header_params,
1828
+ :query_params => query_params,
1829
+ :form_params => form_params,
1830
+ :body => post_body,
1831
+ :auth_names => auth_names,
1832
+ :return_type => return_type,
1833
+ :return_types_map => return_types_map
1834
+ )
1835
+
1836
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1837
+ if @api_client.config.debugging
1838
+ @api_client.config.logger.debug "API called: DefaultApi#reset_draft_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1839
+ end
1840
+ return data, status_code, headers
1841
+ end
1842
+
1843
+ # Update an existing table
1844
+ # Update an existing HubDB table. You can use this endpoint to add or remove a column. Tables updated using the endpoint will only modify the `DRAFT` table. Use the publish endpoint to push all changes to the `PUBLISHED` version. You can only include the columns that need to be modified without including the remaining columns.
1845
+ # @param table_id [String] The ID or name of the table to update.
1846
+ # @param hub_db_table_v3_input [HubDbTableV3Input] The JSON schema for the table being updated.
1847
+ # @param [Hash] opts the optional parameters
1848
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the result.
1849
+ # @return [HubDbTableV3]
1850
+ def update_draft_table(table_id, hub_db_table_v3_input, opts = {})
1851
+ data, _status_code, _headers = update_draft_table_with_http_info(table_id, hub_db_table_v3_input, opts)
1852
+ data
1853
+ end
1854
+
1855
+ # Update an existing table
1856
+ # Update an existing HubDB table. You can use this endpoint to add or remove a column. Tables updated using the endpoint will only modify the &#x60;DRAFT&#x60; table. Use the publish endpoint to push all changes to the &#x60;PUBLISHED&#x60; version. You can only include the columns that need to be modified without including the remaining columns.
1857
+ # @param table_id [String] The ID or name of the table to update.
1858
+ # @param hub_db_table_v3_input [HubDbTableV3Input] The JSON schema for the table being updated.
1859
+ # @param [Hash] opts the optional parameters
1860
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the result.
1861
+ # @return [Array<(HubDbTableV3, Integer, Hash)>] HubDbTableV3 data, response status code and response headers
1862
+ def update_draft_table_with_http_info(table_id, hub_db_table_v3_input, opts = {})
1863
+ if @api_client.config.debugging
1864
+ @api_client.config.logger.debug 'Calling API: DefaultApi.update_draft_table ...'
1865
+ end
1866
+ # verify the required parameter 'table_id' is set
1867
+ if @api_client.config.client_side_validation && table_id.nil?
1868
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.update_draft_table"
1869
+ end
1870
+ # verify the required parameter 'hub_db_table_v3_input' is set
1871
+ if @api_client.config.client_side_validation && hub_db_table_v3_input.nil?
1872
+ fail ArgumentError, "Missing the required parameter 'hub_db_table_v3_input' when calling DefaultApi.update_draft_table"
1873
+ end
1874
+ # resource path
1875
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/draft'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1876
+
1877
+ # query parameters
1878
+ query_params = opts[:query_params] || {}
1879
+ query_params[:'includeForeignIds'] = opts[:'include_foreign_ids'] if !opts[:'include_foreign_ids'].nil?
1880
+
1881
+ # header parameters
1882
+ header_params = opts[:header_params] || {}
1883
+ # HTTP header 'Accept' (if needed)
1884
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1885
+ # HTTP header 'Content-Type'
1886
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1887
+
1888
+ # form parameters
1889
+ form_params = opts[:form_params] || {}
1890
+
1891
+ # http body (model)
1892
+ post_body = opts[:body] || @api_client.object_to_http_body(hub_db_table_v3_input)
1893
+
1894
+ # auth_names
1895
+ auth_names = opts[:auth_names] || ['oauth2']
1896
+
1897
+ # return_type
1898
+ return_type = opts[:return_type]
1899
+
1900
+ return_types_map = {
1901
+ 200 => 'HubDbTableV3',
1902
+ }
1903
+
1904
+ new_options = opts.merge(
1905
+ :header_params => header_params,
1906
+ :query_params => query_params,
1907
+ :form_params => form_params,
1908
+ :body => post_body,
1909
+ :auth_names => auth_names,
1910
+ :return_type => return_type,
1911
+ :return_types_map => return_types_map
1912
+ )
1913
+
1914
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
1915
+ if @api_client.config.debugging
1916
+ @api_client.config.logger.debug "API called: DefaultApi#update_draft_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1917
+ end
1918
+ return data, status_code, headers
1919
+ end
1920
+
1921
+ # Updates an existing row
1922
+ # Sparse updates a single row in the table's `DRAFT` version. All the column values need not be specified. Only the columns or fields that needs to be modified can be specified. See the `Create a row` endpoint for instructions on how to format the JSON row definitions.
1923
+ # @param row_id [String] The ID of the row
1924
+ # @param table_id [String] The ID or name of the table
1925
+ # @param hub_db_table_row_v3_input [HubDbTableRowV3Input] The JSON object of the row with necessary fields that needs to be updated.
1926
+ # @param [Hash] opts the optional parameters
1927
+ # @return [HubDbTableRowV3]
1928
+ def update_draft_table_row(row_id, table_id, hub_db_table_row_v3_input, opts = {})
1929
+ data, _status_code, _headers = update_draft_table_row_with_http_info(row_id, table_id, hub_db_table_row_v3_input, opts)
1930
+ data
1931
+ end
1932
+
1933
+ # Updates an existing row
1934
+ # Sparse updates a single row in the table&#39;s &#x60;DRAFT&#x60; version. All the column values need not be specified. Only the columns or fields that needs to be modified can be specified. See the &#x60;Create a row&#x60; endpoint for instructions on how to format the JSON row definitions.
1935
+ # @param row_id [String] The ID of the row
1936
+ # @param table_id [String] The ID or name of the table
1937
+ # @param hub_db_table_row_v3_input [HubDbTableRowV3Input] The JSON object of the row with necessary fields that needs to be updated.
1938
+ # @param [Hash] opts the optional parameters
1939
+ # @return [Array<(HubDbTableRowV3, Integer, Hash)>] HubDbTableRowV3 data, response status code and response headers
1940
+ def update_draft_table_row_with_http_info(row_id, table_id, hub_db_table_row_v3_input, opts = {})
1941
+ if @api_client.config.debugging
1942
+ @api_client.config.logger.debug 'Calling API: DefaultApi.update_draft_table_row ...'
1943
+ end
1944
+ # verify the required parameter 'row_id' is set
1945
+ if @api_client.config.client_side_validation && row_id.nil?
1946
+ fail ArgumentError, "Missing the required parameter 'row_id' when calling DefaultApi.update_draft_table_row"
1947
+ end
1948
+ pattern = Regexp.new(/\d+/)
1949
+ if @api_client.config.client_side_validation && row_id !~ pattern
1950
+ fail ArgumentError, "invalid value for 'row_id' when calling DefaultApi.update_draft_table_row, must conform to the pattern #{pattern}."
1951
+ end
1952
+
1953
+ # verify the required parameter 'table_id' is set
1954
+ if @api_client.config.client_side_validation && table_id.nil?
1955
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.update_draft_table_row"
1956
+ end
1957
+ # verify the required parameter 'hub_db_table_row_v3_input' is set
1958
+ if @api_client.config.client_side_validation && hub_db_table_row_v3_input.nil?
1959
+ fail ArgumentError, "Missing the required parameter 'hub_db_table_row_v3_input' when calling DefaultApi.update_draft_table_row"
1960
+ end
1961
+ # resource path
1962
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}/rows/{rowId}/draft'.sub('{' + 'rowId' + '}', CGI.escape(row_id.to_s)).sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
1963
+
1964
+ # query parameters
1965
+ query_params = opts[:query_params] || {}
1966
+
1967
+ # header parameters
1968
+ header_params = opts[:header_params] || {}
1969
+ # HTTP header 'Accept' (if needed)
1970
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
1971
+ # HTTP header 'Content-Type'
1972
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1973
+
1974
+ # form parameters
1975
+ form_params = opts[:form_params] || {}
1976
+
1977
+ # http body (model)
1978
+ post_body = opts[:body] || @api_client.object_to_http_body(hub_db_table_row_v3_input)
1979
+
1980
+ # auth_names
1981
+ auth_names = opts[:auth_names] || ['oauth2']
1982
+
1983
+ # return_type
1984
+ return_type = opts[:return_type]
1985
+
1986
+ return_types_map = {
1987
+ 200 => 'HubDbTableRowV3',
1988
+ }
1989
+
1990
+ new_options = opts.merge(
1991
+ :header_params => header_params,
1992
+ :query_params => query_params,
1993
+ :form_params => form_params,
1994
+ :body => post_body,
1995
+ :auth_names => auth_names,
1996
+ :return_type => return_type,
1997
+ :return_types_map => return_types_map
1998
+ )
1999
+
2000
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
2001
+ if @api_client.config.debugging
2002
+ @api_client.config.logger.debug "API called: DefaultApi#update_draft_table_row\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2003
+ end
2004
+ return data, status_code, headers
2005
+ end
2006
+
2007
+ # Publish or unpublish a live version of a table or restore an archived table
2008
+ # Use this endpoint to perform one of the following <ul><li> Publish a live version of a table (without copying table data from DRAFT) </li><li>Un-publish a live version of a table (Leaving the data in the live version)</li><li>Restore an archived table</li></ul> To publish a table, send `published` property in the JSON object with the value `true`. To unpublish a table, send `published` property in the JSON object with the value `false`. To restore an archived table, send `archived` property in the JSON object with the value `false` along with the query parameter `archived=true`. When restoring an archived table, if an active table already exists with the same `name` or `label`, you will need to change the name of the archived table when restoring it using the `name` and `label` parameters with a new name and new label. Examples: Publish a table: ``` { \"published\": true } ``` Unpublish a table: ``` { \"published\": false } ``` Restore a table: (send `archived=true` in query parameters) ``` { \"archived\": false } ``` Restore a table with a new name: (send `archived=true` in query parameters) ``` { \"label\": \"New Table Name\", \"name\": \"new_table_name\", \"archived\": false } ```
2009
+ # @param table_id [String] The ID or name of the table to return.
2010
+ # @param hub_db_table_v3_live_input [HubDbTableV3LiveInput] The JSON object as described.
2011
+ # @param [Hash] opts the optional parameters
2012
+ # @option opts [Boolean] :archived Whether to return only results that have been archived.
2013
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the result.
2014
+ # @return [HubDbTableV3]
2015
+ def update_table(table_id, hub_db_table_v3_live_input, opts = {})
2016
+ data, _status_code, _headers = update_table_with_http_info(table_id, hub_db_table_v3_live_input, opts)
2017
+ data
2018
+ end
2019
+
2020
+ # Publish or unpublish a live version of a table or restore an archived table
2021
+ # Use this endpoint to perform one of the following &lt;ul&gt;&lt;li&gt; Publish a live version of a table (without copying table data from DRAFT) &lt;/li&gt;&lt;li&gt;Un-publish a live version of a table (Leaving the data in the live version)&lt;/li&gt;&lt;li&gt;Restore an archived table&lt;/li&gt;&lt;/ul&gt; To publish a table, send &#x60;published&#x60; property in the JSON object with the value &#x60;true&#x60;. To unpublish a table, send &#x60;published&#x60; property in the JSON object with the value &#x60;false&#x60;. To restore an archived table, send &#x60;archived&#x60; property in the JSON object with the value &#x60;false&#x60; along with the query parameter &#x60;archived&#x3D;true&#x60;. When restoring an archived table, if an active table already exists with the same &#x60;name&#x60; or &#x60;label&#x60;, you will need to change the name of the archived table when restoring it using the &#x60;name&#x60; and &#x60;label&#x60; parameters with a new name and new label. Examples: Publish a table: &#x60;&#x60;&#x60; { \&quot;published\&quot;: true } &#x60;&#x60;&#x60; Unpublish a table: &#x60;&#x60;&#x60; { \&quot;published\&quot;: false } &#x60;&#x60;&#x60; Restore a table: (send &#x60;archived&#x3D;true&#x60; in query parameters) &#x60;&#x60;&#x60; { \&quot;archived\&quot;: false } &#x60;&#x60;&#x60; Restore a table with a new name: (send &#x60;archived&#x3D;true&#x60; in query parameters) &#x60;&#x60;&#x60; { \&quot;label\&quot;: \&quot;New Table Name\&quot;, \&quot;name\&quot;: \&quot;new_table_name\&quot;, \&quot;archived\&quot;: false } &#x60;&#x60;&#x60;
2022
+ # @param table_id [String] The ID or name of the table to return.
2023
+ # @param hub_db_table_v3_live_input [HubDbTableV3LiveInput] The JSON object as described.
2024
+ # @param [Hash] opts the optional parameters
2025
+ # @option opts [Boolean] :archived Whether to return only results that have been archived.
2026
+ # @option opts [Boolean] :include_foreign_ids Set this to &#x60;true&#x60; to populate foreign ID values in the result.
2027
+ # @return [Array<(HubDbTableV3, Integer, Hash)>] HubDbTableV3 data, response status code and response headers
2028
+ def update_table_with_http_info(table_id, hub_db_table_v3_live_input, opts = {})
2029
+ if @api_client.config.debugging
2030
+ @api_client.config.logger.debug 'Calling API: DefaultApi.update_table ...'
2031
+ end
2032
+ # verify the required parameter 'table_id' is set
2033
+ if @api_client.config.client_side_validation && table_id.nil?
2034
+ fail ArgumentError, "Missing the required parameter 'table_id' when calling DefaultApi.update_table"
2035
+ end
2036
+ # verify the required parameter 'hub_db_table_v3_live_input' is set
2037
+ if @api_client.config.client_side_validation && hub_db_table_v3_live_input.nil?
2038
+ fail ArgumentError, "Missing the required parameter 'hub_db_table_v3_live_input' when calling DefaultApi.update_table"
2039
+ end
2040
+ # resource path
2041
+ local_var_path = '/cms/v3/hubdb/tables/{tableId}'.sub('{' + 'tableId' + '}', CGI.escape(table_id.to_s))
2042
+
2043
+ # query parameters
2044
+ query_params = opts[:query_params] || {}
2045
+ query_params[:'archived'] = opts[:'archived'] if !opts[:'archived'].nil?
2046
+ query_params[:'includeForeignIds'] = opts[:'include_foreign_ids'] if !opts[:'include_foreign_ids'].nil?
2047
+
2048
+ # header parameters
2049
+ header_params = opts[:header_params] || {}
2050
+ # HTTP header 'Accept' (if needed)
2051
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', '*/*'])
2052
+ # HTTP header 'Content-Type'
2053
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
2054
+
2055
+ # form parameters
2056
+ form_params = opts[:form_params] || {}
2057
+
2058
+ # http body (model)
2059
+ post_body = opts[:body] || @api_client.object_to_http_body(hub_db_table_v3_live_input)
2060
+
2061
+ # auth_names
2062
+ auth_names = opts[:auth_names] || ['oauth2']
2063
+
2064
+ # return_type
2065
+ return_type = opts[:return_type]
2066
+
2067
+ return_types_map = {
2068
+ 200 => 'HubDbTableV3',
2069
+ }
2070
+
2071
+ new_options = opts.merge(
2072
+ :header_params => header_params,
2073
+ :query_params => query_params,
2074
+ :form_params => form_params,
2075
+ :body => post_body,
2076
+ :auth_names => auth_names,
2077
+ :return_type => return_type,
2078
+ :return_types_map => return_types_map
2079
+ )
2080
+
2081
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
2082
+ if @api_client.config.debugging
2083
+ @api_client.config.logger.debug "API called: DefaultApi#update_table\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2084
+ end
2085
+ return data, status_code, headers
2086
+ end
2087
+ end
2088
+ end
2089
+ end
2090
+ end