use crate::framework::response::ApiResult;
pub mod delete;
pub mod get;
pub mod patch;
pub mod post;
pub mod put;
pub use delete::{PipelineCouplingDelete, PipelineDelete};
pub use get::{
PipelineCouplingByAppDetails, PipelineCouplingByPipelineList, PipelineCouplingByTeamList,
PipelineCouplingByUserList, PipelineCouplingDetails, PipelineCouplingList,
PipelineDeploymentList, PipelineDetails, PipelineLatestBuildsList, PipelineLatestReleaseList,
PipelineList, PipelinePromotionDetails, PipelinePromotionTargetList, PipelineStackDetails,
};
pub use patch::{
PipelineCouplingUpdate, PipelineCouplingUpdateParams, PipelineUpdate, PipelineUpdateParams,
};
pub use post::{
PipelineCouplingCreate, PipelineCouplingCreateParams, PipelineCreate, PipelineCreateParams,
PipelinePromotionCreate, PipelinePromotionCreateParams, PipelineTransferCreate,
PipelineTransferCreateParams,
};
pub use pipeline::Pipeline;
pub use pipeline_builds::PipelineBuild;
pub use pipeline_couplings::PipelineCoupling;
pub use pipeline_deployement::PipelineDeployment;
pub use pipeline_promotion_target::PipelinePromotionTarget;
pub use pipeline_promotions::PipelinePromotion;
pub use pipeline_releases::PipelineRelease;
pub use pipeline_stack::PipelineStack;
pub use pipeline_transfer::PipelineTransfer;
impl ApiResult for Pipeline {}
impl ApiResult for Vec<Pipeline> {}
impl ApiResult for PipelineBuild {}
impl ApiResult for Vec<PipelineBuild> {}
impl ApiResult for PipelineCoupling {}
impl ApiResult for Vec<PipelineCoupling> {}
impl ApiResult for PipelineDeployment {}
impl ApiResult for Vec<PipelineDeployment> {}
impl ApiResult for PipelinePromotion {}
impl ApiResult for Vec<PipelinePromotion> {}
impl ApiResult for PipelinePromotionTarget {}
impl ApiResult for Vec<PipelinePromotionTarget> {}
impl ApiResult for PipelineRelease {}
impl ApiResult for Vec<PipelineRelease> {}
impl ApiResult for PipelineStack {}
impl ApiResult for Vec<PipelineStack> {}
impl ApiResult for PipelineTransfer {}
impl ApiResult for Vec<PipelineTransfer> {}
mod pipeline {
use chrono::offset::Utc;
use chrono::DateTime;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Pipeline {
pub created_at: DateTime<Utc>,
pub id: String,
pub name: String,
pub owner: Option<Owner>,
pub updated_at: DateTime<Utc>,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Owner {
pub id: String,
#[serde(rename = "type")]
pub type_field: String,
}
}
mod pipeline_builds {
use chrono::offset::Utc;
use chrono::DateTime;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelineBuild {
pub app: App,
pub buildpacks: Vec<Buildpack>,
pub created_at: DateTime<Utc>,
pub id: String,
pub output_stream_url: Option<String>,
pub source_blob: SourceBlob,
pub release: Option<Release>,
pub slug: Option<Slug>,
pub stack: String,
pub status: String,
pub updated_at: DateTime<Utc>,
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: 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,
}
}
mod pipeline_couplings {
use chrono::offset::Utc;
use chrono::DateTime;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelineCoupling {
pub app: App,
pub created_at: DateTime<Utc>,
pub id: String,
pub pipeline: Pipeline,
pub stage: String,
pub updated_at: DateTime<Utc>,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct App {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Pipeline {
pub id: String,
}
}
mod pipeline_deployement {
use chrono::offset::Utc;
use chrono::DateTime;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelineDeployment {
pub addon_plan_names: Vec<String>,
pub app: App,
pub created_at: DateTime<Utc>,
pub description: String,
pub id: String,
pub updated_at: DateTime<Utc>,
pub slug: Slug,
pub status: String,
pub user: User,
pub version: i64,
pub current: bool,
pub output_stream_url: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct App {
pub name: String,
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,
}
}
mod pipeline_promotions {
use chrono::offset::Utc;
use chrono::DateTime;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelinePromotion {
pub created_at: DateTime<Utc>,
pub id: String,
pub pipeline: Pipeline,
pub source: Source,
pub status: String,
pub updated_at: Option<DateTime<Utc>>,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Pipeline {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Source {
pub app: App,
pub release: Release,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct App {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Release {
pub id: String,
}
}
mod pipeline_promotion_target {
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelinePromotionTarget {
pub app: App,
pub error_message: Option<String>,
pub id: String,
pub pipeline_promotion: PipelinePromotion,
pub release: Release,
pub status: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct App {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelinePromotion {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Release {
pub id: String,
}
}
mod pipeline_releases {
use chrono::offset::Utc;
use chrono::DateTime;
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelineRelease {
pub addon_plan_names: Vec<String>,
pub app: App,
pub created_at: DateTime<Utc>,
pub description: String,
pub id: String,
pub updated_at: Option<DateTime<Utc>>,
pub slug: Option<Slug>,
pub status: String,
pub user: User,
pub version: i64,
pub current: bool,
pub output_stream_url: Option<String>,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct App {
pub name: String,
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,
}
}
mod pipeline_stack {
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelineStack {
pub stack: Option<Stack>,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Stack {
pub id: String,
pub name: String,
}
}
mod pipeline_transfer {
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PipelineTransfer {
pub pipeline: Pipeline,
pub previous_owner: PreviousOwner,
pub new_owner: NewOwner,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct Pipeline {
pub id: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct PreviousOwner {
pub id: String,
#[serde(rename = "type")]
pub type_field: String,
}
#[derive(Deserialize, Serialize, Debug, Clone, PartialEq, Eq)]
pub struct NewOwner {
pub id: String,
#[serde(rename = "type")]
pub type_field: String,
}
}