mirror of
https://github.com/containrrr/watchtower.git
synced 2025-09-21 21:30:48 +02:00
29 lines
556 B
Go
29 lines
556 B
Go
package notifications
|
|
|
|
import (
|
|
"encoding/json"
|
|
)
|
|
|
|
type jsonMap = map[string]interface{}
|
|
|
|
// MarshalJSON implements json.Marshaler
|
|
func (d Data) MarshalJSON() ([]byte, error) {
|
|
var entries = make([]jsonMap, len(d.Entries))
|
|
for i, entry := range d.Entries {
|
|
entries[i] = jsonMap{
|
|
`level`: entry.Level,
|
|
`message`: entry.Message,
|
|
`data`: entry.Data,
|
|
`time`: entry.Time,
|
|
}
|
|
}
|
|
|
|
return json.Marshal(jsonMap{
|
|
`report`: d.Report,
|
|
`title`: d.Title,
|
|
`host`: d.Host,
|
|
`entries`: entries,
|
|
})
|
|
}
|
|
|
|
var _ json.Marshaler = &Data{}
|