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>,
}
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
}