2 changed files with 65 additions and 14 deletions
@ -0,0 +1,60 @@
|
||||
package main |
||||
|
||||
import ( |
||||
"bytes" |
||||
"fmt" |
||||
"log" |
||||
"os" |
||||
"strconv" |
||||
|
||||
"deadbeef.codes/steven/go-itg/itglue" |
||||
"github.com/ChimeraCoder/gojson" |
||||
) |
||||
|
||||
var itg *itglue.ITGAPI |
||||
|
||||
func init() { |
||||
apiKey := os.Getenv("itgapikey") |
||||
if apiKey == "" { |
||||
log.Fatalf("API key is not set") |
||||
} |
||||
itg = itglue.NewITGAPI(apiKey) |
||||
} |
||||
|
||||
func main() { |
||||
|
||||
fats, err := itg.GetFlexibleAssetTypes() |
||||
if err != nil { |
||||
log.Fatalf("could get get FATs: %s", err) |
||||
} |
||||
|
||||
for _, fat := range fats.Data { |
||||
fmt.Printf("%s - %s\n", fat.FlexibleAssetTypeData.ID, fat.FlexibleAssetTypeData.Attributes.Name) |
||||
id, err := strconv.Atoi(fat.ID) |
||||
if err != nil { |
||||
log.Fatalf("could not convert %s to integer: %s", fat.ID, err) |
||||
} |
||||
|
||||
fa, err := itg.GetFlexibleAssetsJSON(id) |
||||
if err != nil { |
||||
log.Fatalf("could get flexible asset with type ID %d: %s", id, err) |
||||
} |
||||
|
||||
name := &fat.FlexibleAssetTypeData.Attributes.Name |
||||
pkg := "itglue" |
||||
subStruct := false // try changing to true?
|
||||
tagList := make([]string, 0) |
||||
tagList = append(tagList, "json") |
||||
var convertFloats bool |
||||
var parser gojson.Parser |
||||
parser = gojson.ParseJson |
||||
convertFloats = true |
||||
|
||||
input := bytes.NewReader(fa) |
||||
|
||||
output, err := gojson.Generate(input, parser, *name, pkg, tagList, subStruct, convertFloats) |
||||
|
||||
fmt.Print(string(output)) |
||||
|
||||
} |
||||
} |
Loading…
Reference in new issue