29 lines
627 B
Go
29 lines
627 B
Go
|
package data
|
||
|
|
||
|
// Config is a flat mapping where values are simple (no slices/maps).
|
||
|
type Config map[string]interface{}
|
||
|
|
||
|
// Source wraps an NS1 /data/sources resource
|
||
|
type Source struct {
|
||
|
ID string `json:"id,omitempty"`
|
||
|
|
||
|
// Human readable name of the source.
|
||
|
Name string `json:"name"`
|
||
|
|
||
|
Type string `json:"sourcetype"`
|
||
|
Config Config `json:"config,omitempty"`
|
||
|
Status string `json:"status,omitempty"`
|
||
|
|
||
|
Feeds []*Feed `json:"feeds,omitempty"`
|
||
|
}
|
||
|
|
||
|
// NewSource takes a name and type t.
|
||
|
func NewSource(name string, t string) *Source {
|
||
|
return &Source{
|
||
|
Name: name,
|
||
|
Type: t,
|
||
|
Config: Config{},
|
||
|
Feeds: []*Feed{},
|
||
|
}
|
||
|
}
|