move some files around

This commit is contained in:
mbecker20
2023-08-12 01:59:57 -04:00
parent 980d675572
commit 7331fdc083
27 changed files with 52 additions and 56 deletions
+4 -1
View File
@@ -16,12 +16,15 @@ use mungos::mongodb::bson::{doc, to_bson};
use periphery_client::{requests, PeripheryClient};
use rand::{thread_rng, Rng};
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, state::State};
use self::resource::StateResource;
pub mod alert;
pub mod cache;
pub mod channel;
pub mod db;
pub mod resource;
pub fn empty_or_only_spaces(word: &str) -> bool {
if word.is_empty() {
+1 -2
View File
@@ -12,8 +12,7 @@ use sha2::Sha256;
use crate::{
auth::InnerRequestUser,
helpers::random_duration,
resource::StateResource,
helpers::{random_duration, resource::StateResource},
state::{State, StateExtension},
};
-1
View File
@@ -12,7 +12,6 @@ mod helpers;
mod listener;
mod monitor;
mod requests;
mod resource;
mod state;
mod ws;
+14 -7
View File
@@ -1,9 +1,9 @@
use async_trait::async_trait;
use monitor_types::requests::auth::{
CreateLocalUser, ExchangeForJwt, ExchangeForJwtResponse, GetLoginOptions, LoginLocalUser,
LoginWithSecret,
CreateLocalUser, ExchangeForJwt, ExchangeForJwtResponse, GetLoginOptions,
GetLoginOptionsResponse, LoginLocalUser, LoginWithSecret,
};
use resolver_api::{derive::Resolver, Resolve, ResolveToString};
use resolver_api::{derive::Resolver, Resolve};
use serde::{Deserialize, Serialize};
use typeshare::typeshare;
@@ -15,7 +15,6 @@ use crate::state::State;
#[serde(tag = "type", content = "params")]
#[allow(clippy::enum_variant_names, clippy::large_enum_variant)]
pub enum AuthRequest {
#[to_string_resolver]
GetLoginOptions(GetLoginOptions),
CreateLocalUser(CreateLocalUser),
LoginLocalUser(LoginLocalUser),
@@ -24,9 +23,17 @@ pub enum AuthRequest {
}
#[async_trait]
impl ResolveToString<GetLoginOptions> for State {
async fn resolve_to_string(&self, _: GetLoginOptions, _: ()) -> anyhow::Result<String> {
Ok(self.login_options_response.clone())
impl Resolve<GetLoginOptions> for State {
async fn resolve(&self, _: GetLoginOptions, _: ()) -> anyhow::Result<GetLoginOptionsResponse> {
Ok(GetLoginOptionsResponse {
local: self.config.local_auth,
github: self.config.github_oauth.enabled
&& !self.config.github_oauth.id.is_empty()
&& !self.config.github_oauth.secret.is_empty(),
google: self.config.google_oauth.enabled
&& !self.config.google_oauth.id.is_empty()
&& !self.config.google_oauth.secret.is_empty(),
})
}
}
+1 -2
View File
@@ -27,8 +27,7 @@ use tokio_util::sync::CancellationToken;
use crate::{
auth::{InnerRequestUser, RequestUser},
cloud::{aws::Ec2Instance, BuildCleanupData},
helpers::make_update,
resource::StateResource,
helpers::{make_update, resource::StateResource},
state::State,
};
+1 -1
View File
@@ -14,7 +14,7 @@ use monitor_types::{
use periphery_client::requests;
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<Deploy, RequestUser> for State {
+1 -1
View File
@@ -14,7 +14,7 @@ use mungos::mongodb::bson::doc;
use periphery_client::requests;
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<CloneRepo, RequestUser> for State {
+1 -1
View File
@@ -12,7 +12,7 @@ use monitor_types::{
use periphery_client::requests;
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<PruneDockerContainers, RequestUser> for State {
+1 -1
View File
@@ -7,7 +7,7 @@ use monitor_types::{
use mungos::mongodb::bson::doc;
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<GetAlerter, RequestUser> for State {
+1 -1
View File
@@ -15,7 +15,7 @@ use monitor_types::{
use mungos::mongodb::{bson::doc, options::FindOptions};
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<GetBuild, RequestUser> for State {
+1 -1
View File
@@ -10,7 +10,7 @@ use monitor_types::{
use mungos::mongodb::bson::doc;
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<GetBuilder, RequestUser> for State {
+1 -1
View File
@@ -18,7 +18,7 @@ use mungos::mongodb::{bson::doc, options::FindOneOptions};
use periphery_client::requests;
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<GetDeployment, RequestUser> for State {
+1 -1
View File
@@ -10,7 +10,7 @@ use monitor_types::{
use mungos::mongodb::bson::doc;
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<GetRepo, RequestUser> for State {
+1 -1
View File
@@ -8,7 +8,7 @@ use monitor_types::{
};
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
const FIND_RESOURCE_TYPES: [ResourceTargetVariant; 4] = [Server, Build, Deployment, Repo];
+1 -1
View File
@@ -16,7 +16,7 @@ use mungos::mongodb::{bson::doc, options::FindOptions};
use periphery_client::requests::{self, GetAccountsResponse};
use resolver_api::{Resolve, ResolveToString};
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<GetServersSummary, RequestUser> for State {
+1 -1
View File
@@ -18,7 +18,7 @@ use monitor_types::{
use mungos::mongodb::{bson::doc, options::FindOptions};
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
const UPDATES_PER_PAGE: i64 = 20;
+5 -1
View File
@@ -11,7 +11,11 @@ use monitor_types::{
use mungos::mongodb::bson::{doc, to_bson};
use resolver_api::Resolve;
use crate::{auth::RequestUser, helpers::make_update, resource::StateResource, state::State};
use crate::{
auth::RequestUser,
helpers::{make_update, resource::StateResource},
state::State,
};
#[async_trait]
impl Resolve<CreateAlerter, RequestUser> for State {
+1 -2
View File
@@ -16,8 +16,7 @@ use resolver_api::Resolve;
use crate::{
auth::RequestUser,
helpers::{empty_or_only_spaces, make_update},
resource::StateResource,
helpers::{empty_or_only_spaces, make_update, resource::StateResource},
state::State,
};
+1 -1
View File
@@ -12,7 +12,7 @@ use monitor_types::{
use mungos::mongodb::bson::{doc, to_bson};
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<CreateBuilder, RequestUser> for State {
+3 -1
View File
@@ -18,7 +18,9 @@ use periphery_client::requests;
use resolver_api::Resolve;
use crate::{
auth::RequestUser, helpers::empty_or_only_spaces, resource::StateResource, state::State,
auth::RequestUser,
helpers::{empty_or_only_spaces, resource::StateResource},
state::State,
};
#[async_trait]
+1 -1
View File
@@ -9,7 +9,7 @@ use monitor_types::{
};
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<UpdateDescription, RequestUser> for State {
+1 -1
View File
@@ -15,7 +15,7 @@ use mungos::mongodb::bson::{doc, to_bson};
use periphery_client::requests;
use resolver_api::Resolve;
use crate::{auth::RequestUser, resource::StateResource, state::State};
use crate::{auth::RequestUser, helpers::resource::StateResource, state::State};
#[async_trait]
impl Resolve<CreateRepo, RequestUser> for State {
+5 -1
View File
@@ -13,7 +13,11 @@ use mungos::mongodb::bson::{doc, to_bson};
use periphery_client::requests;
use resolver_api::Resolve;
use crate::{auth::RequestUser, helpers::make_update, resource::StateResource, state::State};
use crate::{
auth::RequestUser,
helpers::{make_update, resource::StateResource},
state::State,
};
#[async_trait]
impl Resolve<CreateServer, RequestUser> for State {
+3 -23
View File
@@ -2,12 +2,9 @@ use std::{net::SocketAddr, str::FromStr, sync::Arc};
use anyhow::Context;
use axum::Extension;
use monitor_types::{
entities::{
build::BuildActionState, deployment::DeploymentActionState, repo::RepoActionState,
server::ServerActionState, update::UpdateListItem,
},
requests::auth::GetLoginOptionsResponse,
use monitor_types::entities::{
build::BuildActionState, deployment::DeploymentActionState, repo::RepoActionState,
server::ServerActionState, update::UpdateListItem,
};
use crate::{
@@ -34,9 +31,6 @@ pub struct State {
pub deployment_status_cache: Cache<Arc<CachedDeploymentStatus>>,
pub server_status_cache: Cache<Arc<CachedServerStatus>>,
// cached responses
pub login_options_response: String,
// channels
pub build_cancel: BroadcastChannel<String>, // build id to cancel
pub update: BroadcastChannel<UpdateListItem>,
@@ -61,7 +55,6 @@ impl State {
jwt: JwtClient::new(&config),
github_auth: GithubOauthClient::new(&config),
google_auth: GoogleOauthClient::new(&config),
login_options_response: login_options_response(&config)?,
action_states: Default::default(),
deployment_status_cache: Default::default(),
server_status_cache: Default::default(),
@@ -83,19 +76,6 @@ impl State {
}
}
pub fn login_options_response(config: &CoreConfig) -> anyhow::Result<String> {
let options = GetLoginOptionsResponse {
local: config.local_auth,
github: config.github_oauth.enabled
&& !config.github_oauth.id.is_empty()
&& !config.github_oauth.secret.is_empty(),
google: config.google_oauth.enabled
&& !config.google_oauth.id.is_empty()
&& !config.google_oauth.secret.is_empty(),
};
serde_json::to_string(&options).context("failed to serialize login options")
}
#[derive(Default)]
pub struct ActionStates {
pub build: Cache<BuildActionState>,
+1 -1
View File
@@ -29,7 +29,7 @@ use tokio_util::sync::CancellationToken;
use crate::{
auth::RequestUser,
resource::StateResource,
helpers::resource::StateResource,
state::{State, StateExtension},
};