fix: bulletproof .gitignore for ALL Go binaries + classifyOperation for any underscore prefix

This commit is contained in:
“Naeel”
2026-06-30 18:13:36 +04:00
parent 48ad16c241
commit 75c1802530
2 changed files with 25 additions and 21 deletions
@@ -519,29 +519,19 @@ func (c *apiClient) collectOperations(ops []operationInfo) ([]OperationSpec, boo
func classifyOperation(name string) (string, string, string) {
// Canonical classification rules:
// - create/modify/delete/suspend/resume -> instance
// - create_*/modify_*/delete_* -> subresource
// - everything else -> action
// - create/modify/delete/suspend/resume (exact match) → instance
// - verb_subresource (any prefix with underscore) → subresource (verb: action, suffix: subresource name)
// - everything else → action
n := strings.ToLower(strings.TrimSpace(name))
if n == "create" || n == "modify" || n == "delete" || n == "suspend" || n == "resume" {
return "instance", n, ""
}
if strings.HasPrefix(n, "create_") {
sub := strings.TrimPrefix(n, "create_")
// Any name with underscore → subresource (e.g. create_user, modify_database, restart_service)
if idx := strings.Index(n, "_"); idx > 0 {
verb := n[:idx]
sub := n[idx+1:]
if sub != "" {
return "subresource", "create", sub
}
}
if strings.HasPrefix(n, "modify_") {
sub := strings.TrimPrefix(n, "modify_")
if sub != "" {
return "subresource", "modify", sub
}
}
if strings.HasPrefix(n, "delete_") {
sub := strings.TrimPrefix(n, "delete_")
if sub != "" {
return "subresource", "delete", sub
return "subresource", verb, sub
}
}
return "action", n, ""