rustfmt
[recipes.git] / backend / src / services / api.rs
1 use actix_web::{
2 cookie::Cookie,
3 get,
4 http::{header, header::ContentType, StatusCode},
5 post, put, web, HttpMessage, HttpRequest, HttpResponse, Responder,
6 };
7 use chrono::Duration;
8 use futures::TryFutureExt;
9 use log::{debug, error, info, log_enabled, Level};
10 use ron::de::from_bytes;
11 use serde::Deserialize;
12
13 use super::Result;
14 use crate::config::Config;
15 use crate::consts;
16 use crate::data::{asynchronous, db};
17 use crate::model;
18 use crate::user::User;
19 use crate::utils;
20
21 #[put("/ron-api/recipe/set-title")]
22 pub async fn set_recipe_title(
23 req: HttpRequest,
24 body: web::Bytes,
25 connection: web::Data<db::Connection>,
26 ) -> Result<HttpResponse> {
27 let ron_req: common::ron_api::SetRecipeTitle = from_bytes(&body)?;
28 connection
29 .set_recipe_title_async(ron_req.recipe_id, &ron_req.title)
30 .await?;
31 Ok(HttpResponse::Ok().finish())
32 }
33
34 #[put("/ron-api/recipe/set-description")]
35 pub async fn set_recipe_description(
36 req: HttpRequest,
37 body: web::Bytes,
38 connection: web::Data<db::Connection>,
39 ) -> Result<HttpResponse> {
40 let ron_req: common::ron_api::SetRecipeDescription = from_bytes(&body)?;
41 connection
42 .set_recipe_description_async(ron_req.recipe_id, &ron_req.description)
43 .await?;
44 Ok(HttpResponse::Ok().finish())
45 }