···
use git2::{build::RepoBuilder, Cred, FetchOptions, RemoteCallbacks};
-
use tangled_config::session::SessionManager;
Cli, OutputFormat, RepoCloneArgs, RepoCommand, RepoCreateArgs, RepoDeleteArgs, RepoInfoArgs,
···
async fn list(cli: &Cli, args: RepoListArgs) -> Result<()> {
-
let mgr = SessionManager::default();
-
let session = match mgr.load()? {
-
None => return Err(anyhow!("Please login first: tangled auth login")),
// Use the PDS to list repo records for the user
···
async fn create(args: RepoCreateArgs) -> Result<()> {
-
let mgr = SessionManager::default();
-
let session = match mgr.load()? {
-
None => return Err(anyhow!("Please login first: tangled auth login")),
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<()> {
-
let mgr = SessionManager::default();
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
async fn info(args: RepoInfoArgs) -> Result<()> {
-
let mgr = SessionManager::default();
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
async fn delete(args: RepoDeleteArgs) -> Result<()> {
-
let mgr = SessionManager::default();
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
async fn star(args: RepoRefArgs) -> Result<()> {
-
let mgr = SessionManager::default();
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
async fn unstar(args: RepoRefArgs) -> Result<()> {
-
let mgr = SessionManager::default();
-
.ok_or_else(|| anyhow!("Please login first: tangled auth login"))?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);
···
use git2::{build::RepoBuilder, Cred, FetchOptions, RemoteCallbacks};
Cli, OutputFormat, RepoCloneArgs, RepoCommand, RepoCreateArgs, RepoDeleteArgs, RepoInfoArgs,
···
async fn list(cli: &Cli, args: RepoListArgs) -> Result<()> {
+
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<()> {
+
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<()> {
+
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<()> {
+
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<()> {
+
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<()> {
+
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<()> {
+
let session = crate::util::load_session_with_refresh().await?;
let (owner, name) = parse_repo_ref(&args.repo, &session.handle);