Files
nadir-agent/internal/module/module.go
T

27 lines
522 B
Go
Raw Normal View History

2026-06-22 16:06:57 +02:00
package module
import (
"nadir/internal/rbac"
"github.com/danielgtaylor/huma/v2"
)
type Module interface {
ID() string
Permissions() []rbac.Permission // permissions this module exposes (no "*")
Register(api huma.API)
}
2026-06-22 16:51:18 +02:00
// Title returns the display name for a module ID, capitalizing the first
// letter (modules are single lowercase words: "system" -> "System").
func Title(id string) string {
if id == "" {
return ""
}
b := id[0]
if b >= 'a' && b <= 'z' {
b -= 'a' - 'A'
}
return string(b) + id[1:]
}