img_src 0.3.2

Rust SDK for img-src image processing and delivery API
Documentation
/*
 * img-src API
 *
 * Image processing and delivery API.  A serverless image processing and delivery API built on Cloudflare Workers with parameter-driven image transformation and on-demand transcoding.  ## Features  - **Image Upload**: Store original images in R2 with SHA256-based deduplication - **On-Demand Transformation**: Resize, crop, and convert images via URL parameters - **Format Conversion**: WebP, AVIF, JPEG, PNG output formats - **Path Organization**: Organize images into folders with multiple paths per image - **CDN Caching**: Automatic edge caching for transformed images  ## Authentication  Authenticate using API Keys with `imgsrc_` prefix. Create your API key at https://img-src.io/settings  ## Rate Limiting  - **Free Plan**: 100 requests/minute - **Pro Plan**: 500 requests/minute  Rate limit headers are included in all responses.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: taehun@taehun.dev
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct ImageListResponse {
    #[serde(rename = "images")]
    pub images: Vec<models::ImageListItem>,
    #[serde(rename = "folders")]
    pub folders: Vec<models::FolderItem>,
    /// Total count of images (in current path)
    #[serde(rename = "total")]
    pub total: i32,
    /// Maximum items per page
    #[serde(rename = "limit")]
    pub limit: i32,
    /// Current offset
    #[serde(rename = "offset")]
    pub offset: i32,
    /// Whether more items exist
    #[serde(rename = "has_more")]
    pub has_more: bool,
    /// Current path filter (if any)
    #[serde(rename = "path_filter", skip_serializing_if = "Option::is_none")]
    pub path_filter: Option<String>,
}

impl ImageListResponse {
    pub fn new(
        images: Vec<models::ImageListItem>,
        folders: Vec<models::FolderItem>,
        total: i32,
        limit: i32,
        offset: i32,
        has_more: bool,
    ) -> ImageListResponse {
        ImageListResponse {
            images,
            folders,
            total,
            limit,
            offset,
            has_more,
            path_filter: None,
        }
    }
}