diff --git a/Cargo.toml b/Cargo.toml index 201a30a2a..6f356bcce 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,5 @@ [workspace] -members = ["core", "periphery", "tests", "lib/*"] -exclude = ["lib/ts_client"] +members = ["core", "periphery", "tests", "client/rs", "lib/*"] [workspace.package] version = "1.0.0" @@ -12,7 +11,7 @@ license = "GPL-3.0-or-later" # local monitor_macros = { path = "lib/macros" } monitor_types = { path = "lib/types" } -monitor_client = { path = "lib/rs_client" } +monitor_client = { path = "client/rs" } periphery_client = { path = "lib/periphery_client" } monitor_periphery = { path = "periphery" } # external diff --git a/lib/rs_client/Cargo.toml b/client/rs/Cargo.toml similarity index 100% rename from lib/rs_client/Cargo.toml rename to client/rs/Cargo.toml diff --git a/lib/rs_client/src/lib.rs b/client/rs/src/lib.rs similarity index 100% rename from lib/rs_client/src/lib.rs rename to client/rs/src/lib.rs diff --git a/lib/ts_client/package.json b/client/ts/package.json similarity index 100% rename from lib/ts_client/package.json rename to client/ts/package.json diff --git a/lib/ts_client/src/lib.ts b/client/ts/src/lib.ts similarity index 100% rename from lib/ts_client/src/lib.ts rename to client/ts/src/lib.ts diff --git a/lib/ts_client/src/responses.ts b/client/ts/src/responses.ts similarity index 100% rename from lib/ts_client/src/responses.ts rename to client/ts/src/responses.ts diff --git a/lib/ts_client/src/types.ts b/client/ts/src/types.ts similarity index 100% rename from lib/ts_client/src/types.ts rename to client/ts/src/types.ts diff --git a/lib/ts_client/tsconfig.json b/client/ts/tsconfig.json similarity index 100% rename from lib/ts_client/tsconfig.json rename to client/ts/tsconfig.json diff --git a/lib/ts_client/yarn.lock b/client/ts/yarn.lock similarity index 100% rename from lib/ts_client/yarn.lock rename to client/ts/yarn.lock diff --git a/core/src/requests/api/mod.rs b/core/src/requests/api/mod.rs index 43f2e3c4a..376c73b95 100644 --- a/core/src/requests/api/mod.rs +++ b/core/src/requests/api/mod.rs @@ -95,6 +95,14 @@ pub enum ApiRequest { // ACTIONS RunBuild(RunBuild), + // ==== BUILDER ==== + GetBuilder(GetBuilder), + ListBuilders(ListBuilders), + // CRUD + CreateBuilder(CreateBuilder), + DeleteBuilder(DeleteBuilder), + UpdateBuilder(UpdateBuilder), + // ==== REPO ==== GetRepo(GetRepo), ListRepos(ListRepos), diff --git a/lib/types/src/requests/api/build.rs b/lib/types/src/requests/api/build.rs index b17db02f1..30fd65165 100644 --- a/lib/types/src/requests/api/build.rs +++ b/lib/types/src/requests/api/build.rs @@ -4,7 +4,7 @@ use typeshare::typeshare; use crate::{ entities::{ - build::{Build, PartialBuildConfig}, + build::{Build, PartialBuildConfig, BuildActionState}, update::Update, }, MongoDocument, @@ -28,6 +28,15 @@ pub struct ListBuilds { // +#[typeshare] +#[derive(Serialize, Deserialize, Debug, Clone, Request)] +#[response(BuildActionState)] +pub struct GetBuildActionState { + pub id: String, +} + +// + #[typeshare] #[derive(Serialize, Deserialize, Debug, Clone, Request)] #[response(Build)] diff --git a/lib/types/src/requests/api/deployment.rs b/lib/types/src/requests/api/deployment.rs index b548d3134..d34439df2 100644 --- a/lib/types/src/requests/api/deployment.rs +++ b/lib/types/src/requests/api/deployment.rs @@ -7,7 +7,7 @@ use typeshare::typeshare; use crate::{ entities::{ deployment::{ - Deployment, DockerContainerStats, PartialDeploymentConfig, TerminationSignal, + Deployment, DockerContainerStats, PartialDeploymentConfig, TerminationSignal, DeploymentActionState, }, update::{Log, Update}, }, @@ -71,6 +71,15 @@ pub struct GetDeploymentStats { // +#[typeshare] +#[derive(Serialize, Deserialize, Debug, Clone, Request)] +#[response(DeploymentActionState)] +pub struct GetDeploymentActionState { + pub id: String, +} + +// + #[typeshare] #[derive(Serialize, Deserialize, Debug, Clone, Request)] #[response(Deployment)] diff --git a/lib/types/src/requests/api/repo.rs b/lib/types/src/requests/api/repo.rs index 6baecce97..efbf5c616 100644 --- a/lib/types/src/requests/api/repo.rs +++ b/lib/types/src/requests/api/repo.rs @@ -4,7 +4,7 @@ use typeshare::typeshare; use crate::{ entities::{ - repo::{PartialRepoConfig, Repo}, + repo::{PartialRepoConfig, Repo, RepoActionState}, update::Update, }, MongoDocument, @@ -30,6 +30,15 @@ pub struct ListRepos { // +#[typeshare] +#[derive(Serialize, Deserialize, Debug, Clone, Request)] +#[response(RepoActionState)] +pub struct GetRepoActionState { + pub id: String, +} + +// + #[typeshare] #[derive(Serialize, Deserialize, Debug, Clone, Request)] #[response(Repo)]