}
}
-func (nsi SpaceInfo) AddSpaceContactInfo(phone, irc, email, ml, jabber string) SpaceInfo {
+func (nsi SpaceInfo) AddSpaceContactInfo(phone, irc, email, ml, jabber, issuemail string) SpaceInfo {
nsi["contact"] = SpaceInfo{
"phone": phone,
"email": email,
"ml": ml,
- "jabber": jabber}
+ "jabber": jabber,
+ "issue-mail": issuemail}
+ nsi["issue-report-channels"] = [3]string{"issue-mail","email","ml"}
return nsi
}
}
func (nsi SpaceInfo) AddSpaceEvent(name, eventtype, extra string) SpaceInfo {
- newevent := SpaceInfo{"name": name, "type": eventtype, "t": time.Now().Unix(), "extra": extra}
+ newevent := SpaceInfo{"name": name, "type": eventtype, "timestamp": time.Now().Unix(), "extra": extra}
if nsi["events"] == nil {
eventlist := make([]SpaceInfo, 1)
eventlist[0] = newevent
func (nsi SpaceInfo) AddSpaceAddress(address string) SpaceInfo {
nsi["address"] = address
- return nsi
-}
-
-func (nsi SpaceInfo) AddSpaceLatLon(lat float64, lon float64) SpaceInfo {
- nsi["lat"] = lat
- nsi["lon"] = lon
+ if nsi["location"] != nil {
+ location, ok := nsi["location"].(SpaceInfo)
+ if ok {
+ location["address"] = address
+ }
+ }
return nsi
}
nsi["status"] = status
nsi["open"] = open
nsi["lastchange"] = time.Now().Unix()
+ state, ok := nsi["state"].(SpaceInfo)
+ if ok {
+ state["message"] = status
+ state["open"] = open
+ state["lastchange"] = nsi["lastchange"]
+ }
}
-func NewSpaceInfo(space string, url string, logo string, open_icon string, closed_icon string) SpaceInfo {
+func NewSpaceInfo(space string, url string, logo string, open_icon string, closed_icon string, lat float64, lon float64) SpaceInfo {
nsi := map[string]interface{}{
"api": "0.13",
"space": space,
"logo": logo,
"open": false,
"lastchange": time.Now().Unix(),
- "icon": map[string]interface{}{
- "open": open_icon,
- "closed": closed_icon}}
+ "icon": SpaceInfo{
+ "open": open_icon,
+ "closed": closed_icon,
+ },
+ "state": SpaceInfo{
+ "open": false,
+ "lastchange":time.Now().Unix(),
+ "icon": SpaceInfo{
+ "open": open_icon,
+ "closed": closed_icon},
+ },
+ "location": SpaceInfo{
+ "lat": lat,
+ "lon": lon},
+ "contact" : SpaceInfo {},
+ }
return nsi
}