fix: bulletproof .gitignore for ALL Go binaries + classifyOperation for any underscore prefix
This commit is contained in:
@@ -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, ""
|
||||
|
||||
Reference in New Issue
Block a user