tmdb_ryanstep 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. checksums.yaml +7 -0
  2. data/lib/environment.rb +7 -0
  3. data/lib/gemconfig.rb +14 -0
  4. data/lib/requests.rb +163 -0
  5. data/lib/tmdb_ryanstep/types/account_favorite_movies_request_sort_by.rb +8 -0
  6. data/lib/tmdb_ryanstep/types/account_favorite_movies_response.rb +90 -0
  7. data/lib/tmdb_ryanstep/types/account_favorite_movies_response_results_item.rb +169 -0
  8. data/lib/tmdb_ryanstep/types/account_favorite_tv_request_sort_by.rb +8 -0
  9. data/lib/tmdb_ryanstep/types/account_favorite_tv_response.rb +90 -0
  10. data/lib/tmdb_ryanstep/types/account_favorite_tv_response_results_item.rb +167 -0
  11. data/lib/tmdb_ryanstep/types/account_lists_response.rb +90 -0
  12. data/lib/tmdb_ryanstep/types/account_lists_response_results_item.rb +183 -0
  13. data/lib/tmdb_ryanstep/types/account_movie_recommendations_response.rb +90 -0
  14. data/lib/tmdb_ryanstep/types/account_movie_recommendations_response_results_item.rb +177 -0
  15. data/lib/tmdb_ryanstep/types/account_movie_watchlist_request_sort_by.rb +8 -0
  16. data/lib/tmdb_ryanstep/types/account_movie_watchlist_response.rb +90 -0
  17. data/lib/tmdb_ryanstep/types/account_movie_watchlist_response_results_item.rb +177 -0
  18. data/lib/tmdb_ryanstep/types/account_rated_movies_request_sort_by.rb +8 -0
  19. data/lib/tmdb_ryanstep/types/account_rated_movies_response.rb +90 -0
  20. data/lib/tmdb_ryanstep/types/account_rated_movies_response_results_item.rb +182 -0
  21. data/lib/tmdb_ryanstep/types/account_rated_movies_response_results_item_account_rating.rb +69 -0
  22. data/lib/tmdb_ryanstep/types/account_rated_tv_request_sort_by.rb +8 -0
  23. data/lib/tmdb_ryanstep/types/account_rated_tv_response.rb +90 -0
  24. data/lib/tmdb_ryanstep/types/account_rated_tv_response_results_item.rb +181 -0
  25. data/lib/tmdb_ryanstep/types/account_rated_tv_response_results_item_account_rating.rb +69 -0
  26. data/lib/tmdb_ryanstep/types/account_tv_recommendations_response.rb +90 -0
  27. data/lib/tmdb_ryanstep/types/account_tv_recommendations_response_results_item.rb +177 -0
  28. data/lib/tmdb_ryanstep/types/account_tv_watchlist_request_sort_by.rb +8 -0
  29. data/lib/tmdb_ryanstep/types/account_tv_watchlist_response.rb +90 -0
  30. data/lib/tmdb_ryanstep/types/account_tv_watchlist_response_results_item.rb +176 -0
  31. data/lib/tmdb_ryanstep/types/auth_create_access_token_response.rb +95 -0
  32. data/lib/tmdb_ryanstep/types/auth_create_request_token_response.rb +87 -0
  33. data/lib/tmdb_ryanstep/types/auth_logout_response.rb +78 -0
  34. data/lib/tmdb_ryanstep/types/list_add_items_response.rb +90 -0
  35. data/lib/tmdb_ryanstep/types/list_add_items_response_results_item.rb +74 -0
  36. data/lib/tmdb_ryanstep/types/list_clear_response.rb +95 -0
  37. data/lib/tmdb_ryanstep/types/list_create_response.rb +86 -0
  38. data/lib/tmdb_ryanstep/types/list_delete_response.rb +78 -0
  39. data/lib/tmdb_ryanstep/types/list_details_response.rb +237 -0
  40. data/lib/tmdb_ryanstep/types/list_details_response_comments.rb +215 -0
  41. data/lib/tmdb_ryanstep/types/list_details_response_created_by.rb +95 -0
  42. data/lib/tmdb_ryanstep/types/list_details_response_object_ids.rb +47 -0
  43. data/lib/tmdb_ryanstep/types/list_details_response_results_item.rb +175 -0
  44. data/lib/tmdb_ryanstep/types/list_item_status_request_media_type.rb +9 -0
  45. data/lib/tmdb_ryanstep/types/list_item_status_response.rb +103 -0
  46. data/lib/tmdb_ryanstep/types/list_remove_items_response.rb +90 -0
  47. data/lib/tmdb_ryanstep/types/list_remove_items_response_results_item.rb +74 -0
  48. data/lib/tmdb_ryanstep/types/list_update_items_response.rb +90 -0
  49. data/lib/tmdb_ryanstep/types/list_update_items_response_results_item.rb +74 -0
  50. data/lib/tmdb_ryanstep/types/list_update_response.rb +78 -0
  51. data/lib/tmdb_ryanstep.rb +1557 -0
  52. data/lib/types_export.rb +48 -0
  53. metadata +175 -0
@@ -0,0 +1,1557 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "environment"
4
+ require_relative "types_export"
5
+ require_relative "requests"
6
+ require_relative "tmdb_ryanstep/types/auth_create_request_token_response"
7
+ require_relative "tmdb_ryanstep/types/auth_create_access_token_response"
8
+ require_relative "tmdb_ryanstep/types/auth_logout_response"
9
+ require_relative "tmdb_ryanstep/types/list_details_response"
10
+ require_relative "tmdb_ryanstep/types/list_update_response"
11
+ require_relative "tmdb_ryanstep/types/list_create_response"
12
+ require_relative "tmdb_ryanstep/types/list_clear_response"
13
+ require_relative "tmdb_ryanstep/types/list_delete_response"
14
+ require_relative "tmdb_ryanstep/types/list_add_items_response"
15
+ require_relative "tmdb_ryanstep/types/list_update_items_response"
16
+ require_relative "tmdb_ryanstep/types/list_remove_items_response"
17
+ require_relative "tmdb_ryanstep/types/list_item_status_request_media_type"
18
+ require_relative "tmdb_ryanstep/types/list_item_status_response"
19
+ require_relative "tmdb_ryanstep/types/account_lists_response"
20
+ require_relative "tmdb_ryanstep/types/account_favorite_movies_request_sort_by"
21
+ require_relative "tmdb_ryanstep/types/account_favorite_movies_response"
22
+ require_relative "tmdb_ryanstep/types/account_favorite_tv_request_sort_by"
23
+ require_relative "tmdb_ryanstep/types/account_favorite_tv_response"
24
+ require_relative "tmdb_ryanstep/types/account_tv_recommendations_response"
25
+ require_relative "tmdb_ryanstep/types/account_movie_recommendations_response"
26
+ require_relative "tmdb_ryanstep/types/account_movie_watchlist_request_sort_by"
27
+ require_relative "tmdb_ryanstep/types/account_movie_watchlist_response"
28
+ require_relative "tmdb_ryanstep/types/account_tv_watchlist_request_sort_by"
29
+ require_relative "tmdb_ryanstep/types/account_tv_watchlist_response"
30
+ require_relative "tmdb_ryanstep/types/account_rated_movies_request_sort_by"
31
+ require_relative "tmdb_ryanstep/types/account_rated_movies_response"
32
+ require_relative "tmdb_ryanstep/types/account_rated_tv_request_sort_by"
33
+ require_relative "tmdb_ryanstep/types/account_rated_tv_response"
34
+
35
+ module TmdbApiClient
36
+ class Client
37
+ # @param base_url [String]
38
+ # @param environment [TmdbApiClient::Environment]
39
+ # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
40
+ # @param timeout_in_seconds [Long]
41
+ # @param api_key [String]
42
+ # @return [TmdbApiClient::Client]
43
+ def initialize(api_key:, base_url: nil, environment: TmdbApiClient::Environment::DEFAULT, max_retries: nil,
44
+ timeout_in_seconds: nil)
45
+ @request_client = TmdbApiClient::RequestClient.new(
46
+ base_url: base_url,
47
+ environment: environment,
48
+ max_retries: max_retries,
49
+ timeout_in_seconds: timeout_in_seconds,
50
+ api_key: api_key
51
+ )
52
+ end
53
+
54
+ #
55
+ # @param raw_body [String]
56
+ # @param request_options [TmdbApiClient::RequestOptions]
57
+ # @return [TmdbApiClient::AuthCreateRequestTokenResponse]
58
+ # @example
59
+ # api = TmdbApiClient::Client.new(
60
+ # base_url: "https://api.example.com",
61
+ # environment: TmdbApiClient::Environment::DEFAULT,
62
+ # api_key: "YOUR_API_KEY"
63
+ # )
64
+ # api.auth_create_request_token(raw_body: "RAW_BODY")
65
+ def auth_create_request_token(raw_body:, request_options: nil)
66
+ response = @request_client.conn.post do |req|
67
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
68
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
69
+ req.headers = {
70
+ **(req.headers || {}),
71
+ **@request_client.get_headers,
72
+ **(request_options&.additional_headers || {})
73
+ }.compact
74
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
75
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
76
+ end
77
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
78
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/auth/request_token"
79
+ end
80
+ TmdbApiClient::AuthCreateRequestTokenResponse.from_json(json_object: response.body)
81
+ end
82
+
83
+ #
84
+ # @param raw_body [String]
85
+ # @param request_options [TmdbApiClient::RequestOptions]
86
+ # @return [TmdbApiClient::AuthCreateAccessTokenResponse]
87
+ # @example
88
+ # api = TmdbApiClient::Client.new(
89
+ # base_url: "https://api.example.com",
90
+ # environment: TmdbApiClient::Environment::DEFAULT,
91
+ # api_key: "YOUR_API_KEY"
92
+ # )
93
+ # api.auth_create_access_token(raw_body: "RAW_BODY")
94
+ def auth_create_access_token(raw_body:, request_options: nil)
95
+ response = @request_client.conn.post do |req|
96
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
97
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
98
+ req.headers = {
99
+ **(req.headers || {}),
100
+ **@request_client.get_headers,
101
+ **(request_options&.additional_headers || {})
102
+ }.compact
103
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
104
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
105
+ end
106
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
107
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/auth/access_token"
108
+ end
109
+ TmdbApiClient::AuthCreateAccessTokenResponse.from_json(json_object: response.body)
110
+ end
111
+
112
+ # Log out of a session.
113
+ #
114
+ # @param raw_body [String]
115
+ # @param request_options [TmdbApiClient::RequestOptions]
116
+ # @return [TmdbApiClient::AuthLogoutResponse]
117
+ # @example
118
+ # api = TmdbApiClient::Client.new(
119
+ # base_url: "https://api.example.com",
120
+ # environment: TmdbApiClient::Environment::DEFAULT,
121
+ # api_key: "YOUR_API_KEY"
122
+ # )
123
+ # api.auth_logout(raw_body: "RAW_BODY")
124
+ def auth_logout(raw_body:, request_options: nil)
125
+ response = @request_client.conn.delete do |req|
126
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
127
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
128
+ req.headers = {
129
+ **(req.headers || {}),
130
+ **@request_client.get_headers,
131
+ **(request_options&.additional_headers || {})
132
+ }.compact
133
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
134
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
135
+ end
136
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
137
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/auth/access_token"
138
+ end
139
+ TmdbApiClient::AuthLogoutResponse.from_json(json_object: response.body)
140
+ end
141
+
142
+ # Retrieve a list by id.
143
+ #
144
+ # @param list_id [Integer]
145
+ # @param language [String]
146
+ # @param page [Integer]
147
+ # @param request_options [TmdbApiClient::RequestOptions]
148
+ # @return [TmdbApiClient::ListDetailsResponse]
149
+ # @example
150
+ # api = TmdbApiClient::Client.new(
151
+ # base_url: "https://api.example.com",
152
+ # environment: TmdbApiClient::Environment::DEFAULT,
153
+ # api_key: "YOUR_API_KEY"
154
+ # )
155
+ # api.list_details(list_id: 1)
156
+ def list_details(list_id:, language: nil, page: nil, request_options: nil)
157
+ response = @request_client.conn.get do |req|
158
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
159
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
160
+ req.headers = {
161
+ **(req.headers || {}),
162
+ **@request_client.get_headers,
163
+ **(request_options&.additional_headers || {})
164
+ }.compact
165
+ req.params = {
166
+ **(request_options&.additional_query_parameters || {}),
167
+ "language": language,
168
+ "page": page
169
+ }.compact
170
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
171
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
172
+ end
173
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/list/#{list_id}"
174
+ end
175
+ TmdbApiClient::ListDetailsResponse.from_json(json_object: response.body)
176
+ end
177
+
178
+ # Update the details of a list.
179
+ #
180
+ # @param list_id [Integer]
181
+ # @param raw_body [String]
182
+ # @param request_options [TmdbApiClient::RequestOptions]
183
+ # @return [TmdbApiClient::ListUpdateResponse]
184
+ # @example
185
+ # api = TmdbApiClient::Client.new(
186
+ # base_url: "https://api.example.com",
187
+ # environment: TmdbApiClient::Environment::DEFAULT,
188
+ # api_key: "YOUR_API_KEY"
189
+ # )
190
+ # api.list_update(list_id: 1, raw_body: "RAW_BODY")
191
+ def list_update(list_id:, raw_body:, request_options: nil)
192
+ response = @request_client.conn.put do |req|
193
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
194
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
195
+ req.headers = {
196
+ **(req.headers || {}),
197
+ **@request_client.get_headers,
198
+ **(request_options&.additional_headers || {})
199
+ }.compact
200
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
201
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
202
+ end
203
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
204
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/list/#{list_id}"
205
+ end
206
+ TmdbApiClient::ListUpdateResponse.from_json(json_object: response.body)
207
+ end
208
+
209
+ # Create a new list.
210
+ #
211
+ # @param raw_body [String]
212
+ # @param request_options [TmdbApiClient::RequestOptions]
213
+ # @return [TmdbApiClient::ListCreateResponse]
214
+ # @example
215
+ # api = TmdbApiClient::Client.new(
216
+ # base_url: "https://api.example.com",
217
+ # environment: TmdbApiClient::Environment::DEFAULT,
218
+ # api_key: "YOUR_API_KEY"
219
+ # )
220
+ # api.list_create(raw_body: "RAW_BODY")
221
+ def list_create(raw_body:, request_options: nil)
222
+ response = @request_client.conn.post do |req|
223
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
224
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
225
+ req.headers = {
226
+ **(req.headers || {}),
227
+ **@request_client.get_headers,
228
+ **(request_options&.additional_headers || {})
229
+ }.compact
230
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
231
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
232
+ end
233
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
234
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/list"
235
+ end
236
+ TmdbApiClient::ListCreateResponse.from_json(json_object: response.body)
237
+ end
238
+
239
+ # Clear all of the items on a list.
240
+ #
241
+ # @param list_id [Integer]
242
+ # @param request_options [TmdbApiClient::RequestOptions]
243
+ # @return [TmdbApiClient::ListClearResponse]
244
+ # @example
245
+ # api = TmdbApiClient::Client.new(
246
+ # base_url: "https://api.example.com",
247
+ # environment: TmdbApiClient::Environment::DEFAULT,
248
+ # api_key: "YOUR_API_KEY"
249
+ # )
250
+ # api.list_clear(list_id: 1)
251
+ def list_clear(list_id:, request_options: nil)
252
+ response = @request_client.conn.get do |req|
253
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
254
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
255
+ req.headers = {
256
+ **(req.headers || {}),
257
+ **@request_client.get_headers,
258
+ **(request_options&.additional_headers || {})
259
+ }.compact
260
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
261
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
262
+ end
263
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
264
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
265
+ end
266
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/list/#{list_id}/clear"
267
+ end
268
+ TmdbApiClient::ListClearResponse.from_json(json_object: response.body)
269
+ end
270
+
271
+ # Delete a list.
272
+ #
273
+ # @param list_id [Integer]
274
+ # @param request_options [TmdbApiClient::RequestOptions]
275
+ # @return [TmdbApiClient::ListDeleteResponse]
276
+ # @example
277
+ # api = TmdbApiClient::Client.new(
278
+ # base_url: "https://api.example.com",
279
+ # environment: TmdbApiClient::Environment::DEFAULT,
280
+ # api_key: "YOUR_API_KEY"
281
+ # )
282
+ # api.list_delete(list_id: 1)
283
+ def list_delete(list_id:, request_options: nil)
284
+ response = @request_client.conn.delete do |req|
285
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
286
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
287
+ req.headers = {
288
+ **(req.headers || {}),
289
+ **@request_client.get_headers,
290
+ **(request_options&.additional_headers || {})
291
+ }.compact
292
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
293
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
294
+ end
295
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
296
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
297
+ end
298
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/#{list_id}"
299
+ end
300
+ TmdbApiClient::ListDeleteResponse.from_json(json_object: response.body)
301
+ end
302
+
303
+ # Add items to a list.
304
+ #
305
+ # @param list_id [Integer]
306
+ # @param raw_body [String]
307
+ # @param request_options [TmdbApiClient::RequestOptions]
308
+ # @return [TmdbApiClient::ListAddItemsResponse]
309
+ # @example
310
+ # api = TmdbApiClient::Client.new(
311
+ # base_url: "https://api.example.com",
312
+ # environment: TmdbApiClient::Environment::DEFAULT,
313
+ # api_key: "YOUR_API_KEY"
314
+ # )
315
+ # api.list_add_items(list_id: 1, raw_body: "RAW_BODY")
316
+ def list_add_items(list_id:, raw_body:, request_options: nil)
317
+ response = @request_client.conn.post do |req|
318
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
319
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
320
+ req.headers = {
321
+ **(req.headers || {}),
322
+ **@request_client.get_headers,
323
+ **(request_options&.additional_headers || {})
324
+ }.compact
325
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
326
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
327
+ end
328
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
329
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/list/#{list_id}/items"
330
+ end
331
+ TmdbApiClient::ListAddItemsResponse.from_json(json_object: response.body)
332
+ end
333
+
334
+ # Update an individual item on a list
335
+ #
336
+ # @param list_id [String]
337
+ # @param raw_body [String]
338
+ # @param request_options [TmdbApiClient::RequestOptions]
339
+ # @return [TmdbApiClient::ListUpdateItemsResponse]
340
+ # @example
341
+ # api = TmdbApiClient::Client.new(
342
+ # base_url: "https://api.example.com",
343
+ # environment: TmdbApiClient::Environment::DEFAULT,
344
+ # api_key: "YOUR_API_KEY"
345
+ # )
346
+ # api.list_update_items(list_id: "list_id", raw_body: "RAW_BODY")
347
+ def list_update_items(list_id:, raw_body:, request_options: nil)
348
+ response = @request_client.conn.put do |req|
349
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
350
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
351
+ req.headers = {
352
+ **(req.headers || {}),
353
+ **@request_client.get_headers,
354
+ **(request_options&.additional_headers || {})
355
+ }.compact
356
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
357
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
358
+ end
359
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
360
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/list/#{list_id}/items"
361
+ end
362
+ TmdbApiClient::ListUpdateItemsResponse.from_json(json_object: response.body)
363
+ end
364
+
365
+ # Remove items from a list
366
+ #
367
+ # @param list_id [Integer]
368
+ # @param raw_body [String]
369
+ # @param request_options [TmdbApiClient::RequestOptions]
370
+ # @return [TmdbApiClient::ListRemoveItemsResponse]
371
+ # @example
372
+ # api = TmdbApiClient::Client.new(
373
+ # base_url: "https://api.example.com",
374
+ # environment: TmdbApiClient::Environment::DEFAULT,
375
+ # api_key: "YOUR_API_KEY"
376
+ # )
377
+ # api.list_remove_items(list_id: 1, raw_body: "RAW_BODY")
378
+ def list_remove_items(list_id:, raw_body:, request_options: nil)
379
+ response = @request_client.conn.delete do |req|
380
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
381
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
382
+ req.headers = {
383
+ **(req.headers || {}),
384
+ **@request_client.get_headers,
385
+ **(request_options&.additional_headers || {})
386
+ }.compact
387
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
388
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
389
+ end
390
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
391
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/list/#{list_id}/items"
392
+ end
393
+ TmdbApiClient::ListRemoveItemsResponse.from_json(json_object: response.body)
394
+ end
395
+
396
+ # Check if an item is on a list.
397
+ #
398
+ # @param list_id [Integer]
399
+ # @param media_id [Integer]
400
+ # @param media_type [TmdbApiClient::ListItemStatusRequestMediaType]
401
+ # @param request_options [TmdbApiClient::RequestOptions]
402
+ # @return [TmdbApiClient::ListItemStatusResponse]
403
+ # @example
404
+ # api = TmdbApiClient::Client.new(
405
+ # base_url: "https://api.example.com",
406
+ # environment: TmdbApiClient::Environment::DEFAULT,
407
+ # api_key: "YOUR_API_KEY"
408
+ # )
409
+ # api.list_item_status(
410
+ # list_id: 1,
411
+ # media_id: 1,
412
+ # media_type: EMPTY
413
+ # )
414
+ def list_item_status(list_id:, media_id:, media_type:, request_options: nil)
415
+ response = @request_client.conn.get do |req|
416
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
417
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
418
+ req.headers = {
419
+ **(req.headers || {}),
420
+ **@request_client.get_headers,
421
+ **(request_options&.additional_headers || {})
422
+ }.compact
423
+ req.params = {
424
+ **(request_options&.additional_query_parameters || {}),
425
+ "media_id": media_id,
426
+ "media_type": media_type
427
+ }.compact
428
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
429
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
430
+ end
431
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/list/#{list_id}/item_status"
432
+ end
433
+ TmdbApiClient::ListItemStatusResponse.from_json(json_object: response.body)
434
+ end
435
+
436
+ # Get the custom lists that a user has created.
437
+ #
438
+ # @param account_object_id [String]
439
+ # @param page [Integer]
440
+ # @param request_options [TmdbApiClient::RequestOptions]
441
+ # @return [TmdbApiClient::AccountListsResponse]
442
+ # @example
443
+ # api = TmdbApiClient::Client.new(
444
+ # base_url: "https://api.example.com",
445
+ # environment: TmdbApiClient::Environment::DEFAULT,
446
+ # api_key: "YOUR_API_KEY"
447
+ # )
448
+ # api.account_lists(account_object_id: "account_object_id")
449
+ def account_lists(account_object_id:, page: nil, request_options: nil)
450
+ response = @request_client.conn.get do |req|
451
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
452
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
453
+ req.headers = {
454
+ **(req.headers || {}),
455
+ **@request_client.get_headers,
456
+ **(request_options&.additional_headers || {})
457
+ }.compact
458
+ req.params = { **(request_options&.additional_query_parameters || {}), "page": page }.compact
459
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
460
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
461
+ end
462
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/lists"
463
+ end
464
+ TmdbApiClient::AccountListsResponse.from_json(json_object: response.body)
465
+ end
466
+
467
+ # Get a users list of favourite movies.
468
+ #
469
+ # @param account_object_id [String]
470
+ # @param page [Integer]
471
+ # @param language [String]
472
+ # @param sort_by [TmdbApiClient::AccountFavoriteMoviesRequestSortBy]
473
+ # @param request_options [TmdbApiClient::RequestOptions]
474
+ # @return [TmdbApiClient::AccountFavoriteMoviesResponse]
475
+ # @example
476
+ # api = TmdbApiClient::Client.new(
477
+ # base_url: "https://api.example.com",
478
+ # environment: TmdbApiClient::Environment::DEFAULT,
479
+ # api_key: "YOUR_API_KEY"
480
+ # )
481
+ # api.account_favorite_movies(account_object_id: "account_object_id")
482
+ def account_favorite_movies(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
483
+ response = @request_client.conn.get do |req|
484
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
485
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
486
+ req.headers = {
487
+ **(req.headers || {}),
488
+ **@request_client.get_headers,
489
+ **(request_options&.additional_headers || {})
490
+ }.compact
491
+ req.params = {
492
+ **(request_options&.additional_query_parameters || {}),
493
+ "page": page,
494
+ "language": language,
495
+ "sort_by": sort_by
496
+ }.compact
497
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
498
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
499
+ end
500
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/movie/favorites"
501
+ end
502
+ TmdbApiClient::AccountFavoriteMoviesResponse.from_json(json_object: response.body)
503
+ end
504
+
505
+ # Get a users list of favourite TV shows.
506
+ #
507
+ # @param account_object_id [String]
508
+ # @param page [Integer]
509
+ # @param language [String]
510
+ # @param sort_by [TmdbApiClient::AccountFavoriteTvRequestSortBy]
511
+ # @param request_options [TmdbApiClient::RequestOptions]
512
+ # @return [TmdbApiClient::AccountFavoriteTvResponse]
513
+ # @example
514
+ # api = TmdbApiClient::Client.new(
515
+ # base_url: "https://api.example.com",
516
+ # environment: TmdbApiClient::Environment::DEFAULT,
517
+ # api_key: "YOUR_API_KEY"
518
+ # )
519
+ # api.account_favorite_tv(account_object_id: "account_object_id")
520
+ def account_favorite_tv(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
521
+ response = @request_client.conn.get do |req|
522
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
523
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
524
+ req.headers = {
525
+ **(req.headers || {}),
526
+ **@request_client.get_headers,
527
+ **(request_options&.additional_headers || {})
528
+ }.compact
529
+ req.params = {
530
+ **(request_options&.additional_query_parameters || {}),
531
+ "page": page,
532
+ "language": language,
533
+ "sort_by": sort_by
534
+ }.compact
535
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
536
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
537
+ end
538
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/tv/favorites"
539
+ end
540
+ TmdbApiClient::AccountFavoriteTvResponse.from_json(json_object: response.body)
541
+ end
542
+
543
+ # Get a users list of recommended TV shows.
544
+ #
545
+ # @param account_object_id [String]
546
+ # @param page [Integer]
547
+ # @param language [String]
548
+ # @param request_options [TmdbApiClient::RequestOptions]
549
+ # @return [TmdbApiClient::AccountTvRecommendationsResponse]
550
+ # @example
551
+ # api = TmdbApiClient::Client.new(
552
+ # base_url: "https://api.example.com",
553
+ # environment: TmdbApiClient::Environment::DEFAULT,
554
+ # api_key: "YOUR_API_KEY"
555
+ # )
556
+ # api.account_tv_recommendations(account_object_id: "account_object_id")
557
+ def account_tv_recommendations(account_object_id:, page: nil, language: nil, request_options: nil)
558
+ response = @request_client.conn.get do |req|
559
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
560
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
561
+ req.headers = {
562
+ **(req.headers || {}),
563
+ **@request_client.get_headers,
564
+ **(request_options&.additional_headers || {})
565
+ }.compact
566
+ req.params = {
567
+ **(request_options&.additional_query_parameters || {}),
568
+ "page": page,
569
+ "language": language
570
+ }.compact
571
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
572
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
573
+ end
574
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/tv/recommendations"
575
+ end
576
+ TmdbApiClient::AccountTvRecommendationsResponse.from_json(json_object: response.body)
577
+ end
578
+
579
+ # Get a users list of recommended movies.
580
+ #
581
+ # @param account_object_id [String]
582
+ # @param page [Integer]
583
+ # @param language [String]
584
+ # @param request_options [TmdbApiClient::RequestOptions]
585
+ # @return [TmdbApiClient::AccountMovieRecommendationsResponse]
586
+ # @example
587
+ # api = TmdbApiClient::Client.new(
588
+ # base_url: "https://api.example.com",
589
+ # environment: TmdbApiClient::Environment::DEFAULT,
590
+ # api_key: "YOUR_API_KEY"
591
+ # )
592
+ # api.account_movie_recommendations(account_object_id: "account_object_id")
593
+ def account_movie_recommendations(account_object_id:, page: nil, language: nil, request_options: nil)
594
+ response = @request_client.conn.get do |req|
595
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
596
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
597
+ req.headers = {
598
+ **(req.headers || {}),
599
+ **@request_client.get_headers,
600
+ **(request_options&.additional_headers || {})
601
+ }.compact
602
+ req.params = {
603
+ **(request_options&.additional_query_parameters || {}),
604
+ "page": page,
605
+ "language": language
606
+ }.compact
607
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
608
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
609
+ end
610
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/movie/recommendations"
611
+ end
612
+ TmdbApiClient::AccountMovieRecommendationsResponse.from_json(json_object: response.body)
613
+ end
614
+
615
+ # Get a users movie watchlist.
616
+ #
617
+ # @param account_object_id [String]
618
+ # @param page [Integer]
619
+ # @param language [String]
620
+ # @param sort_by [TmdbApiClient::AccountMovieWatchlistRequestSortBy]
621
+ # @param request_options [TmdbApiClient::RequestOptions]
622
+ # @return [TmdbApiClient::AccountMovieWatchlistResponse]
623
+ # @example
624
+ # api = TmdbApiClient::Client.new(
625
+ # base_url: "https://api.example.com",
626
+ # environment: TmdbApiClient::Environment::DEFAULT,
627
+ # api_key: "YOUR_API_KEY"
628
+ # )
629
+ # api.account_movie_watchlist(account_object_id: "account_object_id")
630
+ def account_movie_watchlist(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
631
+ response = @request_client.conn.get do |req|
632
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
633
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
634
+ req.headers = {
635
+ **(req.headers || {}),
636
+ **@request_client.get_headers,
637
+ **(request_options&.additional_headers || {})
638
+ }.compact
639
+ req.params = {
640
+ **(request_options&.additional_query_parameters || {}),
641
+ "page": page,
642
+ "language": language,
643
+ "sort_by": sort_by
644
+ }.compact
645
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
646
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
647
+ end
648
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/movie/watchlist"
649
+ end
650
+ TmdbApiClient::AccountMovieWatchlistResponse.from_json(json_object: response.body)
651
+ end
652
+
653
+ # Get a users TV watchlist.
654
+ #
655
+ # @param account_object_id [String]
656
+ # @param page [Integer]
657
+ # @param language [String]
658
+ # @param sort_by [TmdbApiClient::AccountTvWatchlistRequestSortBy]
659
+ # @param request_options [TmdbApiClient::RequestOptions]
660
+ # @return [TmdbApiClient::AccountTvWatchlistResponse]
661
+ # @example
662
+ # api = TmdbApiClient::Client.new(
663
+ # base_url: "https://api.example.com",
664
+ # environment: TmdbApiClient::Environment::DEFAULT,
665
+ # api_key: "YOUR_API_KEY"
666
+ # )
667
+ # api.account_tv_watchlist(account_object_id: "account_object_id")
668
+ def account_tv_watchlist(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
669
+ response = @request_client.conn.get do |req|
670
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
671
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
672
+ req.headers = {
673
+ **(req.headers || {}),
674
+ **@request_client.get_headers,
675
+ **(request_options&.additional_headers || {})
676
+ }.compact
677
+ req.params = {
678
+ **(request_options&.additional_query_parameters || {}),
679
+ "page": page,
680
+ "language": language,
681
+ "sort_by": sort_by
682
+ }.compact
683
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
684
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
685
+ end
686
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/tv/watchlist"
687
+ end
688
+ TmdbApiClient::AccountTvWatchlistResponse.from_json(json_object: response.body)
689
+ end
690
+
691
+ # Get a users rated movies.
692
+ #
693
+ # @param account_object_id [String]
694
+ # @param page [Integer]
695
+ # @param language [String]
696
+ # @param sort_by [TmdbApiClient::AccountRatedMoviesRequestSortBy]
697
+ # @param request_options [TmdbApiClient::RequestOptions]
698
+ # @return [TmdbApiClient::AccountRatedMoviesResponse]
699
+ # @example
700
+ # api = TmdbApiClient::Client.new(
701
+ # base_url: "https://api.example.com",
702
+ # environment: TmdbApiClient::Environment::DEFAULT,
703
+ # api_key: "YOUR_API_KEY"
704
+ # )
705
+ # api.account_rated_movies(account_object_id: "account_object_id")
706
+ def account_rated_movies(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
707
+ response = @request_client.conn.get do |req|
708
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
709
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
710
+ req.headers = {
711
+ **(req.headers || {}),
712
+ **@request_client.get_headers,
713
+ **(request_options&.additional_headers || {})
714
+ }.compact
715
+ req.params = {
716
+ **(request_options&.additional_query_parameters || {}),
717
+ "page": page,
718
+ "language": language,
719
+ "sort_by": sort_by
720
+ }.compact
721
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
722
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
723
+ end
724
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/movie/rated"
725
+ end
726
+ TmdbApiClient::AccountRatedMoviesResponse.from_json(json_object: response.body)
727
+ end
728
+
729
+ # Get a users rated TV shows.
730
+ #
731
+ # @param account_object_id [String]
732
+ # @param page [Integer]
733
+ # @param language [String]
734
+ # @param sort_by [TmdbApiClient::AccountRatedTvRequestSortBy]
735
+ # @param request_options [TmdbApiClient::RequestOptions]
736
+ # @return [TmdbApiClient::AccountRatedTvResponse]
737
+ # @example
738
+ # api = TmdbApiClient::Client.new(
739
+ # base_url: "https://api.example.com",
740
+ # environment: TmdbApiClient::Environment::DEFAULT,
741
+ # api_key: "YOUR_API_KEY"
742
+ # )
743
+ # api.account_rated_tv(account_object_id: "account_object_id")
744
+ def account_rated_tv(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
745
+ response = @request_client.conn.get do |req|
746
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
747
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
748
+ req.headers = {
749
+ **(req.headers || {}),
750
+ **@request_client.get_headers,
751
+ **(request_options&.additional_headers || {})
752
+ }.compact
753
+ req.params = {
754
+ **(request_options&.additional_query_parameters || {}),
755
+ "page": page,
756
+ "language": language,
757
+ "sort_by": sort_by
758
+ }.compact
759
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
760
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
761
+ end
762
+ req.url "#{@request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/tv/rated"
763
+ end
764
+ TmdbApiClient::AccountRatedTvResponse.from_json(json_object: response.body)
765
+ end
766
+
767
+ #
768
+ # @param request_options [TmdbApiClient::RequestOptions]
769
+ # @return [Void]
770
+ # @example
771
+ # api = TmdbApiClient::Client.new(
772
+ # base_url: "https://api.example.com",
773
+ # environment: TmdbApiClient::Environment::DEFAULT,
774
+ # api_key: "YOUR_API_KEY"
775
+ # )
776
+ # api.getting_started
777
+ def getting_started(request_options: nil)
778
+ @request_client.conn.post do |req|
779
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
780
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
781
+ req.headers = {
782
+ **(req.headers || {}),
783
+ **@request_client.get_headers,
784
+ **(request_options&.additional_headers || {})
785
+ }.compact
786
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
787
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
788
+ end
789
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
790
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
791
+ end
792
+ req.url "#{@request_client.get_url(request_options: request_options)}/"
793
+ end
794
+ end
795
+ end
796
+
797
+ class AsyncClient
798
+ # @param base_url [String]
799
+ # @param environment [TmdbApiClient::Environment]
800
+ # @param max_retries [Long] The number of times to retry a failed request, defaults to 2.
801
+ # @param timeout_in_seconds [Long]
802
+ # @param api_key [String]
803
+ # @return [TmdbApiClient::AsyncClient]
804
+ def initialize(api_key:, base_url: nil, environment: TmdbApiClient::Environment::DEFAULT, max_retries: nil,
805
+ timeout_in_seconds: nil)
806
+ @async_request_client = TmdbApiClient::AsyncRequestClient.new(
807
+ base_url: base_url,
808
+ environment: environment,
809
+ max_retries: max_retries,
810
+ timeout_in_seconds: timeout_in_seconds,
811
+ api_key: api_key
812
+ )
813
+ end
814
+
815
+ #
816
+ # @param raw_body [String]
817
+ # @param request_options [TmdbApiClient::RequestOptions]
818
+ # @return [TmdbApiClient::AuthCreateRequestTokenResponse]
819
+ # @example
820
+ # api = TmdbApiClient::Client.new(
821
+ # base_url: "https://api.example.com",
822
+ # environment: TmdbApiClient::Environment::DEFAULT,
823
+ # api_key: "YOUR_API_KEY"
824
+ # )
825
+ # api.auth_create_request_token(raw_body: "RAW_BODY")
826
+ def auth_create_request_token(raw_body:, request_options: nil)
827
+ response = @async_request_client.conn.post do |req|
828
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
829
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
830
+ req.headers = {
831
+ **(req.headers || {}),
832
+ **@async_request_client.get_headers,
833
+ **(request_options&.additional_headers || {})
834
+ }.compact
835
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
836
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
837
+ end
838
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
839
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/auth/request_token"
840
+ end
841
+ TmdbApiClient::AuthCreateRequestTokenResponse.from_json(json_object: response.body)
842
+ end
843
+
844
+ #
845
+ # @param raw_body [String]
846
+ # @param request_options [TmdbApiClient::RequestOptions]
847
+ # @return [TmdbApiClient::AuthCreateAccessTokenResponse]
848
+ # @example
849
+ # api = TmdbApiClient::Client.new(
850
+ # base_url: "https://api.example.com",
851
+ # environment: TmdbApiClient::Environment::DEFAULT,
852
+ # api_key: "YOUR_API_KEY"
853
+ # )
854
+ # api.auth_create_access_token(raw_body: "RAW_BODY")
855
+ def auth_create_access_token(raw_body:, request_options: nil)
856
+ response = @async_request_client.conn.post do |req|
857
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
858
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
859
+ req.headers = {
860
+ **(req.headers || {}),
861
+ **@async_request_client.get_headers,
862
+ **(request_options&.additional_headers || {})
863
+ }.compact
864
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
865
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
866
+ end
867
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
868
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/auth/access_token"
869
+ end
870
+ TmdbApiClient::AuthCreateAccessTokenResponse.from_json(json_object: response.body)
871
+ end
872
+
873
+ # Log out of a session.
874
+ #
875
+ # @param raw_body [String]
876
+ # @param request_options [TmdbApiClient::RequestOptions]
877
+ # @return [TmdbApiClient::AuthLogoutResponse]
878
+ # @example
879
+ # api = TmdbApiClient::Client.new(
880
+ # base_url: "https://api.example.com",
881
+ # environment: TmdbApiClient::Environment::DEFAULT,
882
+ # api_key: "YOUR_API_KEY"
883
+ # )
884
+ # api.auth_logout(raw_body: "RAW_BODY")
885
+ def auth_logout(raw_body:, request_options: nil)
886
+ response = @async_request_client.conn.delete do |req|
887
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
888
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
889
+ req.headers = {
890
+ **(req.headers || {}),
891
+ **@async_request_client.get_headers,
892
+ **(request_options&.additional_headers || {})
893
+ }.compact
894
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
895
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
896
+ end
897
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
898
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/auth/access_token"
899
+ end
900
+ TmdbApiClient::AuthLogoutResponse.from_json(json_object: response.body)
901
+ end
902
+
903
+ # Retrieve a list by id.
904
+ #
905
+ # @param list_id [Integer]
906
+ # @param language [String]
907
+ # @param page [Integer]
908
+ # @param request_options [TmdbApiClient::RequestOptions]
909
+ # @return [TmdbApiClient::ListDetailsResponse]
910
+ # @example
911
+ # api = TmdbApiClient::Client.new(
912
+ # base_url: "https://api.example.com",
913
+ # environment: TmdbApiClient::Environment::DEFAULT,
914
+ # api_key: "YOUR_API_KEY"
915
+ # )
916
+ # api.list_details(list_id: 1)
917
+ def list_details(list_id:, language: nil, page: nil, request_options: nil)
918
+ response = @async_request_client.conn.get do |req|
919
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
920
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
921
+ req.headers = {
922
+ **(req.headers || {}),
923
+ **@async_request_client.get_headers,
924
+ **(request_options&.additional_headers || {})
925
+ }.compact
926
+ req.params = {
927
+ **(request_options&.additional_query_parameters || {}),
928
+ "language": language,
929
+ "page": page
930
+ }.compact
931
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
932
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
933
+ end
934
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/list/#{list_id}"
935
+ end
936
+ TmdbApiClient::ListDetailsResponse.from_json(json_object: response.body)
937
+ end
938
+
939
+ # Update the details of a list.
940
+ #
941
+ # @param list_id [Integer]
942
+ # @param raw_body [String]
943
+ # @param request_options [TmdbApiClient::RequestOptions]
944
+ # @return [TmdbApiClient::ListUpdateResponse]
945
+ # @example
946
+ # api = TmdbApiClient::Client.new(
947
+ # base_url: "https://api.example.com",
948
+ # environment: TmdbApiClient::Environment::DEFAULT,
949
+ # api_key: "YOUR_API_KEY"
950
+ # )
951
+ # api.list_update(list_id: 1, raw_body: "RAW_BODY")
952
+ def list_update(list_id:, raw_body:, request_options: nil)
953
+ response = @async_request_client.conn.put do |req|
954
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
955
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
956
+ req.headers = {
957
+ **(req.headers || {}),
958
+ **@async_request_client.get_headers,
959
+ **(request_options&.additional_headers || {})
960
+ }.compact
961
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
962
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
963
+ end
964
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
965
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/list/#{list_id}"
966
+ end
967
+ TmdbApiClient::ListUpdateResponse.from_json(json_object: response.body)
968
+ end
969
+
970
+ # Create a new list.
971
+ #
972
+ # @param raw_body [String]
973
+ # @param request_options [TmdbApiClient::RequestOptions]
974
+ # @return [TmdbApiClient::ListCreateResponse]
975
+ # @example
976
+ # api = TmdbApiClient::Client.new(
977
+ # base_url: "https://api.example.com",
978
+ # environment: TmdbApiClient::Environment::DEFAULT,
979
+ # api_key: "YOUR_API_KEY"
980
+ # )
981
+ # api.list_create(raw_body: "RAW_BODY")
982
+ def list_create(raw_body:, request_options: nil)
983
+ response = @async_request_client.conn.post do |req|
984
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
985
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
986
+ req.headers = {
987
+ **(req.headers || {}),
988
+ **@async_request_client.get_headers,
989
+ **(request_options&.additional_headers || {})
990
+ }.compact
991
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
992
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
993
+ end
994
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
995
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/list"
996
+ end
997
+ TmdbApiClient::ListCreateResponse.from_json(json_object: response.body)
998
+ end
999
+
1000
+ # Clear all of the items on a list.
1001
+ #
1002
+ # @param list_id [Integer]
1003
+ # @param request_options [TmdbApiClient::RequestOptions]
1004
+ # @return [TmdbApiClient::ListClearResponse]
1005
+ # @example
1006
+ # api = TmdbApiClient::Client.new(
1007
+ # base_url: "https://api.example.com",
1008
+ # environment: TmdbApiClient::Environment::DEFAULT,
1009
+ # api_key: "YOUR_API_KEY"
1010
+ # )
1011
+ # api.list_clear(list_id: 1)
1012
+ def list_clear(list_id:, request_options: nil)
1013
+ response = @async_request_client.conn.get do |req|
1014
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1015
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1016
+ req.headers = {
1017
+ **(req.headers || {}),
1018
+ **@async_request_client.get_headers,
1019
+ **(request_options&.additional_headers || {})
1020
+ }.compact
1021
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1022
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1023
+ end
1024
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1025
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1026
+ end
1027
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/list/#{list_id}/clear"
1028
+ end
1029
+ TmdbApiClient::ListClearResponse.from_json(json_object: response.body)
1030
+ end
1031
+
1032
+ # Delete a list.
1033
+ #
1034
+ # @param list_id [Integer]
1035
+ # @param request_options [TmdbApiClient::RequestOptions]
1036
+ # @return [TmdbApiClient::ListDeleteResponse]
1037
+ # @example
1038
+ # api = TmdbApiClient::Client.new(
1039
+ # base_url: "https://api.example.com",
1040
+ # environment: TmdbApiClient::Environment::DEFAULT,
1041
+ # api_key: "YOUR_API_KEY"
1042
+ # )
1043
+ # api.list_delete(list_id: 1)
1044
+ def list_delete(list_id:, request_options: nil)
1045
+ response = @async_request_client.conn.delete do |req|
1046
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1047
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1048
+ req.headers = {
1049
+ **(req.headers || {}),
1050
+ **@async_request_client.get_headers,
1051
+ **(request_options&.additional_headers || {})
1052
+ }.compact
1053
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1054
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1055
+ end
1056
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1057
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1058
+ end
1059
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/#{list_id}"
1060
+ end
1061
+ TmdbApiClient::ListDeleteResponse.from_json(json_object: response.body)
1062
+ end
1063
+
1064
+ # Add items to a list.
1065
+ #
1066
+ # @param list_id [Integer]
1067
+ # @param raw_body [String]
1068
+ # @param request_options [TmdbApiClient::RequestOptions]
1069
+ # @return [TmdbApiClient::ListAddItemsResponse]
1070
+ # @example
1071
+ # api = TmdbApiClient::Client.new(
1072
+ # base_url: "https://api.example.com",
1073
+ # environment: TmdbApiClient::Environment::DEFAULT,
1074
+ # api_key: "YOUR_API_KEY"
1075
+ # )
1076
+ # api.list_add_items(list_id: 1, raw_body: "RAW_BODY")
1077
+ def list_add_items(list_id:, raw_body:, request_options: nil)
1078
+ response = @async_request_client.conn.post do |req|
1079
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1080
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1081
+ req.headers = {
1082
+ **(req.headers || {}),
1083
+ **@async_request_client.get_headers,
1084
+ **(request_options&.additional_headers || {})
1085
+ }.compact
1086
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1087
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1088
+ end
1089
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
1090
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/list/#{list_id}/items"
1091
+ end
1092
+ TmdbApiClient::ListAddItemsResponse.from_json(json_object: response.body)
1093
+ end
1094
+
1095
+ # Update an individual item on a list
1096
+ #
1097
+ # @param list_id [String]
1098
+ # @param raw_body [String]
1099
+ # @param request_options [TmdbApiClient::RequestOptions]
1100
+ # @return [TmdbApiClient::ListUpdateItemsResponse]
1101
+ # @example
1102
+ # api = TmdbApiClient::Client.new(
1103
+ # base_url: "https://api.example.com",
1104
+ # environment: TmdbApiClient::Environment::DEFAULT,
1105
+ # api_key: "YOUR_API_KEY"
1106
+ # )
1107
+ # api.list_update_items(list_id: "list_id", raw_body: "RAW_BODY")
1108
+ def list_update_items(list_id:, raw_body:, request_options: nil)
1109
+ response = @async_request_client.conn.put do |req|
1110
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1111
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1112
+ req.headers = {
1113
+ **(req.headers || {}),
1114
+ **@async_request_client.get_headers,
1115
+ **(request_options&.additional_headers || {})
1116
+ }.compact
1117
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1118
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1119
+ end
1120
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
1121
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/list/#{list_id}/items"
1122
+ end
1123
+ TmdbApiClient::ListUpdateItemsResponse.from_json(json_object: response.body)
1124
+ end
1125
+
1126
+ # Remove items from a list
1127
+ #
1128
+ # @param list_id [Integer]
1129
+ # @param raw_body [String]
1130
+ # @param request_options [TmdbApiClient::RequestOptions]
1131
+ # @return [TmdbApiClient::ListRemoveItemsResponse]
1132
+ # @example
1133
+ # api = TmdbApiClient::Client.new(
1134
+ # base_url: "https://api.example.com",
1135
+ # environment: TmdbApiClient::Environment::DEFAULT,
1136
+ # api_key: "YOUR_API_KEY"
1137
+ # )
1138
+ # api.list_remove_items(list_id: 1, raw_body: "RAW_BODY")
1139
+ def list_remove_items(list_id:, raw_body:, request_options: nil)
1140
+ response = @async_request_client.conn.delete do |req|
1141
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1142
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1143
+ req.headers = {
1144
+ **(req.headers || {}),
1145
+ **@async_request_client.get_headers,
1146
+ **(request_options&.additional_headers || {})
1147
+ }.compact
1148
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1149
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1150
+ end
1151
+ req.body = { **(request_options&.additional_body_parameters || {}), RAW_BODY: raw_body }.compact
1152
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/list/#{list_id}/items"
1153
+ end
1154
+ TmdbApiClient::ListRemoveItemsResponse.from_json(json_object: response.body)
1155
+ end
1156
+
1157
+ # Check if an item is on a list.
1158
+ #
1159
+ # @param list_id [Integer]
1160
+ # @param media_id [Integer]
1161
+ # @param media_type [TmdbApiClient::ListItemStatusRequestMediaType]
1162
+ # @param request_options [TmdbApiClient::RequestOptions]
1163
+ # @return [TmdbApiClient::ListItemStatusResponse]
1164
+ # @example
1165
+ # api = TmdbApiClient::Client.new(
1166
+ # base_url: "https://api.example.com",
1167
+ # environment: TmdbApiClient::Environment::DEFAULT,
1168
+ # api_key: "YOUR_API_KEY"
1169
+ # )
1170
+ # api.list_item_status(
1171
+ # list_id: 1,
1172
+ # media_id: 1,
1173
+ # media_type: EMPTY
1174
+ # )
1175
+ def list_item_status(list_id:, media_id:, media_type:, request_options: nil)
1176
+ response = @async_request_client.conn.get do |req|
1177
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1178
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1179
+ req.headers = {
1180
+ **(req.headers || {}),
1181
+ **@async_request_client.get_headers,
1182
+ **(request_options&.additional_headers || {})
1183
+ }.compact
1184
+ req.params = {
1185
+ **(request_options&.additional_query_parameters || {}),
1186
+ "media_id": media_id,
1187
+ "media_type": media_type
1188
+ }.compact
1189
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1190
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1191
+ end
1192
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/list/#{list_id}/item_status"
1193
+ end
1194
+ TmdbApiClient::ListItemStatusResponse.from_json(json_object: response.body)
1195
+ end
1196
+
1197
+ # Get the custom lists that a user has created.
1198
+ #
1199
+ # @param account_object_id [String]
1200
+ # @param page [Integer]
1201
+ # @param request_options [TmdbApiClient::RequestOptions]
1202
+ # @return [TmdbApiClient::AccountListsResponse]
1203
+ # @example
1204
+ # api = TmdbApiClient::Client.new(
1205
+ # base_url: "https://api.example.com",
1206
+ # environment: TmdbApiClient::Environment::DEFAULT,
1207
+ # api_key: "YOUR_API_KEY"
1208
+ # )
1209
+ # api.account_lists(account_object_id: "account_object_id")
1210
+ def account_lists(account_object_id:, page: nil, request_options: nil)
1211
+ response = @async_request_client.conn.get do |req|
1212
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1213
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1214
+ req.headers = {
1215
+ **(req.headers || {}),
1216
+ **@async_request_client.get_headers,
1217
+ **(request_options&.additional_headers || {})
1218
+ }.compact
1219
+ req.params = { **(request_options&.additional_query_parameters || {}), "page": page }.compact
1220
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1221
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1222
+ end
1223
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/lists"
1224
+ end
1225
+ TmdbApiClient::AccountListsResponse.from_json(json_object: response.body)
1226
+ end
1227
+
1228
+ # Get a users list of favourite movies.
1229
+ #
1230
+ # @param account_object_id [String]
1231
+ # @param page [Integer]
1232
+ # @param language [String]
1233
+ # @param sort_by [TmdbApiClient::AccountFavoriteMoviesRequestSortBy]
1234
+ # @param request_options [TmdbApiClient::RequestOptions]
1235
+ # @return [TmdbApiClient::AccountFavoriteMoviesResponse]
1236
+ # @example
1237
+ # api = TmdbApiClient::Client.new(
1238
+ # base_url: "https://api.example.com",
1239
+ # environment: TmdbApiClient::Environment::DEFAULT,
1240
+ # api_key: "YOUR_API_KEY"
1241
+ # )
1242
+ # api.account_favorite_movies(account_object_id: "account_object_id")
1243
+ def account_favorite_movies(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
1244
+ response = @async_request_client.conn.get do |req|
1245
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1246
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1247
+ req.headers = {
1248
+ **(req.headers || {}),
1249
+ **@async_request_client.get_headers,
1250
+ **(request_options&.additional_headers || {})
1251
+ }.compact
1252
+ req.params = {
1253
+ **(request_options&.additional_query_parameters || {}),
1254
+ "page": page,
1255
+ "language": language,
1256
+ "sort_by": sort_by
1257
+ }.compact
1258
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1259
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1260
+ end
1261
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/movie/favorites"
1262
+ end
1263
+ TmdbApiClient::AccountFavoriteMoviesResponse.from_json(json_object: response.body)
1264
+ end
1265
+
1266
+ # Get a users list of favourite TV shows.
1267
+ #
1268
+ # @param account_object_id [String]
1269
+ # @param page [Integer]
1270
+ # @param language [String]
1271
+ # @param sort_by [TmdbApiClient::AccountFavoriteTvRequestSortBy]
1272
+ # @param request_options [TmdbApiClient::RequestOptions]
1273
+ # @return [TmdbApiClient::AccountFavoriteTvResponse]
1274
+ # @example
1275
+ # api = TmdbApiClient::Client.new(
1276
+ # base_url: "https://api.example.com",
1277
+ # environment: TmdbApiClient::Environment::DEFAULT,
1278
+ # api_key: "YOUR_API_KEY"
1279
+ # )
1280
+ # api.account_favorite_tv(account_object_id: "account_object_id")
1281
+ def account_favorite_tv(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
1282
+ response = @async_request_client.conn.get do |req|
1283
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1284
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1285
+ req.headers = {
1286
+ **(req.headers || {}),
1287
+ **@async_request_client.get_headers,
1288
+ **(request_options&.additional_headers || {})
1289
+ }.compact
1290
+ req.params = {
1291
+ **(request_options&.additional_query_parameters || {}),
1292
+ "page": page,
1293
+ "language": language,
1294
+ "sort_by": sort_by
1295
+ }.compact
1296
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1297
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1298
+ end
1299
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/tv/favorites"
1300
+ end
1301
+ TmdbApiClient::AccountFavoriteTvResponse.from_json(json_object: response.body)
1302
+ end
1303
+
1304
+ # Get a users list of recommended TV shows.
1305
+ #
1306
+ # @param account_object_id [String]
1307
+ # @param page [Integer]
1308
+ # @param language [String]
1309
+ # @param request_options [TmdbApiClient::RequestOptions]
1310
+ # @return [TmdbApiClient::AccountTvRecommendationsResponse]
1311
+ # @example
1312
+ # api = TmdbApiClient::Client.new(
1313
+ # base_url: "https://api.example.com",
1314
+ # environment: TmdbApiClient::Environment::DEFAULT,
1315
+ # api_key: "YOUR_API_KEY"
1316
+ # )
1317
+ # api.account_tv_recommendations(account_object_id: "account_object_id")
1318
+ def account_tv_recommendations(account_object_id:, page: nil, language: nil, request_options: nil)
1319
+ response = @async_request_client.conn.get do |req|
1320
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1321
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1322
+ req.headers = {
1323
+ **(req.headers || {}),
1324
+ **@async_request_client.get_headers,
1325
+ **(request_options&.additional_headers || {})
1326
+ }.compact
1327
+ req.params = {
1328
+ **(request_options&.additional_query_parameters || {}),
1329
+ "page": page,
1330
+ "language": language
1331
+ }.compact
1332
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1333
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1334
+ end
1335
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/tv/recommendations"
1336
+ end
1337
+ TmdbApiClient::AccountTvRecommendationsResponse.from_json(json_object: response.body)
1338
+ end
1339
+
1340
+ # Get a users list of recommended movies.
1341
+ #
1342
+ # @param account_object_id [String]
1343
+ # @param page [Integer]
1344
+ # @param language [String]
1345
+ # @param request_options [TmdbApiClient::RequestOptions]
1346
+ # @return [TmdbApiClient::AccountMovieRecommendationsResponse]
1347
+ # @example
1348
+ # api = TmdbApiClient::Client.new(
1349
+ # base_url: "https://api.example.com",
1350
+ # environment: TmdbApiClient::Environment::DEFAULT,
1351
+ # api_key: "YOUR_API_KEY"
1352
+ # )
1353
+ # api.account_movie_recommendations(account_object_id: "account_object_id")
1354
+ def account_movie_recommendations(account_object_id:, page: nil, language: nil, request_options: nil)
1355
+ response = @async_request_client.conn.get do |req|
1356
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1357
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1358
+ req.headers = {
1359
+ **(req.headers || {}),
1360
+ **@async_request_client.get_headers,
1361
+ **(request_options&.additional_headers || {})
1362
+ }.compact
1363
+ req.params = {
1364
+ **(request_options&.additional_query_parameters || {}),
1365
+ "page": page,
1366
+ "language": language
1367
+ }.compact
1368
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1369
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1370
+ end
1371
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/movie/recommendations"
1372
+ end
1373
+ TmdbApiClient::AccountMovieRecommendationsResponse.from_json(json_object: response.body)
1374
+ end
1375
+
1376
+ # Get a users movie watchlist.
1377
+ #
1378
+ # @param account_object_id [String]
1379
+ # @param page [Integer]
1380
+ # @param language [String]
1381
+ # @param sort_by [TmdbApiClient::AccountMovieWatchlistRequestSortBy]
1382
+ # @param request_options [TmdbApiClient::RequestOptions]
1383
+ # @return [TmdbApiClient::AccountMovieWatchlistResponse]
1384
+ # @example
1385
+ # api = TmdbApiClient::Client.new(
1386
+ # base_url: "https://api.example.com",
1387
+ # environment: TmdbApiClient::Environment::DEFAULT,
1388
+ # api_key: "YOUR_API_KEY"
1389
+ # )
1390
+ # api.account_movie_watchlist(account_object_id: "account_object_id")
1391
+ def account_movie_watchlist(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
1392
+ response = @async_request_client.conn.get do |req|
1393
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1394
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1395
+ req.headers = {
1396
+ **(req.headers || {}),
1397
+ **@async_request_client.get_headers,
1398
+ **(request_options&.additional_headers || {})
1399
+ }.compact
1400
+ req.params = {
1401
+ **(request_options&.additional_query_parameters || {}),
1402
+ "page": page,
1403
+ "language": language,
1404
+ "sort_by": sort_by
1405
+ }.compact
1406
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1407
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1408
+ end
1409
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/movie/watchlist"
1410
+ end
1411
+ TmdbApiClient::AccountMovieWatchlistResponse.from_json(json_object: response.body)
1412
+ end
1413
+
1414
+ # Get a users TV watchlist.
1415
+ #
1416
+ # @param account_object_id [String]
1417
+ # @param page [Integer]
1418
+ # @param language [String]
1419
+ # @param sort_by [TmdbApiClient::AccountTvWatchlistRequestSortBy]
1420
+ # @param request_options [TmdbApiClient::RequestOptions]
1421
+ # @return [TmdbApiClient::AccountTvWatchlistResponse]
1422
+ # @example
1423
+ # api = TmdbApiClient::Client.new(
1424
+ # base_url: "https://api.example.com",
1425
+ # environment: TmdbApiClient::Environment::DEFAULT,
1426
+ # api_key: "YOUR_API_KEY"
1427
+ # )
1428
+ # api.account_tv_watchlist(account_object_id: "account_object_id")
1429
+ def account_tv_watchlist(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
1430
+ response = @async_request_client.conn.get do |req|
1431
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1432
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1433
+ req.headers = {
1434
+ **(req.headers || {}),
1435
+ **@async_request_client.get_headers,
1436
+ **(request_options&.additional_headers || {})
1437
+ }.compact
1438
+ req.params = {
1439
+ **(request_options&.additional_query_parameters || {}),
1440
+ "page": page,
1441
+ "language": language,
1442
+ "sort_by": sort_by
1443
+ }.compact
1444
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1445
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1446
+ end
1447
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/tv/watchlist"
1448
+ end
1449
+ TmdbApiClient::AccountTvWatchlistResponse.from_json(json_object: response.body)
1450
+ end
1451
+
1452
+ # Get a users rated movies.
1453
+ #
1454
+ # @param account_object_id [String]
1455
+ # @param page [Integer]
1456
+ # @param language [String]
1457
+ # @param sort_by [TmdbApiClient::AccountRatedMoviesRequestSortBy]
1458
+ # @param request_options [TmdbApiClient::RequestOptions]
1459
+ # @return [TmdbApiClient::AccountRatedMoviesResponse]
1460
+ # @example
1461
+ # api = TmdbApiClient::Client.new(
1462
+ # base_url: "https://api.example.com",
1463
+ # environment: TmdbApiClient::Environment::DEFAULT,
1464
+ # api_key: "YOUR_API_KEY"
1465
+ # )
1466
+ # api.account_rated_movies(account_object_id: "account_object_id")
1467
+ def account_rated_movies(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
1468
+ response = @async_request_client.conn.get do |req|
1469
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1470
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1471
+ req.headers = {
1472
+ **(req.headers || {}),
1473
+ **@async_request_client.get_headers,
1474
+ **(request_options&.additional_headers || {})
1475
+ }.compact
1476
+ req.params = {
1477
+ **(request_options&.additional_query_parameters || {}),
1478
+ "page": page,
1479
+ "language": language,
1480
+ "sort_by": sort_by
1481
+ }.compact
1482
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1483
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1484
+ end
1485
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/movie/rated"
1486
+ end
1487
+ TmdbApiClient::AccountRatedMoviesResponse.from_json(json_object: response.body)
1488
+ end
1489
+
1490
+ # Get a users rated TV shows.
1491
+ #
1492
+ # @param account_object_id [String]
1493
+ # @param page [Integer]
1494
+ # @param language [String]
1495
+ # @param sort_by [TmdbApiClient::AccountRatedTvRequestSortBy]
1496
+ # @param request_options [TmdbApiClient::RequestOptions]
1497
+ # @return [TmdbApiClient::AccountRatedTvResponse]
1498
+ # @example
1499
+ # api = TmdbApiClient::Client.new(
1500
+ # base_url: "https://api.example.com",
1501
+ # environment: TmdbApiClient::Environment::DEFAULT,
1502
+ # api_key: "YOUR_API_KEY"
1503
+ # )
1504
+ # api.account_rated_tv(account_object_id: "account_object_id")
1505
+ def account_rated_tv(account_object_id:, page: nil, language: nil, sort_by: nil, request_options: nil)
1506
+ response = @async_request_client.conn.get do |req|
1507
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1508
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1509
+ req.headers = {
1510
+ **(req.headers || {}),
1511
+ **@async_request_client.get_headers,
1512
+ **(request_options&.additional_headers || {})
1513
+ }.compact
1514
+ req.params = {
1515
+ **(request_options&.additional_query_parameters || {}),
1516
+ "page": page,
1517
+ "language": language,
1518
+ "sort_by": sort_by
1519
+ }.compact
1520
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1521
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1522
+ end
1523
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/4/account/#{account_object_id}/tv/rated"
1524
+ end
1525
+ TmdbApiClient::AccountRatedTvResponse.from_json(json_object: response.body)
1526
+ end
1527
+
1528
+ #
1529
+ # @param request_options [TmdbApiClient::RequestOptions]
1530
+ # @return [Void]
1531
+ # @example
1532
+ # api = TmdbApiClient::Client.new(
1533
+ # base_url: "https://api.example.com",
1534
+ # environment: TmdbApiClient::Environment::DEFAULT,
1535
+ # api_key: "YOUR_API_KEY"
1536
+ # )
1537
+ # api.getting_started
1538
+ def getting_started(request_options: nil)
1539
+ @async_request_client.conn.post do |req|
1540
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1541
+ req.headers["Authorization"] = request_options.api_key unless request_options&.api_key.nil?
1542
+ req.headers = {
1543
+ **(req.headers || {}),
1544
+ **@async_request_client.get_headers,
1545
+ **(request_options&.additional_headers || {})
1546
+ }.compact
1547
+ unless request_options.nil? || request_options&.additional_query_parameters.nil?
1548
+ req.params = { **(request_options&.additional_query_parameters || {}) }.compact
1549
+ end
1550
+ unless request_options.nil? || request_options&.additional_body_parameters.nil?
1551
+ req.body = { **(request_options&.additional_body_parameters || {}) }.compact
1552
+ end
1553
+ req.url "#{@async_request_client.get_url(request_options: request_options)}/"
1554
+ end
1555
+ end
1556
+ end
1557
+ end