feat: teai role
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// login.go — teai login 指令:管理 tea 相容的登入組態。
|
||||
// login.go — teai login 指令:管理 teai 自己的登入組態。
|
||||
//
|
||||
// teai 與 tea 共用同一份組態檔(README 設計原則 5),login 的職責是:
|
||||
// 組態由 teai 自行讀寫(README 設計原則 5),不依賴 tea。login 的職責是:
|
||||
// 以 token 向站點驗證(GET /user),成功後才寫入組態並記下帳號。
|
||||
// token 只走記憶體與組態檔,不進輸出、日誌或錯誤訊息。
|
||||
//
|
||||
@@ -25,20 +25,20 @@ import (
|
||||
// loginStdin 是讀 token 與確認的輸入(測試可替換)。
|
||||
var loginStdin io.Reader = os.Stdin
|
||||
|
||||
// loginConfigPath 回傳組態檔路徑:--config/TEA_CONFIG 優先,其次
|
||||
// ~/.config/tea/config.yml。找不到可用路徑回空字串。
|
||||
// loginConfigPath 回傳組態檔路徑:--config/TEAI_CONFIG 優先,其次
|
||||
// ~/.config/teai/config.yml。找不到可用路徑回空字串。
|
||||
func loginConfigPath(g Globals) string {
|
||||
if p := strings.TrimSpace(g.ConfigPath); p != "" {
|
||||
return expandHome(p)
|
||||
}
|
||||
if p := os.Getenv("TEA_CONFIG"); strings.TrimSpace(p) != "" {
|
||||
if p := os.Getenv("TEAI_CONFIG"); strings.TrimSpace(p) != "" {
|
||||
return expandHome(strings.TrimSpace(p))
|
||||
}
|
||||
home, err := os.UserHomeDir()
|
||||
if err != nil || home == "" {
|
||||
return ""
|
||||
}
|
||||
return filepath.Join(home, ".config", "tea", "config.yml")
|
||||
return filepath.Join(home, ".config", "teai", "config.yml")
|
||||
}
|
||||
|
||||
// expandHome 展開路徑開頭的 ~。
|
||||
@@ -178,7 +178,7 @@ func runLoginAdd(env *Env, args []string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if err := gitea.SaveTeaConfigFile(path, out); err != nil {
|
||||
if err := gitea.SaveConfigFile(path, out); err != nil {
|
||||
return err
|
||||
}
|
||||
p := gitea.Printer{Format: env.Globals.Output, Out: env.Out}
|
||||
@@ -329,7 +329,7 @@ func saveLoginConfig(env *Env, data []byte) error {
|
||||
if path == "" {
|
||||
return fmt.Errorf("cannot determine config path")
|
||||
}
|
||||
return gitea.SaveTeaConfigFile(path, data)
|
||||
return gitea.SaveConfigFile(path, data)
|
||||
}
|
||||
|
||||
// findLoginByHost 在組態內容中找 URL 主機與 siteURL 相同的登入。
|
||||
@@ -352,7 +352,7 @@ func findLogin(data []byte, name string) (gitea.LoginEntry, bool) {
|
||||
return gitea.LoginEntry{}, false
|
||||
}
|
||||
|
||||
// defaultLoginName 以 URL 主機作為登入名稱(同 tea 的習慣)。
|
||||
// defaultLoginName 以 URL 主機作為登入名稱。
|
||||
func defaultLoginName(rawURL string) string {
|
||||
s := rawURL
|
||||
if !strings.Contains(s, "://") {
|
||||
|
||||
Reference in New Issue
Block a user