1mod common;
2mod device;
3mod user;
4
5#[cfg(feature = "admin")]
6pub mod admin;
7
8#[cfg(feature = "auth")]
9pub mod auth;
10
11#[cfg(feature = "fulfillment")]
12pub mod fulfillment;
13
14#[cfg(feature = "lighthouse")]
15pub mod lighthouse;
16
17#[cfg(feature = "token")]
18pub mod token;
19
20pub use common::*;
21pub use device::*;
22pub use user::*;
23
24use serde::{Deserialize, Serialize};
25
26#[derive(Debug, Clone, Deserialize, Serialize)]
27#[serde(untagged, rename_all = "snake_case")]
28pub enum ResultUntagged<T, E> {
29 Ok(T),
30 Err(E),
31}
32
33#[derive(Debug, Clone, Deserialize, Serialize)]
34#[serde(tag = "status", rename_all = "snake_case")]
35pub enum ResultTagged<T, E> {
36 Ok(T),
37 Err(E),
38}
39
40impl<T, E> ResultTagged<T, E> {
41 pub fn into_result(self) -> Result<T, E> {
42 match self {
43 Self::Ok(v) => Ok(v),
44 Self::Err(v) => Err(v),
45 }
46 }
47}
48
49impl<T, E> ResultUntagged<T, E> {
50 pub fn into_result(self) -> Result<T, E> {
51 match self {
52 Self::Ok(v) => Ok(v),
53 Self::Err(v) => Err(v),
54 }
55 }
56}