diff --git a/src/models/task.rs b/src/models/task.rs index caa1d7f..1e2a52d 100644 --- a/src/models/task.rs +++ b/src/models/task.rs @@ -63,8 +63,10 @@ pub struct NewTask { impl NewTask { pub fn new( - title: String, deadline: Option, - category: Category, project_id: Option, + title: String, + deadline: Option, + category: Category, + project_id: Option, ) -> Self { Self { title, deadline, category, project_id } } diff --git a/src/server/projects.rs b/src/server/projects.rs index 0519dcd..8ae58b2 100644 --- a/src/server/projects.rs +++ b/src/server/projects.rs @@ -51,7 +51,7 @@ pub(crate) async fn get_projects() #[server] pub(crate) async fn edit_project(project_id: i32, new_project: NewProject) - -> Result>> { + -> Result>> { use crate::schema::projects::dsl::*; new_project.validate() @@ -72,16 +72,19 @@ pub(crate) async fn edit_project(project_id: i32, new_project: NewProject) Ok(updated_project) } +// TODO: Get rid of this suppression. +//noinspection DuplicatedCode #[server] pub(crate) async fn delete_project(project_id: i32) - -> Result<(), ServerFnError>> { + -> Result<(), ServerFnError>> { use crate::schema::projects::dsl::*; let mut connection = establish_database_connection() .map_err::, _>(|_| vec![Error::ServerInternal].into())?; + diesel::delete(projects.filter(id.eq(project_id))).execute(&mut connection) .map_err::, _>(|error| vec![error.into()].into())?; - + Ok(()) }