tmdb_client/apis/
guest_sessions_api.rs1use std::borrow::Borrow;
12use std::option::Option;
13use std::rc::Rc;
14
15use reqwest;
16
17use super::{configuration, urlencode};
18use crate::Error;
19
20pub struct GuestSessionsApiClient {
21 configuration: Rc<configuration::Configuration>,
22}
23
24impl GuestSessionsApiClient {
25 pub fn new(configuration: Rc<configuration::Configuration>) -> GuestSessionsApiClient {
26 GuestSessionsApiClient {
27 configuration,
28 }
29 }
30}
31
32pub trait GuestSessionsApi {
33 fn get_guest_session_rated_movies_paginated(
34 &self,
35 guest_session_id: &str,
36 language: Option<&str>,
37 sort_by: Option<&str>,
38 ) -> Result<crate::models::MoviePaginated, Error>;
39 fn get_guest_session_rated_tv_episodes_paginated(
40 &self,
41 guest_session_id: &str,
42 language: Option<&str>,
43 sort_by: Option<&str>,
44 ) -> Result<crate::models::TvEpisodesPaginated, Error>;
45 fn get_guest_session_rated_tv_paginated(
46 &self,
47 guest_session_id: &str,
48 language: Option<&str>,
49 sort_by: Option<&str>,
50 ) -> Result<crate::models::TvPaginated, Error>;
51}
52
53impl GuestSessionsApi for GuestSessionsApiClient {
54 fn get_guest_session_rated_movies_paginated(
55 &self,
56 guest_session_id: &str,
57 language: Option<&str>,
58 sort_by: Option<&str>,
59 ) -> Result<crate::models::MoviePaginated, Error> {
60 let configuration: &configuration::Configuration = self.configuration.borrow();
61 let client = &configuration.client;
62
63 let uri_str = format!(
64 "{}/guest_session/{guest_session_id}/rated/movies",
65 configuration.base_path,
66 guest_session_id = urlencode(guest_session_id)
67 );
68 let mut req_builder = client.get(uri_str.as_str());
69
70 if let Some(ref s) = language {
71 req_builder = req_builder.query(&[("language", &s.to_string())]);
72 }
73 if let Some(ref s) = sort_by {
74 req_builder = req_builder.query(&[("sort_by", &s.to_string())]);
75 }
76 if let Some(ref apikey) = configuration.api_key {
77 req_builder = req_builder.query(&[("api_key", apikey)]);
78 }
79 if let Some(ref user_agent) = configuration.user_agent {
80 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
81 }
82
83 let req = req_builder.build()?;
85
86 Ok(client.execute(req)?.error_for_status()?.json()?)
87 }
88
89 fn get_guest_session_rated_tv_episodes_paginated(
90 &self,
91 guest_session_id: &str,
92 language: Option<&str>,
93 sort_by: Option<&str>,
94 ) -> Result<crate::models::TvEpisodesPaginated, Error> {
95 let configuration: &configuration::Configuration = self.configuration.borrow();
96 let client = &configuration.client;
97
98 let uri_str = format!(
99 "{}/guest_session/{guest_session_id}/rated/tv/episodes",
100 configuration.base_path,
101 guest_session_id = urlencode(guest_session_id)
102 );
103 let mut req_builder = client.get(uri_str.as_str());
104
105 if let Some(ref s) = language {
106 req_builder = req_builder.query(&[("language", &s.to_string())]);
107 }
108 if let Some(ref s) = sort_by {
109 req_builder = req_builder.query(&[("sort_by", &s.to_string())]);
110 }
111 if let Some(ref apikey) = configuration.api_key {
112 req_builder = req_builder.query(&[("api_key", apikey)]);
113 }
114 if let Some(ref user_agent) = configuration.user_agent {
115 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
116 }
117
118 let req = req_builder.build()?;
120
121 Ok(client.execute(req)?.error_for_status()?.json()?)
122 }
123
124 fn get_guest_session_rated_tv_paginated(
125 &self,
126 guest_session_id: &str,
127 language: Option<&str>,
128 sort_by: Option<&str>,
129 ) -> Result<crate::models::TvPaginated, Error> {
130 let configuration: &configuration::Configuration = self.configuration.borrow();
131 let client = &configuration.client;
132
133 let uri_str = format!(
134 "{}/guest_session/{guest_session_id}/rated/tv",
135 configuration.base_path,
136 guest_session_id = urlencode(guest_session_id)
137 );
138 let mut req_builder = client.get(uri_str.as_str());
139
140 if let Some(ref s) = language {
141 req_builder = req_builder.query(&[("language", &s.to_string())]);
142 }
143 if let Some(ref s) = sort_by {
144 req_builder = req_builder.query(&[("sort_by", &s.to_string())]);
145 }
146 if let Some(ref apikey) = configuration.api_key {
147 req_builder = req_builder.query(&[("api_key", apikey)]);
148 }
149 if let Some(ref user_agent) = configuration.user_agent {
150 req_builder = req_builder.header(reqwest::header::USER_AGENT, user_agent.clone());
151 }
152
153 let req = req_builder.build()?;
155
156 Ok(client.execute(req)?.error_for_status()?.json()?)
157 }
158}