feat: ability to delete a task #39

Merged
matous-volf merged 4 commits from feat/task-delete into main 2024-09-08 08:07:42 +00:00
2 changed files with 10 additions and 5 deletions
Showing only changes of commit 7b635ea372 - Show all commits

View File

@ -63,8 +63,10 @@ pub struct NewTask {
impl NewTask {
pub fn new(
title: String, deadline: Option<chrono::NaiveDate>,
category: Category, project_id: Option<i32>,
title: String,
deadline: Option<chrono::NaiveDate>,
category: Category,
project_id: Option<i32>,
) -> Self {
Self { title, deadline, category, project_id }
}

View File

@ -72,6 +72,8 @@ 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<ErrorVec<Error>>> {
@ -80,6 +82,7 @@ pub(crate) async fn delete_project(project_id: i32)
let mut connection = establish_database_connection()
.map_err::<ErrorVec<Error>, _>(|_| vec![Error::ServerInternal].into())?;
diesel::delete(projects.filter(id.eq(project_id))).execute(&mut connection)
.map_err::<ErrorVec<Error>, _>(|error| vec![error.into()].into())?;