use serde::{Deserialize, Serialize};
#[allow(non_snake_case)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CompanyInfo {
#[serde(rename = "Name")]
pub Name: String,
#[serde(rename = "NIP")]
pub NIP: Option<String>,
#[serde(rename = "Address")]
pub Address: String,
#[serde(rename = "LicensesInfo")]
pub LicensesInfo: Vec<LicenceInfo>,
}
#[allow(non_snake_case)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct InstanceInfo {
#[serde(rename = "Seed")]
pub Seed: String,
#[serde(rename = "ServerName")]
pub ServerName: String,
#[serde(rename = "DatabaseName")]
pub DatabaseName: String,
#[serde(rename = "Firm")]
pub Firm: String,
#[serde(rename = "User")]
pub User: String,
}
#[allow(non_snake_case)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LicenceInfo {
#[serde(rename = "Module")]
pub Module: String,
#[serde(rename = "Feature")]
pub Feature: String,
#[serde(rename = "ValueInt")]
pub ValueInt: i32,
#[serde(rename = "ValueDecimal")]
pub ValueDecimal: rust_decimal::Decimal,
#[serde(rename = "ValueBool")]
pub ValueBool: bool,
#[serde(rename = "ValueString")]
pub ValueString: String,
#[serde(rename = "ValueDateTime")]
pub ValueDateTime: Option<chrono::NaiveDateTime>,
#[serde(rename = "ValueObject")]
pub ValueObject: serde_json::Value,
}
#[allow(non_snake_case)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LoadedModuleInfo {
#[serde(rename = "AssemblyName")]
pub AssemblyName: String,
#[serde(rename = "ModuleName")]
pub ModuleName: String,
#[serde(rename = "ModuleVersion")]
pub ModuleVersion: String,
}
#[allow(non_snake_case)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Page<T> {
#[serde(rename = "NextPage")]
pub NextPage: Option<String>,
#[serde(rename = "PreviousPage")]
pub PreviousPage: Option<String>,
#[serde(rename = "PageNumber")]
pub PageNumber: i32,
#[serde(rename = "LimitPerPage")]
pub LimitPerPage: i32,
#[serde(rename = "TotalItems")]
pub TotalItems: i32,
#[serde(rename = "OrderBy")]
pub OrderBy: crate::web_api::interface::enums::enumOrderByType,
#[serde(rename = "Data")]
pub Data: Vec<T>,
}
#[allow(non_snake_case)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Ping {
#[serde(rename = "OpenSessionsNumber")]
pub OpenSessionsNumber: i32,
#[serde(rename = "ActiveHMFInfo")]
pub ActiveHMFInfo: Vec<InstanceInfo>,
#[serde(rename = "ActiveITGInfo")]
pub ActiveITGInfo: Vec<InstanceInfo>,
#[serde(rename = "LoadedModuleInfo")]
pub LoadedModuleInfo: Vec<LoadedModuleInfo>,
}
#[allow(non_snake_case)]
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SessionInformation {
#[serde(rename = "Token")]
pub Token: String,
#[serde(rename = "DeviceName")]
pub DeviceName: String,
#[serde(rename = "RegisterTime")]
pub RegisterTime: chrono::NaiveDateTime,
#[serde(rename = "ExpireTime")]
pub ExpireTime: chrono::NaiveDateTime,
#[serde(rename = "TotalSessionsCount")]
pub TotalSessionsCount: i32,
}