-use actix_web::{http::{header, header::ContentType, StatusCode}, get, post, put, web, Responder, HttpRequest, HttpResponse, cookie::Cookie};
+use actix_web::{
+ cookie::Cookie,
+ get,
+ http::{header, header::ContentType, StatusCode},
+ post, put, web, HttpMessage, HttpRequest, HttpResponse, Responder,
+};
use chrono::Duration;
+use futures::TryFutureExt;
+use log::{debug, error, info, log_enabled, Level};
+use ron::de::from_bytes;
use serde::Deserialize;
-use log::{debug, error, log_enabled, info, Level};
use super::Result;
-use crate::utils;
-use crate::consts;
use crate::config::Config;
-use crate::user::User;
+use crate::consts;
+use crate::data::{asynchronous, db};
use crate::model;
-use crate::data::{db, asynchronous};
-
-#[put("/ron-api/set-title")]
-pub async fn set_title(req: HttpRequest, connection: web::Data<db::Connection>) -> Result<HttpResponse> {
- //req.app_config()
- let id = 1;
- let title = "XYZ".to_string();
+use crate::user::User;
+use crate::utils;
- //let recipes = connection.set_recipe_title_async(id, title).await?;
+#[put("/ron-api/recipe/set-title")]
+pub async fn set_recipe_title(
+ req: HttpRequest,
+ body: web::Bytes,
+ connection: web::Data<db::Connection>,
+) -> Result<HttpResponse> {
+ let ron_req: common::ron_api::SetRecipeTitle = from_bytes(&body)?;
+ connection
+ .set_recipe_title_async(ron_req.recipe_id, &ron_req.title)
+ .await?;
+ Ok(HttpResponse::Ok().finish())
+}
- Ok(
- HttpResponse::Ok()
- .content_type("application/ron")
- .body("DATA")
- )
-}
\ No newline at end of file
+#[put("/ron-api/recipe/set-description")]
+pub async fn set_recipe_description(
+ req: HttpRequest,
+ body: web::Bytes,
+ connection: web::Data<db::Connection>,
+) -> Result<HttpResponse> {
+ let ron_req: common::ron_api::SetRecipeDescription = from_bytes(&body)?;
+ connection
+ .set_recipe_description_async(ron_req.recipe_id, &ron_req.description)
+ .await?;
+ Ok(HttpResponse::Ok().finish())
+}