You've already forked AstralRinth
forked from didirus/AstralRinth
box::pin in run(),clippy (#115)
This commit is contained in:
@@ -391,23 +391,26 @@ pub async fn remove_project(
|
|||||||
/// failing with an error if no credentials are available
|
/// failing with an error if no credentials are available
|
||||||
#[tracing::instrument]
|
#[tracing::instrument]
|
||||||
pub async fn run(path: &Path) -> crate::Result<Arc<RwLock<MinecraftChild>>> {
|
pub async fn run(path: &Path) -> crate::Result<Arc<RwLock<MinecraftChild>>> {
|
||||||
let state = State::get().await?;
|
Box::pin(async move {
|
||||||
|
let state = State::get().await?;
|
||||||
|
|
||||||
// Get default account and refresh credentials (preferred way to log in)
|
// Get default account and refresh credentials (preferred way to log in)
|
||||||
let default_account = state.settings.read().await.default_user;
|
let default_account = state.settings.read().await.default_user;
|
||||||
let credentials = if let Some(default_account) = default_account {
|
let credentials = if let Some(default_account) = default_account {
|
||||||
refresh(default_account).await?
|
refresh(default_account).await?
|
||||||
} else {
|
|
||||||
// If no default account, try to use a logged in account
|
|
||||||
let users = auth::users().await?;
|
|
||||||
let last_account = users.first();
|
|
||||||
if let Some(last_account) = last_account {
|
|
||||||
refresh(last_account.id).await?
|
|
||||||
} else {
|
} else {
|
||||||
return Err(crate::ErrorKind::NoCredentialsError.as_error());
|
// If no default account, try to use a logged in account
|
||||||
}
|
let users = auth::users().await?;
|
||||||
};
|
let last_account = users.first();
|
||||||
run_credentials(path, &credentials).await
|
if let Some(last_account) = last_account {
|
||||||
|
refresh(last_account.id).await?
|
||||||
|
} else {
|
||||||
|
return Err(crate::ErrorKind::NoCredentialsError.as_error());
|
||||||
|
}
|
||||||
|
};
|
||||||
|
run_credentials(path, &credentials).await
|
||||||
|
})
|
||||||
|
.await
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Run Minecraft using a profile, and credentials for authentication
|
/// Run Minecraft using a profile, and credentials for authentication
|
||||||
|
|||||||
@@ -216,7 +216,7 @@ pub async fn profile_edit(
|
|||||||
path: &Path,
|
path: &Path,
|
||||||
edit_profile: EditProfile,
|
edit_profile: EditProfile,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
profile::edit(&path, |prof| {
|
profile::edit(path, |prof| {
|
||||||
if let Some(metadata) = edit_profile.metadata.clone() {
|
if let Some(metadata) = edit_profile.metadata.clone() {
|
||||||
if let Some(name) = metadata.name {
|
if let Some(name) = metadata.name {
|
||||||
prof.metadata.name = name
|
prof.metadata.name = name
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
use dunce::canonicalize;
|
use dunce::canonicalize;
|
||||||
use theseus::jre::autodetect_java_globals;
|
use theseus::jre::autodetect_java_globals;
|
||||||
use theseus::prelude::*;
|
use theseus::prelude::*;
|
||||||
use theseus::profile::install;
|
|
||||||
use theseus::profile_create::profile_create;
|
|
||||||
|
|
||||||
use tokio::time::{sleep, Duration};
|
use tokio::time::{sleep, Duration};
|
||||||
use tracing_error::ErrorLayer;
|
use tracing_error::ErrorLayer;
|
||||||
|
|||||||
Reference in New Issue
Block a user