app/control/service.go

45 lines
1.2 KiB
Go

package control
import (
"encoding/json"
"github.com/gin-gonic/gin"
"kumoly.io/kumoly/app/auth"
"kumoly.io/kumoly/app/server"
"kumoly.io/kumoly/app/system"
"kumoly.io/kumoly/app/task"
)
type Service struct{}
func (srv Service) GetName() string { return "ctrl.Service" }
func (srv Service) GetDependencies() []string { return []string{"server.Service", "auth.Auth"} }
func (srv Service) IsService() bool { return true }
func (srv Service) Init() error { return nil }
func (srv Service) Main() error { return nil }
func (srv Service) Del() {}
func (srv Service) Health() error { return nil }
func (srv Service) Load() error {
ctlAPI := server.API.Group("ctrl")
ctlAPI.GET("prof", auth.ACAdmin(), func(c *gin.Context) {
server.OK(c, system.GetProfile())
})
ctlAPI.GET("config", auth.ACAdmin(), func(c *gin.Context) {
conf, err := system.ConfigShow("json")
if err != nil {
panic(err)
}
data := map[string]interface{}{}
if err := json.Unmarshal([]byte(conf), data); err != nil {
panic(err)
}
server.OK(c, data)
})
ctlAPI.GET("tasks", auth.ACAdmin(), func(c *gin.Context) {
server.OK(c, task.GetProfile())
})
return nil
}