event rcv
This commit is contained in:
@ -1,16 +1,19 @@
|
|||||||
|
mod typing;
|
||||||
|
|
||||||
use axum::{routing::{get, post}, Router, Json};
|
use axum::{routing::{get, post}, Router, Json};
|
||||||
use axum::http::StatusCode;
|
use axum::http::StatusCode;
|
||||||
use serde::Deserialize;
|
use serde::Deserialize;
|
||||||
|
use typing::EventMessage;
|
||||||
|
|
||||||
#[derive(Deserialize)]
|
#[derive(Deserialize)]
|
||||||
struct EventRecv {
|
struct EventRecv {
|
||||||
content: String,
|
content: String,
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn event_rcv_handle(Json(form_data): Json<EventRecv>) -> Result<String, (StatusCode, String)> {
|
async fn event_rcv_handle(Json(form_data): Json<EventMessage>) -> Result<String, (StatusCode, String)> {
|
||||||
tokio::spawn(async move {
|
tokio::spawn(async move {
|
||||||
println!("收到告警,向飞书推送消息");
|
println!("收到告警,向飞书推送消息");
|
||||||
reqwest::get(format!("https://www.feishu.cn/flow/api/trigger-webhook/d96aa14944ed0595d831e9d68834b47b?content={}", &form_data.content)).await
|
reqwest::get(format!("https://www.feishu.cn/flow/api/trigger-webhook/d96aa14944ed0595d831e9d68834b47b?content={}", &form_data.params.send_time)).await
|
||||||
});
|
});
|
||||||
Ok(String::from("success"))
|
Ok(String::from("success"))
|
||||||
}
|
}
|
||||||
|
42
src/typing.rs
Normal file
42
src/typing.rs
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
|
pub struct EventData {}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
|
pub struct Event {
|
||||||
|
#[serde(rename = "eventId")]
|
||||||
|
pub event_id: String,
|
||||||
|
#[serde(rename = "eventType")]
|
||||||
|
pub event_type: i64,
|
||||||
|
#[serde(rename = "happenTime")]
|
||||||
|
pub happen_time: String,
|
||||||
|
#[serde(rename = "srcIndex")]
|
||||||
|
pub src_index: String,
|
||||||
|
#[serde(rename = "srcName")]
|
||||||
|
pub src_name: String,
|
||||||
|
#[serde(rename = "srcParentIdex")]
|
||||||
|
pub src_parent_idex: String,
|
||||||
|
#[serde(rename = "srcType")]
|
||||||
|
pub src_type: String,
|
||||||
|
pub status: i64,
|
||||||
|
#[serde(rename = "eventLvl")]
|
||||||
|
pub event_lvl: i64,
|
||||||
|
pub timeout: i64,
|
||||||
|
pub data: EventData,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
|
pub struct Params {
|
||||||
|
#[serde(rename = "sendTime")]
|
||||||
|
pub send_time: String,
|
||||||
|
pub ability: String,
|
||||||
|
pub uids: String,
|
||||||
|
pub events: Vec<Event>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Serialize, Deserialize)]
|
||||||
|
pub struct EventMessage {
|
||||||
|
pub method: String,
|
||||||
|
pub params: Params,
|
||||||
|
}
|
Reference in New Issue
Block a user