feat: ability to view tasks in a category #19

Merged
matous-volf merged 15 commits from feat/tasks-in-category-list into main 2024-09-06 06:07:35 +00:00
2 changed files with 9 additions and 2 deletions
Showing only changes of commit 2b39283bf5 - Show all commits

View File

@ -1,3 +1,4 @@
use std::hash::Hash;
use crate::schema::tasks;
use chrono::{Duration, NaiveDate, NaiveTime};
use diesel::deserialize::FromSql;
@ -11,7 +12,7 @@ use serde_with::DurationSeconds;
use std::io::Write;
#[serde_with::serde_as]
#[derive(AsExpression, FromSqlRow, Serialize, Deserialize, Hash, Clone, Debug)]
#[derive(AsExpression, FromSqlRow, Serialize, Deserialize, Clone, Debug)]
#[diesel(sql_type = Jsonb)]
pub enum Category {
Inbox,
@ -45,6 +46,12 @@ impl Category {
}
}
impl Hash for Category {
fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
std::mem::discriminant(self).hash(state);
}
}
impl PartialEq for Category {
fn eq(&self, other: &Self) -> bool {
std::mem::discriminant(self) == std::mem::discriminant(other)

View File

@ -13,7 +13,7 @@ pub(crate) fn use_tasks_in_category_query(category: Category)
coderabbitai[bot] commented 2024-09-05 16:27:30 +00:00 (Migrated from github.com)
Review

Consider improving error handling in fetch_tasks_in_category.

The use of panic! for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead.

Suggested changes to improve error handling:

Err(error) => {
    log::error!("Unexpected error: {:?}", error);
    Err(QueryErrors::UnexpectedError)
}

And for the unexpected keys:

else {
    log::warn!("Unexpected query keys: {:?}", keys);
    Err(QueryErrors::InvalidQuery)
}
**Consider improving error handling in `fetch_tasks_in_category`.** The use of `panic!` for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead. Suggested changes to improve error handling: ```rust Err(error) => { log::error!("Unexpected error: {:?}", error); Err(QueryErrors::UnexpectedError) } ``` And for the unexpected keys: ```rust else { log::warn!("Unexpected query keys: {:?}", keys); Err(QueryErrors::InvalidQuery) } ``` <!-- This is an auto-generated comment by CodeRabbit -->
coderabbitai[bot] commented 2024-09-05 16:27:30 +00:00 (Migrated from github.com)
Review

Consider improving error handling in fetch_tasks_in_category.

The use of panic! for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead.

Suggested changes to improve error handling:

Err(error) => {
    log::error!("Unexpected error: {:?}", error);
    Err(QueryErrors::UnexpectedError)
}

And for the unexpected keys:

else {
    log::warn!("Unexpected query keys: {:?}", keys);
    Err(QueryErrors::InvalidQuery)
}
**Consider improving error handling in `fetch_tasks_in_category`.** The use of `panic!` for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead. Suggested changes to improve error handling: ```rust Err(error) => { log::error!("Unexpected error: {:?}", error); Err(QueryErrors::UnexpectedError) } ``` And for the unexpected keys: ```rust else { log::warn!("Unexpected query keys: {:?}", keys); Err(QueryErrors::InvalidQuery) } ``` <!-- This is an auto-generated comment by CodeRabbit -->
async fn fetch_tasks_in_category(keys: Vec<QueryKey>) -> QueryResult<QueryValue, QueryErrors> {
if let Some(QueryKey::TasksInCategory(category)) = keys.first() {
match get_tasks_in_category(category.clone()).await {
coderabbitai[bot] commented 2024-09-05 16:27:30 +00:00 (Migrated from github.com)
Review

Consider improving error handling in fetch_tasks_in_category.

The use of panic! for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead.

Suggested changes to improve error handling:

Err(error) => {
    log::error!("Unexpected error: {:?}", error);
    Err(QueryErrors::UnexpectedError)
}

And for the unexpected keys:

else {
    log::warn!("Unexpected query keys: {:?}", keys);
    Err(QueryErrors::InvalidQuery)
}
**Consider improving error handling in `fetch_tasks_in_category`.** The use of `panic!` for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead. Suggested changes to improve error handling: ```rust Err(error) => { log::error!("Unexpected error: {:?}", error); Err(QueryErrors::UnexpectedError) } ``` And for the unexpected keys: ```rust else { log::warn!("Unexpected query keys: {:?}", keys); Err(QueryErrors::InvalidQuery) } ``` <!-- This is an auto-generated comment by CodeRabbit -->
match get_tasks_in_category(category.clone()).await {
coderabbitai[bot] commented 2024-09-05 16:27:30 +00:00 (Migrated from github.com)
Review

Consider improving error handling in fetch_tasks_in_category.

The use of panic! for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead.

Suggested changes to improve error handling:

Err(error) => {
    log::error!("Unexpected error: {:?}", error);
    Err(QueryErrors::UnexpectedError)
}

And for the unexpected keys:

else {
    log::warn!("Unexpected query keys: {:?}", keys);
    Err(QueryErrors::InvalidQuery)
}
**Consider improving error handling in `fetch_tasks_in_category`.** The use of `panic!` for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead. Suggested changes to improve error handling: ```rust Err(error) => { log::error!("Unexpected error: {:?}", error); Err(QueryErrors::UnexpectedError) } ``` And for the unexpected keys: ```rust else { log::warn!("Unexpected query keys: {:?}", keys); Err(QueryErrors::InvalidQuery) } ``` <!-- This is an auto-generated comment by CodeRabbit -->
Ok(tasks) => Ok(QueryValue::Tasks(tasks)),
Err(ServerFnError::WrappedServerError(errors)) => Err(QueryErrors::Error(errors)),
Err(error) => panic!("Unexpected error: {:?}", error)

coderabbitai[bot] commented 2024-09-05 16:27:30 +00:00 (Migrated from github.com)
Review

Consider improving error handling in fetch_tasks_in_category.

The use of panic! for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead.

Suggested changes to improve error handling:

Err(error) => {
    log::error!("Unexpected error: {:?}", error);
    Err(QueryErrors::UnexpectedError)
}

And for the unexpected keys:

else {
    log::warn!("Unexpected query keys: {:?}", keys);
    Err(QueryErrors::InvalidQuery)
}
**Consider improving error handling in `fetch_tasks_in_category`.** The use of `panic!` for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead. Suggested changes to improve error handling: ```rust Err(error) => { log::error!("Unexpected error: {:?}", error); Err(QueryErrors::UnexpectedError) } ``` And for the unexpected keys: ```rust else { log::warn!("Unexpected query keys: {:?}", keys); Err(QueryErrors::InvalidQuery) } ``` <!-- This is an auto-generated comment by CodeRabbit -->
coderabbitai[bot] commented 2024-09-05 16:27:30 +00:00 (Migrated from github.com)
Review

Consider improving error handling in fetch_tasks_in_category.

The use of panic! for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead.

Suggested changes to improve error handling:

Err(error) => {
    log::error!("Unexpected error: {:?}", error);
    Err(QueryErrors::UnexpectedError)
}

And for the unexpected keys:

else {
    log::warn!("Unexpected query keys: {:?}", keys);
    Err(QueryErrors::InvalidQuery)
}
**Consider improving error handling in `fetch_tasks_in_category`.** The use of `panic!` for handling unexpected errors (lines 19 and 22) is risky in a production environment as it can cause the application to crash. Consider logging these errors or returning a controlled error response instead. Suggested changes to improve error handling: ```rust Err(error) => { log::error!("Unexpected error: {:?}", error); Err(QueryErrors::UnexpectedError) } ``` And for the unexpected keys: ```rust else { log::warn!("Unexpected query keys: {:?}", keys); Err(QueryErrors::InvalidQuery) } ``` <!-- This is an auto-generated comment by CodeRabbit -->