mirror of
https://github.com/moghtech/komodo.git
synced 2026-09-06 08:00:44 +00:00
move some files around
This commit is contained in:
@@ -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() {
|
||||
|
||||
@@ -12,8 +12,7 @@ use sha2::Sha256;
|
||||
|
||||
use crate::{
|
||||
auth::InnerRequestUser,
|
||||
helpers::random_duration,
|
||||
resource::StateResource,
|
||||
helpers::{random_duration, resource::StateResource},
|
||||
state::{State, StateExtension},
|
||||
};
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@ mod helpers;
|
||||
mod listener;
|
||||
mod monitor;
|
||||
mod requests;
|
||||
mod resource;
|
||||
mod state;
|
||||
mod ws;
|
||||
|
||||
|
||||
@@ -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(),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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];
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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]
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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
@@ -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
@@ -29,7 +29,7 @@ use tokio_util::sync::CancellationToken;
|
||||
|
||||
use crate::{
|
||||
auth::RequestUser,
|
||||
resource::StateResource,
|
||||
helpers::resource::StateResource,
|
||||
state::{State, StateExtension},
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user