mirror of
https://github.com/moghtech/komodo.git
synced 2026-07-10 12:01:56 -05:00
define more api for alerter / tag
This commit is contained in:
@@ -26,7 +26,7 @@ mod server;
|
||||
#[resolver_args(RequestUser)]
|
||||
#[serde(tag = "type", content = "params")]
|
||||
#[allow(clippy::enum_variant_names, clippy::large_enum_variant)]
|
||||
pub enum ExecuteRequest {
|
||||
enum ExecuteRequest {
|
||||
// ==== SERVER ====
|
||||
PruneContainers(PruneDockerContainers),
|
||||
PruneImages(PruneDockerImages),
|
||||
|
||||
@@ -28,7 +28,7 @@ mod search;
|
||||
#[resolver_args(RequestUser)]
|
||||
#[serde(tag = "type", content = "params")]
|
||||
#[allow(clippy::enum_variant_names, clippy::large_enum_variant)]
|
||||
pub enum ReadRequest {
|
||||
enum ReadRequest {
|
||||
// ==== SEARCH ====
|
||||
FindResources(FindResources),
|
||||
|
||||
|
||||
52
core/src/requests/write/alerter.rs
Normal file
52
core/src/requests/write/alerter.rs
Normal file
@@ -0,0 +1,52 @@
|
||||
use async_trait::async_trait;
|
||||
use monitor_types::{
|
||||
entities::alerter::Alerter,
|
||||
requests::write::{CopyAlerter, CreateAlerter, DeleteAlerter, UpdateAlerter},
|
||||
};
|
||||
use resolver_api::Resolve;
|
||||
|
||||
use crate::{auth::RequestUser, state::State};
|
||||
|
||||
#[async_trait]
|
||||
impl Resolve<CreateAlerter, RequestUser> for State {
|
||||
async fn resolve(
|
||||
&self,
|
||||
CreateAlerter { name, config }: CreateAlerter,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<Alerter> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl Resolve<CopyAlerter, RequestUser> for State {
|
||||
async fn resolve(
|
||||
&self,
|
||||
CopyAlerter { name, id }: CopyAlerter,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<Alerter> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl Resolve<DeleteAlerter, RequestUser> for State {
|
||||
async fn resolve(
|
||||
&self,
|
||||
DeleteAlerter { id }: DeleteAlerter,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<Alerter> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl Resolve<UpdateAlerter, RequestUser> for State {
|
||||
async fn resolve(
|
||||
&self,
|
||||
UpdateAlerter { id, config }: UpdateAlerter,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<Alerter> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
@@ -22,6 +22,8 @@ mod permissions;
|
||||
mod repo;
|
||||
mod secret;
|
||||
mod server;
|
||||
mod alerter;
|
||||
mod tag;
|
||||
|
||||
#[typeshare]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Resolver)]
|
||||
@@ -29,7 +31,7 @@ mod server;
|
||||
#[resolver_args(RequestUser)]
|
||||
#[serde(tag = "type", content = "params")]
|
||||
#[allow(clippy::enum_variant_names, clippy::large_enum_variant)]
|
||||
pub enum WriteRequest {
|
||||
enum WriteRequest {
|
||||
// ==== SECRET ====
|
||||
CreateLoginSecret(CreateLoginSecret),
|
||||
DeleteLoginSecret(DeleteLoginSecret),
|
||||
@@ -46,24 +48,39 @@ pub enum WriteRequest {
|
||||
|
||||
// ==== DEPLOYMENT ====
|
||||
CreateDeployment(CreateDeployment),
|
||||
CopyDeployment(CopyDeployment),
|
||||
DeleteDeployment(DeleteDeployment),
|
||||
UpdateDeployment(UpdateDeployment),
|
||||
RenameDeployment(RenameDeployment),
|
||||
|
||||
// ==== BUILD ====
|
||||
CreateBuild(CreateBuild),
|
||||
CopyBuild(CopyBuild),
|
||||
DeleteBuild(DeleteBuild),
|
||||
UpdateBuild(UpdateBuild),
|
||||
|
||||
// ==== BUIDLER ====
|
||||
CreateBuilder(CreateBuilder),
|
||||
CopyBuilder(CopyBuilder),
|
||||
DeleteBuilder(DeleteBuilder),
|
||||
UpdateBuilder(UpdateBuilder),
|
||||
|
||||
// ==== REPO ====
|
||||
CreateRepo(CreateRepo),
|
||||
UpdateRepo(UpdateRepo),
|
||||
CopyRepo(CopyRepo),
|
||||
DeleteRepo(DeleteRepo),
|
||||
UpdateRepo(UpdateRepo),
|
||||
|
||||
// ==== ALERTER ====
|
||||
CreateAlerter(CreateAlerter),
|
||||
CopyAlerter(CopyAlerter),
|
||||
DeleteAlerter(DeleteAlerter),
|
||||
UpdateAlerter(UpdateAlerter),
|
||||
|
||||
// ==== TAG ====
|
||||
CreateTag(CreateTag),
|
||||
DeleteTag(DeleteTag),
|
||||
UpdateTag(UpdateTag),
|
||||
}
|
||||
|
||||
pub fn router() -> Router {
|
||||
|
||||
45
core/src/requests/write/tag.rs
Normal file
45
core/src/requests/write/tag.rs
Normal file
@@ -0,0 +1,45 @@
|
||||
use async_trait::async_trait;
|
||||
use monitor_types::{
|
||||
entities::tag::CustomTag,
|
||||
requests::write::{CreateTag, DeleteTag, UpdateTag},
|
||||
};
|
||||
use resolver_api::Resolve;
|
||||
|
||||
use crate::{auth::RequestUser, state::State};
|
||||
|
||||
#[async_trait]
|
||||
impl Resolve<CreateTag, RequestUser> for State {
|
||||
async fn resolve(
|
||||
&self,
|
||||
CreateTag {
|
||||
name,
|
||||
category,
|
||||
color,
|
||||
}: CreateTag,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<CustomTag> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl Resolve<UpdateTag, RequestUser> for State {
|
||||
async fn resolve(
|
||||
&self,
|
||||
UpdateTag { id, config }: UpdateTag,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<CustomTag> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
|
||||
#[async_trait]
|
||||
impl Resolve<DeleteTag, RequestUser> for State {
|
||||
async fn resolve(
|
||||
&self,
|
||||
DeleteTag { id }: DeleteTag,
|
||||
user: RequestUser,
|
||||
) -> anyhow::Result<CustomTag> {
|
||||
todo!()
|
||||
}
|
||||
}
|
||||
44
lib/types/src/requests/write/alerter.rs
Normal file
44
lib/types/src/requests/write/alerter.rs
Normal file
@@ -0,0 +1,44 @@
|
||||
use resolver_api::derive::Request;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use typeshare::typeshare;
|
||||
|
||||
use crate::entities::alerter::{Alerter, PartialAlerterConfig};
|
||||
|
||||
//
|
||||
|
||||
#[typeshare]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Request)]
|
||||
#[response(Alerter)]
|
||||
pub struct CreateAlerter {
|
||||
pub name: String,
|
||||
pub config: PartialAlerterConfig,
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
#[typeshare]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Request)]
|
||||
#[response(Alerter)]
|
||||
pub struct CopyAlerter {
|
||||
pub name: String,
|
||||
pub id: String,
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
#[typeshare]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Request)]
|
||||
#[response(Alerter)]
|
||||
pub struct DeleteAlerter {
|
||||
pub id: String,
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
#[typeshare]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone, Request)]
|
||||
#[response(Alerter)]
|
||||
pub struct UpdateAlerter {
|
||||
pub id: String,
|
||||
pub config: PartialAlerterConfig,
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
mod alerter;
|
||||
mod build;
|
||||
mod builder;
|
||||
mod deployment;
|
||||
@@ -8,6 +9,7 @@ mod server;
|
||||
mod tags;
|
||||
mod user;
|
||||
|
||||
pub use alerter::*;
|
||||
pub use build::*;
|
||||
pub use builder::*;
|
||||
pub use deployment::*;
|
||||
|
||||
Reference in New Issue
Block a user