fix(install): adapt -getApiToken CLI to multi-token service

settingService.GetApiToken was removed when API tokens moved to a
multi-row ApiTokenService. Switch the install-time CLI to list tokens
and create one named "install" if none exist, preserving the
`apiToken: <value>` output the install.sh grep depends on.
This commit is contained in:
MHSanaei 2026-05-13 19:19:51 +02:00
parent 68e8277f92
commit 8f7de576af
No known key found for this signature in database
GPG key ID: 7E4060F2FBE5AB7A

27
main.go
View file

@ -391,17 +391,26 @@ func GetListenIP(getListen bool) {
} }
} }
// GetApiToken displays the current API token if getApiToken is true.
func GetApiToken(getApiToken bool) { func GetApiToken(getApiToken bool) {
if getApiToken { if !getApiToken {
settingService := service.SettingService{} return
apiToken, err := settingService.GetApiToken()
if err != nil {
fmt.Println("get apiToken failed, error info:", err)
return
}
fmt.Println("apiToken:", apiToken)
} }
apiTokenService := service.ApiTokenService{}
tokens, err := apiTokenService.List()
if err != nil {
fmt.Println("get apiToken failed, error info:", err)
return
}
if len(tokens) > 0 {
fmt.Println("apiToken:", tokens[0].Token)
return
}
created, err := apiTokenService.Create("install")
if err != nil {
fmt.Println("create apiToken failed, error info:", err)
return
}
fmt.Println("apiToken:", created.Token)
} }
// migrateDb performs database migration operations for the 3x-ui panel. // migrateDb performs database migration operations for the 3x-ui panel.