fortnox 0.1.3

A library for integrating with Fortnox.
Documentation
use crate::{Customer, Error, Gateway, BASE_URL};
use serde::{Deserialize, Serialize};

impl Gateway {
    pub async fn add_customer<'a>(&self, customer: &'a Customer) -> Result<Customer, Error> {
        #[derive(Serialize)]
        #[serde(rename_all = "PascalCase")]
        struct Request<'a> {
            customer: &'a Customer,
        }

        let body = Request {
            customer: &customer,
        };

        let url = format!("{}/customers", BASE_URL);

        #[derive(Deserialize)]
        #[serde(rename_all = "PascalCase")]
        struct Response {
            customer: Customer,
        }

        let res: Response = self.post(&url, &body).await?;
        Ok(res.customer)
    }
}