|
|
|
@ -26,6 +26,8 @@ package version |
|
|
|
|
|
|
|
import ( |
|
|
|
"encoding/json" |
|
|
|
|
|
|
|
"gitlab.weird-web-workers.org/golang/logger" |
|
|
|
) |
|
|
|
|
|
|
|
type Version struct { |
|
|
|
@ -35,24 +37,24 @@ type Version struct { |
|
|
|
BuildTime string `json:"BuildTime"` |
|
|
|
} |
|
|
|
|
|
|
|
type versionSlice map[string]Version |
|
|
|
type versionMap map[string]Version |
|
|
|
|
|
|
|
var ( |
|
|
|
versions = make(versionSlice) |
|
|
|
versions = make(versionMap) |
|
|
|
) |
|
|
|
|
|
|
|
func (v Version) Register() { |
|
|
|
versions[v.Package] = v |
|
|
|
} |
|
|
|
|
|
|
|
func (vs versionSlice)Json() string { |
|
|
|
vSlice := make([]Version, len(vs)) |
|
|
|
for v := range vs { |
|
|
|
func (vMap versionMap) Json() []byte { |
|
|
|
vSlice := make([]Version, len(vMap)) |
|
|
|
for _, v := range vMap { |
|
|
|
vSlice = append(vSlice, v) |
|
|
|
} |
|
|
|
vJson, err := json.Marshal(vSlice) |
|
|
|
logger.Default.FailOnError(err, "Unable to marshal versions") |
|
|
|
return vJson |
|
|
|
) |
|
|
|
} |
|
|
|
|
|
|
|
// vim: ts=4 sts=4 sw=4 noet tw=72:
|