use crate::framework::response::ApiResult;
use serde::Deserialize;
pub mod delete;
pub mod get;
pub mod patch;
pub mod post;
pub mod put;
pub use delete::BuildDelete;
pub use get::{BuildDetails, BuildList, BuildPackInstallationList};
pub use post::{BuildCreate, BuildCreateParams, BuildpackParam, SourceBlobParam};
pub use put::{BuildpackInstallationUpdate, BuildpackInstallationUpdateParams};
impl ApiResult for Build {}
impl ApiResult for Vec<Build> {}
impl ApiResult for BuildpackInstallation {}
impl ApiResult for Vec<BuildpackInstallation> {}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Build {
pub app: App,
pub buildpacks: Option<Vec<Buildpack>>,
pub created_at: String,
pub id: String,
pub output_stream_url: String,
pub source_blob: SourceBlob,
pub release: Option<Release>,
pub slug: Option<Slug>,
pub stack: String,
pub status: String,
pub updated_at: String,
pub user: User,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct App {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Buildpack {
pub url: String,
pub name: Option<String>,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct SourceBlob {
pub checksum: Option<String>,
pub url: String,
pub version: Option<String>,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Release {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Slug {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct User {
pub id: String,
pub email: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct BuildpackInstallation {
pub ordinal: i64,
pub buildpack: Buildpack,
}
#[derive(Serialize, Clone, Debug)]
pub struct Update {
pub buildpack: String,
}