2018-06-29 22:53:14 +00:00
|
|
|
package itglue
|
|
|
|
|
2018-06-30 04:19:49 +00:00
|
|
|
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 {
|
2018-06-30 04:19:49 +00:00
|
|
|
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
|
2018-06-30 04:19:49 +00:00
|
|
|
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
|
|
|
|
2018-06-30 04:19:49 +00:00
|
|
|
organization := &Organization{}
|
|
|
|
err := json.Unmarshal(body, organization)
|
|
|
|
check(err)
|
|
|
|
|
|
|
|
return organization
|
2018-06-29 22:53:14 +00:00
|
|
|
|
|
|
|
}
|