mirror of
https://gitea.com/gitea/tea.git
synced 2026-09-10 07:26:33 -04:00
Add `tea login status` to verify the stored token for one or all configured logins. It reports login validity, auth method, token expiry, and whether the git credential helper is configured, and captures OAuth refresh failures instead of exiting. Fixes #1087
58 lines
1.2 KiB
Go
58 lines
1.2 KiB
Go
// Copyright 2020 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
package cmd
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"gitea.dev/tea/cmd/login"
|
|
"gitea.dev/tea/modules/config"
|
|
"gitea.dev/tea/modules/print"
|
|
|
|
"github.com/urfave/cli/v3"
|
|
)
|
|
|
|
// CmdLogin represents to login a gitea server.
|
|
var CmdLogin = cli.Command{
|
|
Name: "logins",
|
|
Aliases: []string{"login"},
|
|
Category: catSetup,
|
|
Usage: "Log in to a Gitea server",
|
|
Description: `Log in to a Gitea server`,
|
|
ArgsUsage: "[<login name>]",
|
|
Action: runLogins,
|
|
Commands: []*cli.Command{
|
|
&login.CmdLoginList,
|
|
&login.CmdLoginAdd,
|
|
&login.CmdLoginEdit,
|
|
&login.CmdLoginDelete,
|
|
&login.CmdLoginSetDefault,
|
|
&login.CmdLoginHelper,
|
|
&login.CmdLoginOAuthRefresh,
|
|
&login.CmdLoginStatus,
|
|
},
|
|
}
|
|
|
|
func runLogins(ctx context.Context, cmd *cli.Command) error {
|
|
if cmd.Args().Len() == 1 {
|
|
return runLoginDetail(cmd.Args().First())
|
|
}
|
|
return login.RunLoginList(ctx, cmd)
|
|
}
|
|
|
|
func runLoginDetail(name string) error {
|
|
l, err := config.GetLoginByName(name)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
if l == nil {
|
|
fmt.Printf("Login '%s' do not exist\n\n", name)
|
|
return nil
|
|
}
|
|
|
|
print.LoginDetails(l)
|
|
return nil
|
|
}
|