2
0
This commit is contained in:
2026-03-30 14:48:04 +09:00
parent 3fc12fbad4
commit 7b8e34d990
2 changed files with 39 additions and 0 deletions

View File

@@ -73,6 +73,35 @@ fn load_networks(networks_path: &str) -> Result<HashMap<String, Network>> {
Ok(serde_json::from_str(DEFAULT_NETWORKS)?) Ok(serde_json::from_str(DEFAULT_NETWORKS)?)
} }
/// Show current session info (PDS, DID, handle)
pub fn show_session(is_bot: bool) -> Result<()> {
use super::oauth;
use super::token;
let has_oauth = oauth::has_oauth_session(is_bot);
let session = if is_bot {
token::load_bot_session()?
} else {
token::load_session()?
};
let mut info = serde_json::json!({
"did": session.did,
"handle": session.handle,
"pds": session.pds.as_deref().unwrap_or("bsky.social"),
"auth": if has_oauth { "oauth" } else { "legacy" },
});
if has_oauth {
if let Ok(oauth_session) = oauth::load_oauth_session(is_bot) {
info["issuer"] = serde_json::json!(oauth_session.issuer);
}
}
println!("{}", serde_json::to_string_pretty(&info)?);
Ok(())
}
pub async fn check_versions(networks_path: &str) -> Result<()> { pub async fn check_versions(networks_path: &str) -> Result<()> {
let networks = load_networks(networks_path)?; let networks = load_networks(networks_path)?;

View File

@@ -362,6 +362,13 @@ enum PdsCommands {
#[arg(short, long, default_value = "public/networks.json")] #[arg(short, long, default_value = "public/networks.json")]
networks: String, networks: String,
}, },
/// Show current session info (PDS, DID, handle)
#[command(alias = "s")]
Session {
/// Show bot session
#[arg(long)]
bot: bool,
},
} }
#[tokio::main] #[tokio::main]
@@ -468,6 +475,9 @@ async fn main() -> Result<()> {
PdsCommands::Version { networks } => { PdsCommands::Version { networks } => {
commands::pds::check_versions(&networks).await?; commands::pds::check_versions(&networks).await?;
} }
PdsCommands::Session { bot } => {
commands::pds::show_session(bot)?;
}
} }
} }
Commands::Oauth { handle, bot } => { Commands::Oauth { handle, bot } => {