···
use git2::{build::RepoBuilder, Cred, FetchOptions, RemoteCallbacks};
5
-
use tangled_config::session::SessionManager;
Cli, OutputFormat, RepoCloneArgs, RepoCommand, RepoCreateArgs, RepoDeleteArgs, RepoInfoArgs,
···
async fn list(cli: &Cli, args: RepoListArgs) -> Result<()> {
25
-
let mgr = SessionManager::default();
26
-
let session = match mgr.load()? {
28
-
None => return Err(anyhow!("Please login first: tangled auth login")),
24
+
let session = crate::util::load_session_with_refresh().await?;
// Use the PDS to list repo records for the user
···
async fn create(args: RepoCreateArgs) -> Result<()> {
66
-
let mgr = SessionManager::default();
67
-
let session = match mgr.load()? {
69
-
None => return Err(anyhow!("Please login first: tangled auth login")),
61
+
let session = crate::util::load_session_with_refresh().await?;
let base = std::env::var("TANGLED_API_BASE").unwrap_or_else(|_| "https://tngl.sh".into());
let client = tangled_api::TangledClient::new(base);
···
async fn clone(args: RepoCloneArgs) -> Result<()> {
100
-
let mgr = SessionManager::default();
103
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
91
+
let session = crate::util::load_session_with_refresh().await?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
async fn info(args: RepoInfoArgs) -> Result<()> {
167
-
let mgr = SessionManager::default();
170
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
155
+
let session = crate::util::load_session_with_refresh().await?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
async fn delete(args: RepoDeleteArgs) -> Result<()> {
238
-
let mgr = SessionManager::default();
241
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
223
+
let session = crate::util::load_session_with_refresh().await?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
async fn star(args: RepoRefArgs) -> Result<()> {
261
-
let mgr = SessionManager::default();
264
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
243
+
let session = crate::util::load_session_with_refresh().await?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
async fn unstar(args: RepoRefArgs) -> Result<()> {
284
-
let mgr = SessionManager::default();
287
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
263
+
let session = crate::util::load_session_with_refresh().await?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);