fixed prop name

nats
Paulo Simão 2021-11-05 10:11:04 -03:00
parent ac706b9d72
commit 56927666ef
2 changed files with 131 additions and 0 deletions

44
api/dataapi/lib.go 100644
View File

@ -0,0 +1,44 @@
package dataapi
import (
"go.digitalcircle.com.br/open/httpcli"
)
type DataApiOp string
const (
RETRIEVE DataApiOp = "R"
CREATE DataApiOp = "C"
DELETE DataApiOp = "D"
UPDATE DataApiOp = "U"
)
type DataAPIRequest struct {
Col string `json:"col"`
Q string `json:"q"`
Op DataApiOp `json:"op"`
Id string `json:"id"`
Data map[string]interface{} `json:"data"`
}
type DataAPIResponse struct {
Msg string `json:"msg"`
Id string `json:"id"`
Data []interface{} `json:"data"`
}
type Cli struct {
Httpcli *httpcli.Cli
}
func (c *Cli) Do(request *DataAPIRequest) (response *DataAPIResponse, err error) {
response = &DataAPIResponse{}
err = c.Httpcli.JsonPost("/", request, response)
return
}
func NewCli() *Cli {
ret := &Cli{Httpcli: httpcli.NewCli()}
ret.Httpcli.SetBasePath("https://dataapi.digitalcircle.com.br")
return ret
}

View File

@ -0,0 +1,87 @@
package dataapi_test
import (
"go.digitalcircle.com.br/open/replaycli-go/api/dataapi"
"log"
"testing"
)
func TestAPIRetrieve(t *testing.T) {
c := dataapi.NewCli()
c.Httpcli.AddHeader("X-API-KEY", "RnJpIDA1IE5vdiAyMDIxIDExOjE1OjIyIEFNIFVUQwo")
res, err := c.Do(&dataapi.DataAPIRequest{
Col: "C1",
Op: dataapi.RETRIEVE,
})
if err != nil {
t.Fatal(err.Error())
}
log.Printf("%#v", res)
}
func TestAPIRetrieveWQuery(t *testing.T) {
c := dataapi.NewCli()
c.Httpcli.AddHeader("X-API-KEY", "RnJpIDA1IE5vdiAyMDIxIDExOjE1OjIyIEFNIFVUQwo")
res, err := c.Do(&dataapi.DataAPIRequest{
Col: "C1",
Op: dataapi.RETRIEVE,
Q: "@[?ID==`2`]",
})
if err != nil {
t.Fatal(err.Error())
}
log.Printf("%#v", res)
}
func TestAPIUpdate(t *testing.T) {
c := dataapi.NewCli()
c.Httpcli.AddHeader("X-API-KEY", "RnJpIDA1IE5vdiAyMDIxIDExOjE1OjIyIEFNIFVUQwo")
res, err := c.Do(&dataapi.DataAPIRequest{
Col: "C1",
Op: dataapi.UPDATE,
Id: "2",
Data: map[string]interface{}{
"F2": "Novo Campo",
},
})
if err != nil {
t.Fatal(err.Error())
}
log.Printf("%#v", res)
}
func TestAPIDelete(t *testing.T) {
c := dataapi.NewCli()
c.Httpcli.AddHeader("X-API-KEY", "RnJpIDA1IE5vdiAyMDIxIDExOjE1OjIyIEFNIFVUQwo")
res, err := c.Do(&dataapi.DataAPIRequest{
Col: "C1",
Op: dataapi.DELETE,
Id: "2",
})
if err != nil {
t.Fatal(err.Error())
}
log.Printf("%#v", res)
}
func TestAPICreate(t *testing.T) {
c := dataapi.NewCli()
c.Httpcli.AddHeader("X-API-KEY", "RnJpIDA1IE5vdiAyMDIxIDExOjE1OjIyIEFNIFVUQwo")
res, err := c.Do(&dataapi.DataAPIRequest{
Col: "C1",
Op: dataapi.CREATE,
Data: map[string]interface{}{
"MSG": "OI LEO",
},
})
if err != nil {
t.Fatal(err.Error())
}
log.Printf("%#v", res)
}