gotify-rs 0.1.0

A wrapper for the Gotify API.
Documentation
use std::collections::HashMap;

use serde::{Deserialize, Serialize};

#[derive(Debug, Deserialize, Serialize)]
pub struct Application {
    pub description: String,
    pub id: i32,
    pub image: String,
    pub internal: bool,
    pub name: String,
    pub token: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct Client {
    pub id: i32,
    pub name: String,
    pub token: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct Error {
    pub error: String,
    #[serde(rename = "errorCode")]
    pub code: i32,
    #[serde(rename = "errorDescription")]
    pub description: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct Health {
    pub database: String,
    pub health: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct Message {
    pub appid: i32,
    pub date: String,
    pub extras: HashMap<String, serde_json::Value>,
    pub id: i32,
    pub message: String,
    pub priority: i32,
    pub title: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct PagedMessages {
    pub messages: Vec<Message>,
    pub paging: Paging,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct Paging {
    pub limit: i32,
    pub next: String,
    pub since: i32,
    pub size: i32,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct PluginConf {
    pub author: String,
    pub capabilities: Vec<String>,
    pub enabled: bool,
    pub id: i32,
    pub license: String,
    #[serde(rename = "modulePath")]
    pub module_path: String,
    pub name: String,
    pub token: String,
    pub website: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct User {
    pub admin: bool,
    pub id: i32,
    pub name: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct UserPass {
    pub pass: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct UserWithPass {
    pub admin: bool,
    pub id: i32,
    pub name: String,
    pub pass: String,
}

#[derive(Debug, Deserialize, Serialize)]
pub struct VersionInfo {
    #[serde(rename = "buildDate")]
    pub build_date: String,
    pub commit: String,
    pub version: String,
}