1use derive_more::From;
2use orion_error::{ErrorCode, StructError, UvsReason};
3use serde::Serialize;
4use thiserror::Error;
5#[derive(Error, Debug, Clone, PartialEq, Serialize, From)]
6pub enum KnowledgeReason {
7 #[error("not data")]
8 NotData,
9 #[error("{0}")]
10 Uvs(UvsReason),
11}
12
13impl ErrorCode for KnowledgeReason {
14 fn error_code(&self) -> i32 {
15 crate::codes::SysErrorCode::sys_code(self) as i32
16 }
17}
18
19pub type KnowledgeError = StructError<KnowledgeReason>;
20pub type KnowledgeResult<T> = Result<T, StructError<KnowledgeReason>>;