fns_api_client/traits/
ticket.rs

1use std::fmt::{Debug, Display};
2use std::sync::Arc;
3
4pub trait TicketTrait{}
5
6pub(crate) struct Ticket;
7
8impl TicketTrait for Ticket {
9
10}
11
12pub trait TicketResponseTrait: Send + Sync{
13    fn result(&self) -> TicketResponseResult;
14}
15
16#[derive(Clone)]
17pub enum TicketResponseResult{
18    Ok(Arc<dyn MessageTrait>),
19    Err(Arc<dyn TicketRequestErrorTrait>)
20}
21
22pub trait MessageTrait: Send + Sync + Debug{
23    fn id(&self) -> String;
24}
25
26pub trait TicketRequestErrorTrait: Send + Sync{
27    fn message(&self) -> String;
28}