zammad-api 0.4.0

Async, idiomatic Rust client for the Zammad Service Platform
Documentation
use reqwest::Method;

use crate::client::Client;
use crate::error::Result;
use crate::models::TicketPriority;

const PATH: &str = "api/v1/ticket_priorities";

/// Ticket-priority endpoints.
#[derive(Debug)]
pub struct PrioritiesApi<'a> {
    client: &'a Client,
}

impl<'a> PrioritiesApi<'a> {
    pub(crate) fn new(client: &'a Client) -> Self {
        Self { client }
    }

    /// `GET /api/v1/ticket_priorities` - every configured priority.
    pub async fn list(&self) -> Result<Vec<TicketPriority>> {
        let req = self.client.request(Method::GET, PATH);
        self.client.send_json(req).await
    }

    /// `GET /api/v1/ticket_priorities/:id`.
    pub async fn get(&self, id: u64) -> Result<TicketPriority> {
        let req = self.client.request(Method::GET, &format!("{PATH}/{id}"));
        self.client.send_json(req).await
    }
}