Whoami
continuous-integration/drone/pr Build is failing
Details
continuous-integration/drone/pr Build is failing
Details
This commit is contained in:
parent
f002f5cf3e
commit
7e94135839
|
@ -2202,6 +2202,7 @@ dependencies = [
|
||||||
name = "peach-config"
|
name = "peach-config"
|
||||||
version = "0.1.25"
|
version = "0.1.25"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
|
"async-std",
|
||||||
"clap",
|
"clap",
|
||||||
"env_logger 0.6.2",
|
"env_logger 0.6.2",
|
||||||
"golgi",
|
"golgi",
|
||||||
|
|
|
@ -38,3 +38,4 @@ lazy_static = "1.4.0"
|
||||||
peach-lib = { path = "../peach-lib" }
|
peach-lib = { path = "../peach-lib" }
|
||||||
rpassword = "5.0"
|
rpassword = "5.0"
|
||||||
golgi = { git = "https://git.coopcloud.tech/golgi-ssb/golgi.git" }
|
golgi = { git = "https://git.coopcloud.tech/golgi-ssb/golgi.git" }
|
||||||
|
async-std = "1.10.0"
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#![allow(clippy::nonstandard_macro_braces)]
|
#![allow(clippy::nonstandard_macro_braces)]
|
||||||
|
use golgi::error::GolgiError;
|
||||||
use peach_lib::error::PeachError;
|
use peach_lib::error::PeachError;
|
||||||
pub use snafu::ResultExt;
|
pub use snafu::ResultExt;
|
||||||
use snafu::Snafu;
|
use snafu::Snafu;
|
||||||
|
@ -35,6 +36,10 @@ pub enum PeachConfigError {
|
||||||
ChangePasswordError { source: PeachError },
|
ChangePasswordError { source: PeachError },
|
||||||
#[snafu(display("Entered passwords did not match. Please try again."))]
|
#[snafu(display("Entered passwords did not match. Please try again."))]
|
||||||
InvalidPassword,
|
InvalidPassword,
|
||||||
|
#[snafu(display("Error in peach lib: {}", source))]
|
||||||
|
PeachLibError { source: PeachError },
|
||||||
|
#[snafu(display("Error in golgi: {}", source))]
|
||||||
|
Golgi { source: GolgiError },
|
||||||
}
|
}
|
||||||
|
|
||||||
impl From<std::io::Error> for PeachConfigError {
|
impl From<std::io::Error> for PeachConfigError {
|
||||||
|
@ -51,3 +56,15 @@ impl From<serde_json::Error> for PeachConfigError {
|
||||||
PeachConfigError::SerdeError { source: err }
|
PeachConfigError::SerdeError { source: err }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl From<PeachError> for PeachConfigError {
|
||||||
|
fn from(err: PeachError) -> PeachConfigError {
|
||||||
|
PeachConfigError::PeachLibError { source: err }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<GolgiError> for PeachConfigError {
|
||||||
|
fn from(err: GolgiError) -> PeachConfigError {
|
||||||
|
PeachConfigError::Golgi { source: err }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -6,6 +6,7 @@ mod set_permissions;
|
||||||
mod setup_networking;
|
mod setup_networking;
|
||||||
mod setup_peach;
|
mod setup_peach;
|
||||||
mod setup_peach_deb;
|
mod setup_peach_deb;
|
||||||
|
mod status;
|
||||||
mod update;
|
mod update;
|
||||||
mod utils;
|
mod utils;
|
||||||
|
|
||||||
|
@ -106,7 +107,7 @@ arg_enum! {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() {
|
async fn run() {
|
||||||
// initialize the logger
|
// initialize the logger
|
||||||
env_logger::init();
|
env_logger::init();
|
||||||
|
|
||||||
|
@ -159,12 +160,23 @@ fn main() {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
PeachConfig::WhoAmI => match status::who_am_i() {
|
PeachConfig::WhoAmI => match status::whoami().await {
|
||||||
Ok(sbot_id) => {sbot_id}
|
Ok(sbot_id) => {
|
||||||
|
println!("{:?}", sbot_id);
|
||||||
|
{}
|
||||||
|
}
|
||||||
Err(err) => {
|
Err(err) => {
|
||||||
error!("1")
|
error!("sbot whoami encountered an error: {}", err)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Enable an async main function and execute the `run()` function,
|
||||||
|
// catching any errors and printing them to `stderr` before exiting the
|
||||||
|
// process.
|
||||||
|
#[async_std::main]
|
||||||
|
async fn main() {
|
||||||
|
run().await;
|
||||||
|
}
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
use crate::error::PeachConfigError;
|
use crate::error::PeachConfigError;
|
||||||
use crate::ChangePasswordOpts;
|
|
||||||
use peach_lib::password_utils::set_new_password;
|
|
||||||
use peach_lib::sbot::init_sbot;
|
use peach_lib::sbot::init_sbot;
|
||||||
|
|
||||||
use golgi::Sbot;
|
|
||||||
|
|
||||||
/// Utility function to check if sbot is running via the whoami method
|
/// Utility function to check if sbot is running via the whoami method
|
||||||
pub fn whoami() -> Result<bool, PeachConfigError> {
|
pub async fn whoami() -> Result<String, PeachConfigError> {
|
||||||
let sbot = init_sbot()?;
|
let mut sbot = init_sbot().await?;
|
||||||
sbot.whoami()
|
let sbot_id = sbot.whoami().await?;
|
||||||
|
Ok(sbot_id)
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
//! Error handling for various aspects of the PeachCloud system, including the network, OLED, stats and dyndns JSON-RPC clients, as well as the configuration manager, sbot client and password utilities.
|
//! Error handling for various aspects of the PeachCloud system, including the network, OLED, stats and dyndns JSON-RPC clients, as well as the configuration manager, sbot client and password utilities.
|
||||||
|
|
||||||
use std::{io, str, string};
|
use std::{io, str, string};
|
||||||
|
use golgi::GolgiError;
|
||||||
|
|
||||||
/// This type represents all possible errors that can occur when interacting with the PeachCloud library.
|
/// This type represents all possible errors that can occur when interacting with the PeachCloud library.
|
||||||
#[derive(Debug)]
|
#[derive(Debug)]
|
||||||
|
@ -102,6 +103,9 @@ pub enum PeachError {
|
||||||
/// The file path for the write attempt.
|
/// The file path for the write attempt.
|
||||||
path: String,
|
path: String,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/// Represents a Golgi error
|
||||||
|
Golgi(GolgiError),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl std::error::Error for PeachError {
|
impl std::error::Error for PeachError {
|
||||||
|
@ -130,6 +134,7 @@ impl std::error::Error for PeachError {
|
||||||
PeachError::Utf8ToStr(_) => None,
|
PeachError::Utf8ToStr(_) => None,
|
||||||
PeachError::Utf8ToString(_) => None,
|
PeachError::Utf8ToString(_) => None,
|
||||||
PeachError::Write { ref source, .. } => Some(source),
|
PeachError::Write { ref source, .. } => Some(source),
|
||||||
|
PeachError::Golgi(_) => None,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -187,6 +192,7 @@ impl std::fmt::Display for PeachError {
|
||||||
PeachError::Write { ref path, .. } => {
|
PeachError::Write { ref path, .. } => {
|
||||||
write!(f, "Write error: {}", path)
|
write!(f, "Write error: {}", path)
|
||||||
}
|
}
|
||||||
|
PeachError::Golgi(ref err) => err.fmt(f),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
use std::{fs, fs::File, io, io::Write, path::PathBuf, process::Command, str};
|
use std::{fs, fs::File, io, io::Write, path::PathBuf, process::Command, str};
|
||||||
|
|
||||||
use golgi::{
|
use golgi::{
|
||||||
api::friends::RelationshipQuery, blobs, messages::SsbMessageValue, sbot::Keystore, Sbot,
|
sbot::Keystore, Sbot,
|
||||||
};
|
};
|
||||||
use log::debug;
|
use log::debug;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue