/*
* 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,
}
}
}