1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use serde::{Serialize, Deserialize};

use crate::api::v3::users::models::{UserInfo, UserNotFound};

/// Ответ eXpress на запрос информации о пользователе по huid
#[derive(Debug, Serialize, Deserialize, Clone)]
pub struct GetUserByHuidResponse {
    /// Результат запроса
    pub result: UserInfo,
}

/// Ошибки при получении информации о пользователе по huid
#[derive(Debug, Serialize, Deserialize, Clone)]
#[serde(tag = "reason")]
pub enum GetUserByHuidError {
    /// Чат не найден
    #[serde(rename(serialize = "user_not_found", deserialize = "user_not_found"))]
    UserNotFound(UserNotFound),

    // TODO: добавить десериализацию в HashMap<string, string> когда завезут реализацию
    /// Неопределенная ошибка, смотрите логи
    #[serde(other)]
    Other,
}