dogy_backend_api/service/assistant/daily_challenges/
error.rs

1use derive_more::From;
2use serde::Serialize;
3use serde_with::{serde_as, DisplayFromStr};
4use uuid::Uuid;
5
6//pub type Result<T> = std::result::Result<T, Error>;
7
8#[serde_as]
9#[derive(Debug, From, Serialize, strum_macros::AsRefStr)]
10pub enum Error {
11    ChallengeAlreadyCompleted {
12        challenge_id: Uuid,
13    },
14    MissingTimezoneForUser,
15
16    #[from]
17    Sqlx(#[serde_as(as = "DisplayFromStr")] sqlx::Error),
18}
19
20// Boilerplate for Errors
21impl std::fmt::Display for Error {
22    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> core::result::Result<(), core::fmt::Error> {
23        write!(f, "{self:?}")
24    }
25}
26
27impl std::error::Error for Error {}