boreholeio 0.1.0

A library for interacting with borehole.io, a subsurface data management, delivery and visualisation platform
Documentation
use serde::Serialize;

use crate::{
    client::{internal_client::HttpRequestType, BoreholeIoClient, Result},
    schema::{Device, Uuid},
};

#[serde_with::skip_serializing_none]
#[derive(Default, Serialize)]
pub struct RegisterParams {
    pub id: Option<Uuid>,
    pub device: Option<Device>,
    pub application_name: Option<String>,
    pub application_version: Option<String>,
    pub public_key: Option<String>,
    pub new_jwt: Option<String>,
}

// TODO: Do the error handling in here, then turn it into a more sensible error. maybe
pub async fn register(client: &BoreholeIoClient, params: RegisterParams) -> Result<()> {
    client
        .web_client
        .send_request_no_data(
            (client.base_url() + "/application/register").as_str(),
            HttpRequestType::Post,
            params,
        )
        .await
}