1use anyhow::{Context, Result};
2use tracing::info;
3use wp_mini::WattpadClient;
4use crate::error::AppError;
5
6pub async fn login(
7 wp_client: &WattpadClient,
8 username: &str,
9 password: &str
10) -> Result<(), AppError> {
11 info!(username, "Attempting to login via core::auth");
12 wp_client
13 .authenticate(username, password)
14 .await
15 .context("Wattpad login request failed")
16 .map_err(|_e| AppError::AuthenticationFailed)?;
17
18 Ok(())
19}
20
21pub async fn logout(wp_client: &WattpadClient) -> Result<()> {
22 info!("Attempting to logout via core::auth");
23 wp_client
24 .deauthenticate()
25 .await
26 .context("Wattpad logout request failed")
27 .map_err(|_| AppError::LogoutFailed)?;
28 Ok(())
29}