Files
urania 2bf11dda91
build-and-release / release (push) Failing after 17m7s
feat: first release
2026-06-22 16:51:18 +02:00

33 lines
760 B
Go

package packages
import (
"nadir/internal/rbac"
"github.com/danielgtaylor/huma/v2"
)
const ModuleID = "packages"
type Module struct {
pm manager // detected package manager; zero value means none found
}
// New detects the host's package manager once at startup.
func New() *Module { return &Module{pm: detect()} }
func (m *Module) ID() string { return ModuleID }
// Permissions: read to list installed/available; write to install, remove, and
// upgrade.
func (m *Module) Permissions() []rbac.Permission {
return []rbac.Permission{rbac.Read, rbac.Write}
}
func (m *Module) Register(api huma.API) {
registerPackages(api, m.pm)
}
func op(permission string) map[string]any {
return map[string]any{"module": ModuleID, "permission": permission}
}