package itglue import ( "encoding/json" "fmt" "time" ) type FlexibleAssetTypeData struct { ID string `json:"id"` Type string `json:"type"` Attributes struct { Name string `json:"name"` Description string `json:"description"` CreatedAt time.Time `json:"created-at"` UpdatedAt time.Time `json:"updated-at"` Icon string `json:"icon"` Enabled bool `json:"enabled"` } `json:"attributes"` Relationships struct { } `json:"relationships"` } type FlexibleAssetType struct { Data struct{ FlexibleAssetTypeData } `json:"data"` Meta struct{ Metadata } `json:"metadata"` Links struct{ Links } `json:"links"` } type FlexibleAssetTypeList struct { Data []struct{ FlexibleAssetTypeData } `json:"data"` Meta struct{ Metadata } `json:"metadata"` Links struct{ Links } `json:"links"` } func (itg *ITGAPI) GetFlexibleAssetTypes() (*FlexibleAssetTypeList, error) { itgurl, err := itg.BuildURL("/flexible_asset_types") if err != nil { return nil, fmt.Errorf("could not build URL: %s", err) } body, err := itg.GetRequest(itgurl) if err != nil { return nil, fmt.Errorf("request failed: %s", err) } flexibleAssetTypes := &FlexibleAssetTypeList{} err = json.Unmarshal(body, flexibleAssetTypes) if err != nil { return nil, fmt.Errorf("could not get flexible asset types: %s", err) } return flexibleAssetTypes, nil }