60 lines
1.7 KiB
Rust
60 lines
1.7 KiB
Rust
use actix_web::{HttpRequest, Responder, web};
|
|
use actix_web::http::header::q;
|
|
use clap::builder::TypedValueParser;
|
|
use minijinja::context;
|
|
use serde::Deserialize;
|
|
use std::collections::HashMap;
|
|
|
|
use crate::webui::MiniJinjaRenderer;
|
|
|
|
#[actix_web::get("/")]
|
|
pub async fn index(
|
|
tmpl_env: MiniJinjaRenderer,
|
|
query: web::Query<HashMap<String, String>>,
|
|
) -> actix_web::Result<impl Responder> {
|
|
tmpl_env.render("index.html", ())
|
|
}
|
|
|
|
#[actix_web::get("/actions")]
|
|
pub async fn actions(
|
|
tmpl_env: MiniJinjaRenderer,
|
|
query: web::Query<HashMap<String, String>>,
|
|
) -> actix_web::Result<impl Responder> {
|
|
tmpl_env.render("actions.html", ())
|
|
}
|
|
|
|
#[actix_web::get("/overview")]
|
|
pub async fn overview(
|
|
tmpl_env: MiniJinjaRenderer,
|
|
query: web::Query<HashMap<String, String>>,
|
|
) -> actix_web::Result<impl Responder> {
|
|
tmpl_env.render("overview.html", ())
|
|
}
|
|
|
|
#[actix_web::get("/partials/overview/submit_button")]
|
|
pub async fn overview_submit_button(
|
|
req: HttpRequest,
|
|
tmpl_env: MiniJinjaRenderer,
|
|
query: web::Query<HashMap<String, String>>
|
|
) -> actix_web::Result<impl Responder> {
|
|
let ctx = context! {
|
|
event_type => query.get("event_type").unwrap_or(&"".to_string()),
|
|
};
|
|
tmpl_env.render("partials/overview/submit_button.html", ctx)
|
|
}
|
|
|
|
#[actix_web::post("/v1/events/{event_type}")]
|
|
pub async fn push_event(
|
|
req: HttpRequest,
|
|
tmpl_env: MiniJinjaRenderer,
|
|
query: web::Query<HashMap<String, String>>,
|
|
) -> actix_web::Result<impl Responder> {
|
|
println!(">> {:?}", req);
|
|
let shit = req.match_info().get("event_type").unwrap();
|
|
let event = req.match_info().get("event").unwrap();
|
|
let ctx = context! {
|
|
event_type => shit,
|
|
};
|
|
tmpl_env.render("partials/v1/event_processed.html", ctx)
|
|
}
|