§🚀 Getting started
§Search Releases
use kodik_api::Client;
use kodik_api::search::SearchQuery;
#[tokio::main]
async fn main() {
let api_key = std::env::var("KODIK_API_KEY").expect("KODIK_API_KEY is not set");
let client = Client::new(api_key);
let search_response = SearchQuery::new()
.with_title("Cyberpunk: Edgerunners")
.with_limit(1)
.execute(&client)
.await
.unwrap();
println!("search response = {search_response:#?}");
}
§List Releases
use futures_util::{pin_mut, StreamExt};
use kodik_api::Client;
use kodik_api::list::ListQuery;
use kodik_api::types::ReleaseType;
#[tokio::main]
async fn main() {
let api_key = std::env::var("KODIK_API_KEY").expect("KODIK_API_KEY is not set");
let client = Client::new(api_key);
let stream = ListQuery::new()
.with_limit(100)
.with_types(&[ReleaseType::Anime, ReleaseType::AnimeSerial])
.stream(&client);
pin_mut!(stream);
while let Some(response) = stream.next().await {
match response {
Ok(response) => {
dbg!(response.total);
dbg!(response.results);
}
Err(err) => {
match err {
kodik_api::error::Error::KodikError(message) => {
panic!("kodik error = {}", message);
}
kodik_api::error::Error::HttpError(_err) => {
continue;
}
_ => {
panic!("Unknown error")
}
}
}
}
}
}
§List Translations
use kodik_api::Client;
use kodik_api::translations::TranslationQuery;
#[tokio::main]
async fn main() {
let api_key = std::env::var("KODIK_API_KEY").expect("KODIK_API_KEY is not set");
let client = Client::new(api_key);
let translations_response = TranslationQuery::new()
.execute(&client)
.await
.unwrap();
println!("translations response = {translations_response:#?}");
}
§List Genres
use kodik_api::Client;
use kodik_api::genres::GenreQuery;
#[tokio::main]
async fn main() {
let api_key = std::env::var("KODIK_API_KEY").expect("KODIK_API_KEY is not set");
let client = Client::new(api_key);
let genres_response = GenreQuery::new()
.execute(&client)
.await
.unwrap();
println!("genres response = {genres_response:#?}");
}
§List Countries
use kodik_api::Client;
use kodik_api::countries::CountryQuery;
#[tokio::main]
async fn main() {
let api_key = std::env::var("KODIK_API_KEY").expect("KODIK_API_KEY is not set");
let client = Client::new(api_key);
let countries_response = CountryQuery::new()
.execute(&client)
.await
.unwrap();
println!("countries response = {countries_response:#?}");
}
§List Years
use kodik_api::Client;
use kodik_api::years::YearQuery;
#[tokio::main]
async fn main() {
let api_key = std::env::var("KODIK_API_KEY").expect("KODIK_API_KEY is not set");
let client = Client::new(api_key);
let years_response = YearQuery::new()
.execute(&client)
.await
.unwrap();
println!("years response = {years_response:#?}");
}
§List Qualities
use kodik_api::Client;
use kodik_api::qualities::QualityQuery;
#[tokio::main]
async fn main() {
let api_key = std::env::var("KODIK_API_KEY").expect("KODIK_API_KEY is not set");
let client = Client::new(api_key);
let qualities_response = QualityQuery::new()
.execute(&client)
.await
.unwrap();
println!("qualities response = {qualities_response:#?}");
}