Go CLI: refactor (#16355)

This commit is contained in:
Jin Hai
2026-06-25 20:36:50 +08:00
committed by GitHub
parent 304d9e02bb
commit dbefadd86a
15 changed files with 768 additions and 180 deletions

View File

@@ -396,6 +396,8 @@ func (p *Parser) parseAdminShowCommands() (*Command, error) {
return p.parseAdminShowQuota()
case TokenTasks:
return p.parseAdminShowTasks()
case TokenLog:
return p.parseAdminShowLogCommands()
default:
return nil, fmt.Errorf("unknown SHOW target: %s", p.curToken.Value)
}
@@ -1058,6 +1060,7 @@ func (p *Parser) parseAdminCreateCommand() (*Command, error) {
}
}
// CREATE USER 'user@example.com' 'password';
func (p *Parser) parseAdminCreateUser() (*Command, error) {
p.nextToken() // consume USER
userName, err := p.parseQuotedString()
@@ -1649,6 +1652,8 @@ func (p *Parser) parseAdminSetCommand() (*Command, error) {
return p.parseAdminSetVariable()
case TokenRole:
return p.parseAdminSetRoleDefaultModel()
case TokenLog:
return p.parseAdminSetLog()
default:
return nil, fmt.Errorf("unknown SET target: %s", p.curToken.Value)
}
@@ -1660,7 +1665,7 @@ func (p *Parser) parseAdminSetLicense() (*Command, error) {
if p.curToken.Type == TokenConfig {
p.nextToken() // consume CONFIG
// SET LICENSE CONFIG <number1> <number2>
cmd := NewCommand("admin_set_license_config_command")
cmd := NewCommand("admin_set_license_config")
number1, err := p.parseNumber()
if err != nil {
return nil, err
@@ -1682,7 +1687,7 @@ func (p *Parser) parseAdminSetLicense() (*Command, error) {
}
p.nextToken()
cmd := NewCommand("admin_set_license_command")
cmd := NewCommand("admin_set_license")
cmd.Params["license"] = license
// Semicolon is optional
@@ -1706,7 +1711,7 @@ func (p *Parser) parseAdminSetVariable() (*Command, error) {
return nil, err
}
cmd := NewCommand("set_variable")
cmd := NewCommand("admin_set_variable")
cmd.Params["var_name"] = varName
cmd.Params["var_value"] = varValue
@@ -1778,6 +1783,45 @@ func (p *Parser) parseAdminSetRoleDefaultModel() (*Command, error) {
return cmd, nil
}
func (p *Parser) parseAdminSetLog() (*Command, error) {
p.nextToken() // consume LOG
switch p.curToken.Type {
case TokenLevel:
return p.parseAdminSetLogLevel()
default:
return nil, fmt.Errorf("unknown log target: %s", p.curToken.Value)
}
}
func (p *Parser) parseAdminSetLogLevel() (*Command, error) {
p.nextToken() // consume LEVEL
cmd := NewCommand("admin_set_log_level")
switch p.curToken.Type {
case TokenDebug:
cmd.Params["level"] = "debug"
case TokenInfo:
cmd.Params["level"] = "info"
case TokenWarn:
cmd.Params["level"] = "warn"
case TokenError:
cmd.Params["level"] = "error"
case TokenFatal:
cmd.Params["level"] = "fatal"
case TokenPanic:
cmd.Params["level"] = "panic"
default:
return nil, fmt.Errorf("unknown log level: %s", p.curToken.Value)
}
p.nextToken()
// Semicolon is optional
if p.curToken.Type == TokenSemicolon {
p.nextToken()
}
return cmd, nil
}
func (p *Parser) parseAdminResetCommand() (*Command, error) {
p.nextToken() // consume RESET
@@ -2695,6 +2739,30 @@ func (p *Parser) parseAdminShowTasks() (*Command, error) {
return cmd, nil
}
func (p *Parser) parseAdminShowLogCommands() (*Command, error) {
p.nextToken() // consume LOG
switch p.curToken.Type {
case TokenLevel:
return p.parseAdminShowLogLevel()
default:
return nil, fmt.Errorf("expected LEVEL after LOG")
}
}
func (p *Parser) parseAdminShowLogLevel() (*Command, error) {
p.nextToken() // consume LEVEL
cmd := NewCommand("admin_show_log_level")
// Semicolon is optional
if p.curToken.Type == TokenSemicolon {
p.nextToken()
}
return cmd, nil
}
// PURGE PREVIEW ORPHAN
// PURGE ORPHAN