package dbm import ( "fmt" "net/http" "github.com/gin-gonic/gin" json_data "github.com/tecamino/tecamino-json_data" json_dataModels "github.com/tecamino/tecamino-json_data/models" ) func (d *DBMHandler) Json_Data(c *gin.Context) { var err error payload, err := json_data.ParseRequest(c.Request.Body) if err != nil { r := json_data.NewResponse() r.SetError() r.SetMessage(err.Error()) c.JSON(http.StatusBadRequest, r) return } resp := json_dataModels.NewResponse() if len(payload.Get) > 0 { var depth uint = 1 for _, get := range payload.Get { if get.Query != nil { depth = get.Query.Depth } for _, res := range d.DBM.QueryDatapoints(depth, get.Uuid, get.Path) { resp.AddGet(json_dataModels.Get{ Uuid: res.Uuid, Path: res.Path, Type: res.Type, Value: res.Value, Drivers: &res.Drivers, HasChild: res.Datapoints != nil, Rights: res.ReadWrite, }) } } } if len(payload.Set) > 0 { resp.Set, err = d.DBM.CreateDatapoints(payload.Set...) for i, o := range resp.Set { fmt.Println(1000, i, o) fmt.Println(1001, o.HasChild) } if err != nil { r := json_data.NewResponse() r.SetError() r.SetMessage(err.Error()) c.JSON(http.StatusBadRequest, r) return } } c.JSON(200, resp) } func (d *DBMHandler) Delete(c *gin.Context) { var err error payload, err := json_data.ParseRequest(c.Request.Body) if err != nil { r := json_data.NewResponse() r.SetError() r.SetMessage(err.Error()) c.JSON(http.StatusBadRequest, r) return } response := json_data.NewResponse() if payload.Set != nil { response.Set, err = d.DBM.RemoveDatapoint(payload.Set...) if err != nil { r := json_data.NewResponse() r.SetError() r.SetMessage(err.Error()) c.JSON(http.StatusBadRequest, r) return } } c.JSON(200, response) }