89 lines
2.4 KiB
Go
89 lines
2.4 KiB
Go
package syncthing
|
|
|
|
import "time"
|
|
|
|
// HealthStatus from /rest/noauth/health.
|
|
type HealthStatus struct {
|
|
Status string `json:"status"` // "OK"
|
|
}
|
|
|
|
// SystemStatus from /rest/system/status.
|
|
type SystemStatus struct {
|
|
MyID string `json:"myID"`
|
|
Uptime int `json:"uptime"`
|
|
StartTime time.Time `json:"startTime"`
|
|
}
|
|
|
|
// SystemVersion from /rest/system/version.
|
|
type SystemVersion struct {
|
|
Version string `json:"version"`
|
|
LongVersion string `json:"longVersion"`
|
|
}
|
|
|
|
// ConnectionInfo for a single device from /rest/system/connections.
|
|
type ConnectionInfo struct {
|
|
Connected bool `json:"connected"`
|
|
Paused bool `json:"paused"`
|
|
Address string `json:"address"`
|
|
Type string `json:"type"`
|
|
InBytesTotal int64 `json:"inBytesTotal"`
|
|
OutBytesTotal int64 `json:"outBytesTotal"`
|
|
}
|
|
|
|
// Connections from /rest/system/connections.
|
|
type Connections struct {
|
|
Total ConnectionInfo `json:"total"`
|
|
Connections map[string]ConnectionInfo `json:"connections"`
|
|
}
|
|
|
|
// FolderConfig from /rest/config folders array.
|
|
type FolderConfig struct {
|
|
ID string `json:"id"`
|
|
Label string `json:"label"`
|
|
Path string `json:"path"`
|
|
Paused bool `json:"paused"`
|
|
}
|
|
|
|
// DeviceConfig from /rest/config devices array.
|
|
type DeviceConfig struct {
|
|
DeviceID string `json:"deviceID"`
|
|
Name string `json:"name"`
|
|
Paused bool `json:"paused"`
|
|
}
|
|
|
|
// FullConfig from /rest/config.
|
|
type FullConfig struct {
|
|
Folders []FolderConfig `json:"folders"`
|
|
Devices []DeviceConfig `json:"devices"`
|
|
}
|
|
|
|
// FolderStatus from /rest/db/status.
|
|
type FolderStatus struct {
|
|
State string `json:"state"` // "idle", "scanning", "syncing", "error", etc.
|
|
StateChanged time.Time `json:"stateChanged"`
|
|
NeedFiles int `json:"needFiles"`
|
|
NeedBytes int64 `json:"needBytes"`
|
|
GlobalFiles int `json:"globalFiles"`
|
|
GlobalBytes int64 `json:"globalBytes"`
|
|
LocalFiles int `json:"localFiles"`
|
|
LocalBytes int64 `json:"localBytes"`
|
|
Errors int `json:"errors"`
|
|
PullErrors int `json:"pullErrors"`
|
|
}
|
|
|
|
// Event from /rest/events.
|
|
type Event struct {
|
|
ID int `json:"id"`
|
|
Type string `json:"type"`
|
|
Time time.Time `json:"time"`
|
|
Data any `json:"data"`
|
|
}
|
|
|
|
// PendingDevice from /rest/cluster/pending/devices.
|
|
type PendingDevice struct {
|
|
DeviceID string `json:"deviceID"`
|
|
Name string `json:"name"`
|
|
Time time.Time `json:"time"`
|
|
Address string `json:"address"`
|
|
}
|