func (s PixelaService) Decrement(payload GraphPayload) (*http.Response, error) {
	return s.Put(payload.ID, "decrement")
}
Decrement decrements quantity of a graph.
package gate
import (
	"bytes"
	"encoding/json"
	"io"
	"net/http"
	"path"
)
const pixelaAPIURL = "https://pixe.la/v1"
type (
	PixelaService struct {
		*service
	}
)
func NewPixelaService(config *Config) *PixelaService {
	return &PixelaService{
		service: newService(config).withBaseURL(pixelaAPIURL),
	}
}
func (s PixelaService) Post(id string, body io.Reader) (*http.Response, error) {
	u := *s.baseURL
	u.Path = path.Join(u.Path, "users", s.config.ID, "graphs", id)
	req, err := http.NewRequest("POST", u.String(), body)
	if err != nil {
		return nil, err
	}
	req.Header.Add("Content-Type", bodyTypeJSON)
	req.Header.Add("X-USER-TOKEN", s.service.config.AccessToken)
	return s.config.HTTPClient.Do(req)
}
func (s PixelaService) PostGraphPayload(payload GraphPayload) (*http.Response, error) {
	b, err := json.Marshal(payload)
	if err != nil {
		return nil, err
	}
	buf := bytes.NewBuffer(b)
	return s.Post(payload.ID, buf)
}
func (s PixelaService) Put(id, suffix string) (*http.Response, error) {
	u := *s.baseURL
	u.Path = path.Join(u.Path, "users", s.config.ID, "graphs", id, suffix)
	req, err := http.NewRequest("PUT", u.String(), nil)
	if err != nil {
		return nil, err
	}
	req.Header.Add("Content-Length", "0")
	req.Header.Add("X-USER-TOKEN", s.service.config.AccessToken)
	return s.config.HTTPClient.Do(req)
}
func (s PixelaService) Increment(payload GraphPayload) (*http.Response, error) {
	return s.Put(payload.ID, "increment")
}