mirror of
https://github.com/muety/wakapi.git
synced 2023-08-10 21:12:56 +03:00
55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
package v1
|
|
|
|
import (
|
|
"strconv"
|
|
"time"
|
|
|
|
"github.com/muety/wakapi/models"
|
|
)
|
|
|
|
type HeartbeatsViewModel struct {
|
|
Data []*HeartbeatEntry `json:"data"`
|
|
}
|
|
|
|
// Incomplete, for now, only the subset of fields is implemented
|
|
// that is actually required for the import
|
|
|
|
type HeartbeatEntry struct {
|
|
Id string `json:"id"`
|
|
Branch string `json:"branch"`
|
|
Category string `json:"category"`
|
|
Entity string `json:"entity"`
|
|
IsWrite bool `json:"is_write"`
|
|
Language string `json:"language"`
|
|
Project string `json:"project"`
|
|
Time float64 `json:"time"`
|
|
Type string `json:"type"`
|
|
UserId string `json:"user_id"`
|
|
MachineNameId string `json:"machine_name_id"`
|
|
UserAgentId string `json:"user_agent_id"`
|
|
CreatedAt time.Time `json:"created_at"`
|
|
}
|
|
|
|
func HeartbeatsToCompat(entries []*models.Heartbeat) []*HeartbeatEntry {
|
|
out := make([]*HeartbeatEntry, len(entries))
|
|
for i := 0; i < len(entries); i++ {
|
|
entry := entries[i]
|
|
out[i] = &HeartbeatEntry{
|
|
Id: strconv.FormatUint(entry.ID, 10),
|
|
Branch: entry.Branch,
|
|
Category: entry.Category,
|
|
Entity: entry.Entity,
|
|
IsWrite: entry.IsWrite,
|
|
Language: entry.Language,
|
|
Project: entry.Project,
|
|
Time: float64(entry.Time.T().Unix()),
|
|
Type: entry.Type,
|
|
UserId: entry.UserID,
|
|
MachineNameId: entry.Machine,
|
|
UserAgentId: entry.UserAgent,
|
|
CreatedAt: entry.CreatedAt.T(),
|
|
}
|
|
}
|
|
return out
|
|
}
|