use crate::prelude2::*;
use std::collections::HashMap;
pub async fn redis_fred_ttl(
query: web::Query<HashMap<String, String>>,
request: HttpRequest,
app_state: web::Data<AppState>,
) -> impl Responder {
let key = query
.get("key")
.cloned()
.unwrap_or_else(|| String::from(""));
let val = app_state.redis_fred().ttl(&key).await?;
request.json(200, R::ok(val))
}
pub async fn redis_fred_exists(
query: web::Query<HashMap<String, String>>,
request: HttpRequest,
app_state: web::Data<AppState>,
) -> impl Responder {
let key = query
.get("key")
.cloned()
.unwrap_or_else(|| String::from(""));
let val = app_state.redis_fred().exists(&key).await?;
request.json(200, R::ok(val))
}
pub async fn redis_fred_set(
query: web::Query<HashMap<String, String>>,
body: web::Bytes,
request: HttpRequest,
app_state: web::Data<AppState>,
) -> impl Responder {
let key = query
.get("key")
.cloned()
.unwrap_or_else(|| String::from(""));
let val = crate::commons::bytes_to_string(body.to_vec())?;
app_state.redis_fred().set(&key, &val, 10).await?;
request.json(200, R::ok(true))
}
pub async fn redis_fred_get(
query: web::Query<HashMap<String, String>>,
request: HttpRequest,
app_state: web::Data<AppState>,
) -> impl Responder {
let key = query
.get("key")
.cloned()
.unwrap_or_else(|| String::from(""));
let val = app_state.redis_fred().get::<String>(&key).await?;
request.json(200, R::ok(val))
}