Go: fix list services (#17664)

### Summary

1. Fix admin list services;
2. Fix admin show service 'service_name';

Signed-off-by: Jin Hai <haijin.chn@gmail.com>
This commit is contained in:
Jin Hai
2026-08-01 14:52:37 +08:00
committed by GitHub
parent 776b9371f7
commit 26a5af8b83
19 changed files with 262 additions and 329 deletions

View File

@@ -586,9 +586,12 @@ func (c *CLI) AdminStartServiceCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("this command is only allowed in ADMIN mode or already login")
}
serviceIndex := cmd.Params["service_index"].(int)
serviceName, ok := cmd.Params["service_name"].(string)
if !ok {
return nil, fmt.Errorf("service_name not provided")
}
endPoint := fmt.Sprintf("/admin/services/%d", serviceIndex)
endPoint := fmt.Sprintf("/admin/services/%s", serviceName)
resp, err := c.AdminServerClient.Request("POST", endPoint, "admin", nil, nil)
if err != nil {
@@ -604,9 +607,12 @@ func (c *CLI) AdminRestartServiceCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("this command is only allowed in ADMIN mode or already login")
}
serviceIndex := cmd.Params["service_index"].(int)
serviceName, ok := cmd.Params["service_name"].(string)
if !ok {
return nil, fmt.Errorf("service_name not provided")
}
endPoint := fmt.Sprintf("/admin/services/%d", serviceIndex)
endPoint := fmt.Sprintf("/admin/services/%s", serviceName)
resp, err := c.AdminServerClient.Request("PUT", endPoint, "admin", nil, nil)
if err != nil {
@@ -622,9 +628,12 @@ func (c *CLI) AdminShutdownServiceCommand(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("this command is only allowed in ADMIN mode or already login")
}
serviceIndex := cmd.Params["service_index"].(int)
serviceName, ok := cmd.Params["service_name"].(string)
if !ok {
return nil, fmt.Errorf("service_name not provided")
}
endPoint := fmt.Sprintf("/admin/services/%d", serviceIndex)
endPoint := fmt.Sprintf("/admin/services/%s", serviceName)
resp, err := c.AdminServerClient.Request("DELETE", endPoint, "admin", nil, nil)
if err != nil {
@@ -640,9 +649,12 @@ func (c *CLI) AdminShowService(cmd *Command) (ResponseIf, error) {
return nil, fmt.Errorf("this command is only allowed in ADMIN mode or already login")
}
serviceIndex := cmd.Params["service_index"].(int)
serviceName, ok := cmd.Params["service_name"].(string)
if !ok {
return nil, fmt.Errorf("service_name not provided")
}
endPoint := fmt.Sprintf("/admin/services/%d", serviceIndex)
endPoint := fmt.Sprintf("/admin/services/%s", serviceName)
resp, err := c.AdminServerClient.Request("GET", endPoint, "admin", nil, nil)
if err != nil {

View File

@@ -435,13 +435,13 @@ func (p *Parser) parseAdminShowCommands() (*Command, error) {
func (p *Parser) parseAdminShowService() (*Command, error) {
p.nextToken() // consume SERVICE
serviceIndex, err := p.parseNumber()
serviceName, err := p.parseQuotedString()
if err != nil {
return nil, err
}
cmd := NewCommand("admin_show_service")
cmd.Params["service_index"] = serviceIndex
cmd.Params["service_name"] = serviceName
p.nextToken()
// Semicolon is optional
@@ -2097,13 +2097,13 @@ func (p *Parser) parseAdminStartService() (*Command, error) {
}
p.nextToken()
serviceIndex, err := p.parseNumber()
serviceName, err := p.parseQuotedString()
if err != nil {
return nil, err
}
cmd := NewCommand("admin_start_service")
cmd.Params["service_index"] = serviceIndex
cmd.Params["service_name"] = serviceName
p.nextToken()
// Semicolon is optional
@@ -2129,13 +2129,13 @@ func (p *Parser) parseAdminShutdownCommands() (*Command, error) {
func (p *Parser) parseAdminShutdownService() (*Command, error) {
p.nextToken() // consume SERVICE
serviceIndex, err := p.parseNumber()
serviceName, err := p.parseQuotedString()
if err != nil {
return nil, err
}
cmd := NewCommand("admin_shutdown_service")
cmd.Params["service_index"] = serviceIndex
cmd.Params["service_name"] = serviceName
p.nextToken()
// Semicolon is optional
@@ -2171,13 +2171,13 @@ func (p *Parser) parseAdminRestart() (*Command, error) {
}
p.nextToken()
serviceIndex, err := p.parseNumber()
serviceName, err := p.parseQuotedString()
if err != nil {
return nil, err
}
cmd := NewCommand("admin_restart_service")
cmd.Params["service_index"] = serviceIndex
cmd.Params["service_name"] = serviceName
p.nextToken()
// Semicolon is optional