use crate::clients::base::{list_resource, ResourceContext};
use crate::common::{ListOptions, PaginationList, QueryParams};
use crate::error::ApifyClientResult;
use crate::http_client::HttpClient;
use crate::models::Build;
#[derive(Debug, Clone)]
pub struct BuildCollectionClient {
ctx: ResourceContext,
}
impl BuildCollectionClient {
pub(crate) fn new(http: HttpClient, base_url: &str) -> Self {
Self {
ctx: ResourceContext::collection(http, base_url, "actor-builds"),
}
}
pub(crate) fn with_base(http: HttpClient, base_url: &str, resource_path: &str) -> Self {
Self {
ctx: ResourceContext::collection(http, base_url, resource_path),
}
}
pub async fn list(&self, options: ListOptions) -> ApifyClientResult<PaginationList<Build>> {
let mut params = QueryParams::new();
params
.add_int("offset", options.offset)
.add_int("limit", options.limit)
.add_bool("desc", options.desc);
list_resource(&self.ctx, None, ¶ms).await
}
}