Skip to main content

tmdb_rs/endpoints/
company.rs

1use serde::Deserialize;
2
3use crate::common::{AlternativeName, Images};
4use crate::Logo;
5
6/// one company in a search response
7#[derive(Debug, Clone, Deserialize)]
8pub struct CompanyShort {
9    pub id: u64,
10    pub name: String,
11    #[serde(rename = "logo_path")]
12    pub logo: Option<Logo>,
13    pub origin_country: Option<String>,
14}
15
16#[derive(Debug, Clone, Deserialize)]
17pub struct CompanyDetails {
18    pub id: u64,
19    pub name: String,
20    pub description: String,
21    pub headquarters: Option<String>,
22    #[serde(rename = "homepage")]
23    pub website: String,
24    #[serde(rename = "logo_path")]
25    pub logo: Option<Logo>,
26    pub origin_country: Option<String>,
27    pub parent_company: Option<CompanyShort>,
28}
29
30endpoint! {
31    /// a company's details
32    company(id: u64): GET "/company/{id}" => CompanyDetails
33}
34
35endpoint! {
36    /// a company's alternative names
37    company_alternative_names(id: u64): GET "/company/{id}/alternative_names" => Vec<AlternativeName> [results]
38}
39
40endpoint! {
41    /// a company's logos
42    company_images(id: u64): GET "/company/{id}/images" => Images
43}