dashboards.go 914 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. package models
  2. import (
  3. "encoding/json"
  4. "io"
  5. )
  6. type Dashboard struct {
  7. Data map[string]interface{}
  8. }
  9. type SearchResult struct {
  10. Type string `json:"title"`
  11. Id string `json:"id"`
  12. Title string `json:"title"`
  13. }
  14. func NewDashboard(title string) *Dashboard {
  15. dash := &Dashboard{}
  16. dash.Data = make(map[string]interface{})
  17. dash.Data["title"] = title
  18. return dash
  19. }
  20. func NewFromJson(reader io.Reader) (*Dashboard, error) {
  21. dash := NewDashboard("temp")
  22. jsonParser := json.NewDecoder(reader)
  23. if err := jsonParser.Decode(&dash.Data); err != nil {
  24. return nil, err
  25. }
  26. return dash, nil
  27. }
  28. /*type DashboardServices struct {
  29. }
  30. type DashboardServicesFilter struct {
  31. }
  32. type DashboardServicesFilterTime struct {
  33. From string To string
  34. }*/
  35. func (dash *Dashboard) GetString(prop string) string {
  36. return dash.Data[prop].(string)
  37. }
  38. func (dash *Dashboard) Title() string {
  39. return dash.GetString("title")
  40. }