Service for editing/creating recipe
[recipes.git] / backend / src / services / api.rs
1 use actix_web::{
2 http::{header, header::ContentType, StatusCode},
3 post, put, web, HttpMessage, HttpRequest, HttpResponse, Responder,
4 };
5 use log::{debug, error, info, log_enabled, Level};
6 use ron::de::from_bytes;
7
8 use super::Result;
9 use crate::data::{asynchronous, db};
10
11 #[put("/ron-api/recipe/set-title")]
12 pub async fn set_recipe_title(
13 req: HttpRequest,
14 body: web::Bytes,
15 connection: web::Data<db::Connection>,
16 ) -> Result<HttpResponse> {
17 let ron_req: common::ron_api::SetRecipeTitle = from_bytes(&body)?;
18 connection
19 .set_recipe_title_async(ron_req.recipe_id, &ron_req.title)
20 .await?;
21 Ok(HttpResponse::Ok().finish())
22 }
23
24 #[put("/ron-api/recipe/set-description")]
25 pub async fn set_recipe_description(
26 req: HttpRequest,
27 body: web::Bytes,
28 connection: web::Data<db::Connection>,
29 ) -> Result<HttpResponse> {
30 let ron_req: common::ron_api::SetRecipeDescription = from_bytes(&body)?;
31 connection
32 .set_recipe_description_async(ron_req.recipe_id, &ron_req.description)
33 .await?;
34 Ok(HttpResponse::Ok().finish())
35 }
36
37 // #[put("/ron-api/recipe/add-image)]
38 // #[put("/ron-api/recipe/rm-photo")]
39 // #[put("/ron-api/recipe/add-ingredient")]
40 // #[put("/ron-api/recipe/rm-ingredient")]
41 // #[put("/ron-api/recipe/set-ingredients-order")]
42 // #[put("/ron-api/recipe/add-group")]
43 // #[put("/ron-api/recipe/rm-group")]
44 // #[put("/ron-api/recipe/set-groups-order")]
45 // #[put("/ron-api/recipe/add-step")]
46 // #[put("/ron-api/recipe/rm-step")]
47 // #[put("/ron-api/recipe/set-steps-order")]