platz_sdk/resources/
deployment_kinds.rs1use crate::client::PlatzClient;
2use anyhow::Result;
3use chrono::prelude::*;
4use kv_derive::{prelude::*, IntoVec};
5use serde::Deserialize;
6use uuid::Uuid;
7
8#[derive(Debug, Deserialize, Clone)]
9pub struct DeploymentKind {
10 pub id: Uuid,
11 pub created_at: DateTime<Utc>,
12 pub name: String,
13}
14
15#[derive(Default, IntoVec)]
16pub struct DeploymentKindFilters {
17 #[kv(optional)]
18 pub name: Option<String>,
19}
20
21impl PlatzClient {
22 pub async fn deployment_kinds(
23 &self,
24 filters: DeploymentKindFilters,
25 ) -> Result<Vec<DeploymentKind>> {
26 Ok(self
27 .request(reqwest::Method::GET, "/api/v2/deployment-kinds")
28 .add_to_query(filters.into_vec())
29 .paginated()
30 .await?)
31 }
32
33 pub async fn deployment_kind(&self, deployment_kind_id: Uuid) -> Result<DeploymentKind> {
34 Ok(self
35 .request(
36 reqwest::Method::GET,
37 format!("/api/v2/deployment-kinds/{deployment_kind_id}"),
38 )
39 .send()
40 .await?)
41 }
42}