use crate::prelude2::*;
use std::collections::HashMap;
use chrono::NaiveDateTime;
pub async fn parse_datetime(
query: web::Query<HashMap<String, String>>,
request: HttpRequest,
) -> impl Responder {
let datetime_str = query
.get("datetime_str")
.ok_or_else(|| Error::invalid_request("Missing query string parameter: datetime_str"))?;
match NaiveDateTime::parse_from_str(datetime_str, "%Y-%m-%dT%H:%M:%SZ") {
Ok(parsed_date_time) => request.json(
200,
R::ok(parsed_date_time.format("%Y-%m-%dT%H:%M:%SZ").to_string()),
),
Err(e) => request.json(200, R::failed(400, format!("{:?}", e))),
}
}