/*
 * This file is part of laurelin_client
 * Copyright (C) 2023 Jonni Liljamo <jonni@liljamo.com>
 *
 * Licensed under GPL-3.0-only.
 * See LICENSE for licensing information.
 */
use serde::Serialize;
use crate::{post_request, NetworkingOptions};
use super::UserToken;
pub type LoginResponse = Result<UserToken, ()>;
#[derive(Serialize)]
struct LoginPost {
    email: String,
    password: String,
}
pub fn login(no: &NetworkingOptions, email: &str, password: &str) -> LoginResponse {
    let res = post_request!(
        no,
        "/user/token",
        &LoginPost {
            email: email.to_string(),
            password: password.to_string(),
        }
    );
    Ok(res.json().unwrap())
}