smbcloud-networking-account 0.3.25

Command line tool for deploying NextJS app on the smbCloud platform.
Documentation
use reqwest::Client;
use smbcloud_model::{error_codes::ErrorResponse, login::LoginArgs, login::LoginResult};
use smbcloud_network::{environment::Environment, network::request};
use smbcloud_networking::{
    constants::{PATH_USERS_SIGN_IN, SMB_USER_AGENT},
    smb_base_url_builder,
};

pub async fn login(
    env: Environment,
    username: String,
    password: String,
) -> Result<LoginResult, ErrorResponse> {
    let login_params = LoginArgs { username, password };
    let builder = Client::new()
        .post(build_smb_login_url(env))
        .json(&login_params)
        .header("User-agent", SMB_USER_AGENT);
    request(builder).await
}

pub(crate) fn build_smb_login_url(env: Environment) -> String {
    let mut url_builder = smb_base_url_builder(env);
    url_builder.add_route(PATH_USERS_SIGN_IN);
    url_builder.build()
}