jw_client 1.0.0

A simple API wrapper for the JW Player media management API. List or stream library into native Rust structs and download renditions.
Documentation
use serde::{Deserialize, Serialize};
use serde_json::Value;

///Renditions Model
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RenditionsPage {
    #[serde(rename = "media_renditions")]
    pub media_renditions: Vec<MediaRendition>,
    pub page: i64,
    #[serde(rename = "page_length")]
    pub page_length: i64,
    pub total: i64,
}

///Media Renditions Model
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MediaRendition {
    #[serde(rename = "container_format")]
    pub container_format: String,
    pub created: String,
    #[serde(rename = "delivery_url")]
    pub delivery_url: String,
    #[serde(rename = "error_message")]
    pub error_message: Value,
    pub filesize: i64,
    pub height: i64,
    pub id: String,
    #[serde(rename = "last_modified")]
    pub last_modified: String,
    #[serde(rename = "media_type")]
    pub media_type: String,
    pub metadata: RenditionMetadata,
    pub relationships: RenditionRelationships,
    pub schema: Value,
    pub status: String,
    #[serde(rename = "type")]
    pub type_field: String,
    pub width: i64,
}

///Renditions Metadata Model
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RenditionMetadata {}

///Renditions Relationship Model
#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct RenditionRelationships {
    #[serde(rename = "media_rendition_template")]
    pub media_rendition_template: MediaRenditionTemplate,
}

#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct MediaRenditionTemplate {
    pub id: String,
    #[serde(rename = "type")]
    pub type_field: String,
}