yao/sui/api/process.go
2023-09-27 19:13:25 +08:00

47 lines
1.1 KiB
Go

package api
import (
"github.com/yaoapp/gou/process"
"github.com/yaoapp/kun/exception"
"github.com/yaoapp/yao/sui/core"
)
func init() {
process.RegisterGroup("sui", map[string]process.Handler{
"template.get": TemplateGet,
"template.find": TemplateFind,
})
}
// TemplateGet handle the get Template request
// Process sui.<ID>.templates
func TemplateGet(process *process.Process) interface{} {
process.ValidateArgNums(1)
sui := get(process)
templates, err := sui.GetTemplates()
if err != nil {
exception.New(err.Error(), 500).Throw()
}
return templates
}
// TemplateFind handle the find Template request
func TemplateFind(process *process.Process) interface{} {
process.ValidateArgNums(2)
sui := get(process)
template, err := sui.GetTemplate(process.ArgsString(1))
if err != nil {
exception.New(err.Error(), 500).Throw()
}
return template
}
// get the sui
func get(process *process.Process) core.SUI {
sui, has := core.SUIs[process.ArgsString(0)]
if !has {
exception.New("the sui %s does not exist", 404, process.ID).Throw()
}
return sui
}