apify_client/clients/
actor_version_collection.rs1use serde::Serialize;
4
5use crate::clients::base::{create_resource, list_resource, ResourceContext};
6use crate::clients::pagination::{single_page_iterator, ListIterator};
7use crate::common::{PaginationList, QueryParams};
8use crate::error::ApifyClientResult;
9use crate::http_client::HttpClient;
10use crate::models::ActorVersion;
11
12#[derive(Debug, Clone)]
14pub struct ActorVersionCollectionClient {
15 ctx: ResourceContext,
16}
17
18impl ActorVersionCollectionClient {
19 pub(crate) fn new(http: HttpClient, base_url: &str) -> Self {
20 Self {
21 ctx: ResourceContext::collection(http, base_url, "versions"),
22 }
23 }
24
25 pub async fn list(&self) -> ApifyClientResult<PaginationList<ActorVersion>> {
28 list_resource(&self.ctx, None, &QueryParams::new()).await
29 }
30
31 pub fn iterate(&self) -> ListIterator<ActorVersion> {
37 single_page_iterator!(self)
38 }
39
40 pub async fn create<T: Serialize>(&self, version: &T) -> ApifyClientResult<ActorVersion> {
42 create_resource(&self.ctx, &QueryParams::new(), version).await
43 }
44}