fix: address P0-2b review issues - build tag and actionType guard

1. Add //go:build !cgo to control_host_test.go so the stub-testing
   tests only run in non-CGO builds, matching the stub.go build
   constraint. Clean up dead nil check in SignatureCompiles test.

2. Replace two independent if-statements for actionType mapping in
   ControlHost with a map lookup + explicit guard, consistent with
   ControlQueue's ActionMap pattern. Prevents silent zero-value
   actionType if SupportedHostActions expands later.
This commit is contained in:
Rongsong Shen 2026-04-17 08:25:05 +00:00
parent 8124cda83e
commit 5807a05cbb
2 changed files with 11 additions and 9 deletions

View file

@ -407,12 +407,15 @@ func (h *HostHandler) ControlHost(ctx *gin.Context) {
ReturnError(ctx, common.ERROR_CODE, err.Error(), nil)
return
}
var actionType int
if baseAction == "close" {
actionType = models.HOST_CLOSE
hostActionMap := map[string]int{
"open": models.HOST_OPEN,
"close": models.HOST_CLOSE,
}
if baseAction == "open" {
actionType = models.HOST_OPEN
actionType, exists := hostActionMap[baseAction]
if !exists {
logger.Error("Unsupported action type", zap.String("baseAction", baseAction))
ReturnError(ctx, common.INVALID_PARAMS_CODE, "Unsupported action type: "+baseAction, nil)
return
}
successHosts := []map[string]interface{}{}