add resubscribe (in progress)
fix crash when no bus found in map
This commit is contained in:
@@ -83,7 +83,7 @@ func (d *ArtNetDriver) RemoveBus(c *gin.Context) {
|
||||
if _, ok := d.Buses[busPayload.Name]; !ok {
|
||||
r := json_dataModels.NewResponse()
|
||||
r.SetMessage("bus " + busPayload.Name + " not found")
|
||||
c.JSON(http.StatusOK, r)
|
||||
c.JSON(http.StatusBadRequest, r)
|
||||
return
|
||||
} else {
|
||||
delete(d.Buses, busPayload.Name)
|
||||
@@ -114,7 +114,6 @@ func (d *ArtNetDriver) Start(c *gin.Context) {
|
||||
r := json_dataModels.NewResponse()
|
||||
r.SetMessage(fmt.Sprintf("bus '%s' running", busPayload.Name))
|
||||
c.JSON(http.StatusOK, r)
|
||||
d.cfgHandler.SaveCfg(*d)
|
||||
}
|
||||
|
||||
func (d *ArtNetDriver) Stop(c *gin.Context) {
|
||||
@@ -137,7 +136,39 @@ func (d *ArtNetDriver) Stop(c *gin.Context) {
|
||||
r := json_dataModels.NewResponse()
|
||||
r.SetMessage(fmt.Sprintf("bus '%s' stopped", busPayload.Name))
|
||||
c.JSON(http.StatusOK, r)
|
||||
d.cfgHandler.SaveCfg(*d)
|
||||
}
|
||||
|
||||
func (d *ArtNetDriver) Resubscribe(c *gin.Context) {
|
||||
_, err := auth.GetIDFromQuery(c)
|
||||
|
||||
if err != nil {
|
||||
r := json_data.NewResponse()
|
||||
r.SetError()
|
||||
r.SetMessage("id: " + err.Error())
|
||||
c.JSON(http.StatusBadRequest, r)
|
||||
return
|
||||
}
|
||||
|
||||
busPayload := models.Bus{}
|
||||
if err := busPayload.ParsePayload(c); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
if _, ok := d.Buses[busPayload.Name]; !ok {
|
||||
r := json_dataModels.NewResponse()
|
||||
r.SetMessage("bus " + busPayload.Name + " not found")
|
||||
c.JSON(http.StatusBadRequest, r)
|
||||
return
|
||||
}
|
||||
|
||||
if busPayload.Resubscribe == nil {
|
||||
r := json_dataModels.NewResponse()
|
||||
r.SetMessage("no resubscriptions in request")
|
||||
c.JSON(http.StatusBadRequest, r)
|
||||
return
|
||||
}
|
||||
|
||||
d.Subscribe(*busPayload.Resubscribe...)
|
||||
}
|
||||
|
||||
func (d *ArtNetDriver) Status(c *gin.Context) {
|
||||
|
Reference in New Issue
Block a user