Move Report and Series definitions to be in line with others

This commit is contained in:
Aaron Lindsay 2017-02-11 14:59:08 -05:00
parent 9b3e08fa78
commit 5d583a2315
2 changed files with 22 additions and 21 deletions

View File

@ -2,6 +2,7 @@ package main
import (
"context"
"encoding/json"
"errors"
"github.com/yuin/gopher-lua"
"log"
@ -23,6 +24,26 @@ const (
const luaTimeoutSeconds time.Duration = 5 // maximum time a lua request can run for
type Series struct {
Values []float64
Children map[string]*Series
}
type Report struct {
ReportId string
Title string
Subtitle string
XAxisLabel string
YAxisLabel string
Labels []string
Series map[string]*Series
}
func (r *Report) Write(w http.ResponseWriter) error {
enc := json.NewEncoder(w)
return enc.Encode(r)
}
func runReport(user *User, reportpath string) (*Report, error) {
// Create a new LState without opening the default libs for security
L := lua.NewState(lua.Options{SkipOpenLibs: true})
@ -113,6 +134,7 @@ func ReportHandler(w http.ResponseWriter, r *http.Request) {
log.Print(err)
return
}
report.ReportId = reportname
err = report.Write(w)
if err != nil {

View File

@ -1,33 +1,12 @@
package main
import (
"encoding/json"
"github.com/yuin/gopher-lua"
"net/http"
)
const luaReportTypeName = "report"
const luaSeriesTypeName = "series"
type Series struct {
Values []float64
Children map[string]*Series
}
type Report struct {
Title string
Subtitle string
XAxisLabel string
YAxisLabel string
Labels []string
Series map[string]*Series
}
func (r *Report) Write(w http.ResponseWriter) error {
enc := json.NewEncoder(w)
return enc.Encode(r)
}
func luaRegisterReports(L *lua.LState) {
mtr := L.NewTypeMetatable(luaReportTypeName)
L.SetGlobal("report", mtr)