use std::sync::{Arc, RwLock};
#[allow(unused_imports)]
pub use login::*;
#[allow(unused_imports)]
pub use register::*;
use crate::gateway::Gateway;
use crate::types::Shared;
use crate::{
errors::ChorusResult,
instance::{ChorusUser, Instance},
types::{GatewayIdentifyPayload, User},
};
pub mod login;
pub mod register;
impl Instance {
pub async fn login_with_token(
instance: Shared<Instance>,
token: &str,
) -> ChorusResult<ChorusUser> {
let mut user = ChorusUser::shell(instance, token).await;
user.update_with_login_data(token.to_string(), None).await?;
Ok(user)
}
}