get build action states

This commit is contained in:
mbecker20
2023-07-04 03:56:48 +00:00
parent 2dc4d41524
commit f16176f298
4 changed files with 67 additions and 8 deletions
+15 -1
View File
@@ -6,7 +6,7 @@ use futures::future::join_all;
use monitor_types::{
all_logs_success,
entities::{
build::{Build, BuildBuilderConfig},
build::{Build, BuildActionState, BuildBuilderConfig},
builder::{AwsBuilder, BuilderConfig},
deployment::DockerContainerState,
update::{Log, ResourceTarget, Update, UpdateStatus},
@@ -65,6 +65,20 @@ impl Resolve<ListBuilds, RequestUser> for State {
}
}
#[async_trait]
impl Resolve<GetBuildActionState, RequestUser> for State {
async fn resolve(
&self,
GetBuildActionState { id }: GetBuildActionState,
user: RequestUser,
) -> anyhow::Result<BuildActionState> {
self.get_build_check_permissions(&id, &user, PermissionLevel::Read)
.await?;
let action_state = self.action_states.build.get(&id).await.unwrap_or_default();
Ok(action_state)
}
}
#[async_trait]
impl Resolve<CreateBuild, RequestUser> for State {
async fn resolve(
+21 -2
View File
@@ -6,8 +6,8 @@ use monitor_types::{
all_logs_success,
entities::{
deployment::{
Deployment, DeploymentConfig, DeploymentImage, DockerContainerState,
DockerContainerStats,
Deployment, DeploymentActionState, DeploymentConfig, DeploymentImage,
DockerContainerState, DockerContainerStats,
},
server::ServerStatus,
update::{Log, ResourceTarget, Update, UpdateStatus},
@@ -181,6 +181,25 @@ impl Resolve<GetDeploymentStats, RequestUser> for State {
}
}
#[async_trait]
impl Resolve<GetDeploymentActionState, RequestUser> for State {
async fn resolve(
&self,
GetDeploymentActionState { id }: GetDeploymentActionState,
user: RequestUser,
) -> anyhow::Result<DeploymentActionState> {
self.get_deployment_check_permissions(&id, &user, PermissionLevel::Read)
.await?;
let action_state = self
.action_states
.deployment
.get(&id)
.await
.unwrap_or_default();
Ok(action_state)
}
}
#[async_trait]
impl Resolve<CreateDeployment, RequestUser> for State {
async fn resolve(
+16 -4
View File
@@ -2,15 +2,13 @@ use anyhow::{anyhow, Context};
use async_trait::async_trait;
use monitor_types::{
entities::{
repo::Repo,
repo::{Repo, RepoActionState},
update::{Log, ResourceTarget, Update, UpdateStatus},
Operation, PermissionLevel,
},
monitor_timestamp, optional_string,
permissioned::Permissioned,
requests::api::{
CloneRepo, CopyRepo, CreateRepo, DeleteRepo, GetRepo, ListRepos, PullRepo, UpdateRepo,
},
requests::api::*,
};
use mungos::mongodb::bson::{doc, to_bson};
use periphery_client::requests;
@@ -53,6 +51,20 @@ impl Resolve<ListRepos, RequestUser> for State {
}
}
#[async_trait]
impl Resolve<GetRepoActionState, RequestUser> for State {
async fn resolve(
&self,
GetRepoActionState { id }: GetRepoActionState,
user: RequestUser,
) -> anyhow::Result<RepoActionState> {
self.get_repo_check_permissions(&id, &user, PermissionLevel::Read)
.await?;
let action_state = self.action_states.repo.get(&id).await.unwrap_or_default();
Ok(action_state)
}
}
#[async_trait]
impl Resolve<CreateRepo, RequestUser> for State {
async fn resolve(
+15 -1
View File
@@ -5,7 +5,7 @@ use monitor_types::{
deployment::BasicContainerInfo,
server::{
docker_image::ImageSummary, docker_network::DockerNetwork, stats::SystemInformation,
Server,
Server, ServerActionState,
},
update::{Log, ResourceTarget, Update, UpdateStatus},
Operation, PermissionLevel,
@@ -74,6 +74,20 @@ impl Resolve<ListServers, RequestUser> for State {
}
}
#[async_trait]
impl Resolve<GetServerActionState, RequestUser> for State {
async fn resolve(
&self,
GetServerActionState { id }: GetServerActionState,
user: RequestUser,
) -> anyhow::Result<ServerActionState> {
self.get_server_check_permissions(&id, &user, PermissionLevel::Read)
.await?;
let action_state = self.action_states.server.get(&id).await.unwrap_or_default();
Ok(action_state)
}
}
#[async_trait]
impl Resolve<CreateServer, RequestUser> for State {
async fn resolve(&self, req: CreateServer, user: RequestUser) -> anyhow::Result<Server> {