9 "github.com/vapor/toolbar/precog/common"
13 ID uint16 `gorm:"primary_key"`
20 LatestDailyUptimeMinutes uint64
22 CreatedAt time.Time `json:"alias"`
23 UpdatedAt time.Time `json:"alias"`
26 func (n *Node) MarshalJSON() ([]byte, error) {
27 status, ok := common.StatusLookupTable[n.Status]
29 return nil, errors.New("fail to look up status")
32 return json.Marshal(&struct {
33 Alias string `json:"alias"`
34 PublicKey string `json:"publickey"`
35 Address string `json:"address"`
36 BestHeight uint64 `json:"best_height"`
37 LatestDailyUptimeMinutes uint64 `json:"latest_daily_uptime_minutes"`
38 Status string `json:"status"`
39 UpdatedAt time.Time `json:"updated_at"`
42 PublicKey: n.PublicKey,
43 Address: fmt.Sprintf("%s:%d", n.IP, n.Port),
44 BestHeight: n.BestHeight,
45 LatestDailyUptimeMinutes: n.LatestDailyUptimeMinutes,
48 UpdatedAt: time.Now(),