// ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
// ┃ Copyright: (c) 2023, Mike 'PhiSyX' S. (https://github.com/PhiSyX) ┃
// ┃ SPDX-License-Identifier: MPL-2.0 ┃
// ┃ ╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌╌ ┃
// ┃ ┃
// ┃ This Source Code Form is subject to the terms of the Mozilla Public ┃
// ┃ License, v. 2.0. If a copy of the MPL was not distributed with this ┃
// ┃ file, You can obtain one at https://mozilla.org/MPL/2.0/. ┃
// ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
// ----------- //
// Énumération //
// ----------- //
#[derive(Debug)]
#[derive(thiserror::Error)]
#[error("\n\t[{}]: {0}", std::any::type_name::<Self>())]
pub enum Error {
IO(#[from] std::io::Error),
Log(#[from] log::SetLoggerError),
LexaDatabase(#[from] lexa_database::Error),
LexaEnv(#[from] lexa_env::Error),
Server(#[from] crate::server::Error),
}
#[derive(Debug)]
#[derive(thiserror::Error)]
#[error("\n\t[{}]: {0}", std::any::type_name::<Self>())]
pub enum ServiceError {
BoxedSend(Box<dyn std::error::Error + Send + Sync>),
Boxed(Box<dyn std::error::Error>),
IO(std::io::Error),
LexaDatabase(#[from] lexa_database::Error),
}