mirror of
https://github.com/octoleo/syncthing.git
synced 2024-12-22 10:58:57 +00:00
* lib/model: Remove bogus fields from connections API endpoint. Switch the returned data type for the /rest/system/connections element "total" to use only the Statistics struct. The other fields of the ConnectionInfo struct are not populated and misleading. * Lowercase JSON field names. * lib/model: Get rid of ConnectionInfo.MarshalJSON(). It was missing the StartedAt field from the embedded Statistics struct. Just lowercasing the JSON attribute names can be done just as easily with annotations. * lib/model: Remove bogus startedAt field from totals. Instead of using the Statistics type with one field empty, just switch to a free-form map with the three needed fields.
This commit is contained in:
parent
fec476cc80
commit
0cba3154f0
@ -706,26 +706,12 @@ func (m *model) UsageReportingStats(report *contract.Report, version int, previe
|
||||
|
||||
type ConnectionInfo struct {
|
||||
protocol.Statistics
|
||||
Connected bool
|
||||
Paused bool
|
||||
Address string
|
||||
ClientVersion string
|
||||
Type string
|
||||
Crypto string
|
||||
}
|
||||
|
||||
func (info ConnectionInfo) MarshalJSON() ([]byte, error) {
|
||||
return json.Marshal(map[string]interface{}{
|
||||
"at": info.At,
|
||||
"inBytesTotal": info.InBytesTotal,
|
||||
"outBytesTotal": info.OutBytesTotal,
|
||||
"connected": info.Connected,
|
||||
"paused": info.Paused,
|
||||
"address": info.Address,
|
||||
"clientVersion": info.ClientVersion,
|
||||
"type": info.Type,
|
||||
"crypto": info.Crypto,
|
||||
})
|
||||
Connected bool `json:"connected"`
|
||||
Paused bool `json:"paused"`
|
||||
Address string `json:"address"`
|
||||
ClientVersion string `json:"clientVersion"`
|
||||
Type string `json:"type"`
|
||||
Crypto string `json:"crypto"`
|
||||
}
|
||||
|
||||
// NumConnections returns the current number of active connected devices.
|
||||
@ -769,12 +755,10 @@ func (m *model) ConnectionStats() map[string]interface{} {
|
||||
res["connections"] = conns
|
||||
|
||||
in, out := protocol.TotalInOut()
|
||||
res["total"] = ConnectionInfo{
|
||||
Statistics: protocol.Statistics{
|
||||
At: time.Now().Truncate(time.Second),
|
||||
InBytesTotal: in,
|
||||
OutBytesTotal: out,
|
||||
},
|
||||
res["total"] = map[string]interface{}{
|
||||
"at": time.Now().Truncate(time.Second),
|
||||
"inBytesTotal": in,
|
||||
"outBytesTotal": out,
|
||||
}
|
||||
|
||||
return res
|
||||
|
@ -994,10 +994,10 @@ func (c *rawConnection) pingReceiver() {
|
||||
}
|
||||
|
||||
type Statistics struct {
|
||||
At time.Time
|
||||
InBytesTotal int64
|
||||
OutBytesTotal int64
|
||||
StartedAt time.Time
|
||||
At time.Time `json:"at"`
|
||||
InBytesTotal int64 `json:"inBytesTotal"`
|
||||
OutBytesTotal int64 `json:"outBytesTotal"`
|
||||
StartedAt time.Time `json:"startedAt"`
|
||||
}
|
||||
|
||||
func (c *rawConnection) Statistics() Statistics {
|
||||
|
Loading…
Reference in New Issue
Block a user