go-itg/itglue/organizations.go

43 lines
1.3 KiB
Go
Raw Normal View History

2018-06-29 22:53:14 +00:00
package itglue
import (
"encoding/json"
"fmt"
)
2018-06-29 22:53:14 +00:00
//Organization maps JSON data from the ITG Organization resource to Go struct
type Organization struct {
Data struct {
ID string `json:"id"`
2018-06-29 22:53:14 +00:00
Type string `json:"type"`
Attributes struct {
Name string `json:"name"`
Description string `json:"description"`
OrganizationTypeID int `json:"organization-type-id"`
OrganizationTypeName string `json:"organization-type-name"`
OrganizationStatusID int `json:"organization-status-id"`
OrganizationStatusName string `json:"organization-status-name"`
Logo string `json:"logo"`
QuickNotes string `json:"quick-notes"`
ShortName string `json:"short-name"`
CreatedAt string `json:"created-at"`
UpdatedAt string `json:"updated-at"`
} `json:"attributes"`
} `json:"data"`
}
//GetOrganizationByID expects an ITG organization ID
//Returns a pointer to an Organization struct
func (itg *ITGAPI) GetOrganizationByID(organizationID int) *Organization {
2018-06-29 22:56:22 +00:00
itgurl := itg.BuildURL(fmt.Sprintf("/organizations/%d", organizationID))
2018-06-29 22:53:14 +00:00
2018-06-29 22:56:22 +00:00
body := itg.GetRequest(itgurl)
2018-06-29 22:53:14 +00:00
organization := &Organization{}
err := json.Unmarshal(body, organization)
check(err)
return organization
2018-06-29 22:53:14 +00:00
}