1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00
wtf/modules/newrelic/client.go
Sean Smith 29e67a0d8a Decouple newrelic client and widget
Have widget manage config
Have client handle communication
2019-02-18 16:55:22 -05:00

40 lines
775 B
Go

package newrelic
import (
nr "github.com/yfronto/newrelic"
)
type Client struct {
applicationId int
nrClient *nr.Client
}
func NewClient(apiKey string, applicationId int) *Client {
return &Client{
applicationId: applicationId,
nrClient: nr.NewClient(apiKey),
}
}
func (client *Client) Application() (*nr.Application, error) {
application, err := client.nrClient.GetApplication(client.applicationId)
if err != nil {
return nil, err
}
return application, nil
}
func (client *Client) Deployments() ([]nr.ApplicationDeployment, error) {
opts := &nr.ApplicationDeploymentOptions{Page: 1}
deployments, err := client.nrClient.GetApplicationDeployments(client.applicationId, opts)
if err != nil {
return nil, err
}
return deployments, nil
}