2018-06-20 21:59:12 +00:00
|
|
|
package connectwise
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"encoding/json"
|
|
|
|
"fmt"
|
|
|
|
"net/url"
|
|
|
|
)
|
|
|
|
|
|
|
|
type Callback struct {
|
2018-06-22 20:14:21 +00:00
|
|
|
ID int
|
2018-06-20 21:59:12 +00:00
|
|
|
Description string
|
|
|
|
Url string
|
|
|
|
ObjectId int
|
|
|
|
Type string
|
|
|
|
Level string
|
|
|
|
MemberId int
|
|
|
|
InactiveFlag bool
|
|
|
|
}
|
|
|
|
|
2018-06-22 20:14:21 +00:00
|
|
|
func GetCallbacks(site *ConnectwiseSite) *[]Callback {
|
|
|
|
|
|
|
|
callbacks := []Callback{}
|
2018-06-20 21:59:12 +00:00
|
|
|
|
|
|
|
//Build the request URL
|
|
|
|
var Url *url.URL
|
|
|
|
Url, err := url.Parse(site.Site)
|
|
|
|
check(err)
|
|
|
|
Url.Path += "/system/callbacks"
|
|
|
|
|
|
|
|
body := GetRequest(site, Url)
|
2018-06-22 20:14:21 +00:00
|
|
|
check(json.Unmarshal(body, &callbacks))
|
|
|
|
|
|
|
|
return &callbacks
|
2018-06-20 21:59:12 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
func NewCallback(site *ConnectwiseSite, callback Callback) {
|
|
|
|
|
|
|
|
var Url *url.URL
|
|
|
|
Url, err := url.Parse(site.Site)
|
|
|
|
check(err)
|
|
|
|
Url.Path += "/system/callbacks"
|
|
|
|
|
|
|
|
jsonCallback, err := json.Marshal(callback)
|
|
|
|
check(err)
|
|
|
|
|
|
|
|
jsonBuffer := bytes.NewReader(jsonCallback)
|
|
|
|
|
2018-06-22 20:14:21 +00:00
|
|
|
//body := PostRequest(site, Url, jsonBuffer)
|
|
|
|
PostRequest(site, Url, jsonBuffer)
|
2018-06-20 21:59:12 +00:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
func DeleteCallback(site *ConnectwiseSite, callback int) {
|
|
|
|
|
|
|
|
var Url *url.URL
|
|
|
|
Url, err := url.Parse(site.Site)
|
|
|
|
check(err)
|
|
|
|
Url.Path += fmt.Sprintf("/system/callbacks/%d", callback)
|
|
|
|
|
|
|
|
body := DeleteRequest(site, Url)
|
|
|
|
|
|
|
|
fmt.Print(string(body))
|
|
|
|
|
|
|
|
}
|