TheMovieDB 0.1.0

A robust and idiomatic Rust API wrapper for The Movie Database (TMDb) v3 API.
Documentation
use crate::base::TMDB;
use std::collections::HashMap;
use serde_json::Value;

pub struct Changes {
    tmdb: TMDB,
}

impl Changes {
    pub fn new() -> Self {
        let mut tmdb = TMDB::new();
        tmdb.base_path = "".to_string();
        tmdb.urls = [
            ("movie".to_string(), "movie/changes".to_string()),
            ("tv".to_string(), "tv/changes".to_string()),
            ("person".to_string(), "person/changes".to_string()),
        ]
        .iter()
        .cloned()
        .collect();
        Changes { tmdb }
    }

    pub async fn movie(&self, options: Option<HashMap<String, String>>) -> Result<Value, Box<dyn std::error::Error + Send + Sync + 'static>> {
        let path = self.tmdb._get_path("movie");
        self.tmdb._get(&path, options).await
    }

    pub async fn tv(&self, options: Option<HashMap<String, String>>) -> Result<Value, Box<dyn std::error::Error + Send + Sync + 'static>> {
        let path = self.tmdb._get_path("tv");
        self.tmdb._get(&path, options).await
    }

    pub async fn person(&self, options: Option<HashMap<String, String>>) -> Result<Value, Box<dyn std::error::Error + Send + Sync + 'static>> {
        let path = self.tmdb._get_path("person");
        self.tmdb._get(&path, options).await
    }
}