use crate::{EncounterResult, Tribe};
use serde::{Deserialize, Serialize};
use std::{error::Error, fmt};
#[derive(Serialize, Deserialize, Debug)]
#[serde(tag = "type")]
pub enum LootServiceResponse {
Encounter(EncounterResult),
}
#[derive(Serialize, Deserialize, Debug)]
#[serde(tag = "type")]
pub enum TribeServiceReponse {
Tribes(Vec<Tribe>),
TribeIds(Vec<String>),
}
#[derive(Debug, Default)]
pub enum ServiceError {
#[default]
Unknown,
RustError(String),
}
impl Error for ServiceError {}
impl fmt::Display for ServiceError {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
Self::Unknown => write!(f, "Unknown error"),
Self::RustError(text) => write!(f, "{}", text),
}
}
}