mirror of
https://github.com/safing/portbase
synced 2025-09-09 22:05:49 +00:00
Add module status export func and api endpoint
This commit is contained in:
parent
b0e5bc90c2
commit
d21c8e6cda
2 changed files with 137 additions and 0 deletions
|
@ -3,9 +3,21 @@ package api
|
|||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"github.com/safing/portbase/modules"
|
||||
)
|
||||
|
||||
func registerModulesEndpoints() error {
|
||||
if err := RegisterEndpoint(Endpoint{
|
||||
Path: "modules/status",
|
||||
Read: PermitUser,
|
||||
StructFunc: getStatusfunc,
|
||||
Name: "Get Module Status",
|
||||
Description: "Returns status information of all modules.",
|
||||
}); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
if err := RegisterEndpoint(Endpoint{
|
||||
Path: "modules/{moduleName:.+}/trigger/{eventName:.+}",
|
||||
Write: PermitSelf,
|
||||
|
@ -19,6 +31,14 @@ func registerModulesEndpoints() error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func getStatusfunc(ar *Request) (i interface{}, err error) {
|
||||
status := modules.GetStatus()
|
||||
if status == nil {
|
||||
return nil, errors.New("modules not yet initialized")
|
||||
}
|
||||
return status, nil
|
||||
}
|
||||
|
||||
func triggerEvent(ar *Request) (msg string, err error) {
|
||||
// Get parameters.
|
||||
moduleName := ar.URLVars["moduleName"]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue