package api import ( "GofileScrapper/misc" "GofileScrapper/structs" "bytes" "encoding/json" "fmt" ) func GetGuest() (structs.Guest, error) { body, err := misc.Fetch( "POST", misc.ApiUrl+"/accounts", bytes.NewBuffer([]byte(`{}`)), []misc.HeaderType{}, ) if err != nil { return structs.Guest{}, fmt.Errorf("error reading response body: %v", err) } var preGuest structs.CreatedGuest err = json.Unmarshal(body, &preGuest) if err != nil { return structs.Guest{}, fmt.Errorf("error unmarshalling JSON: %v", err) } if preGuest.Status != "ok" { return structs.Guest{}, fmt.Errorf("unknown response from api: %v", string(body)) } body, err = misc.Fetch( "GET", misc.ApiUrl+"/accounts/"+preGuest.Data.Id, bytes.NewBuffer([]byte(`{}`)), []misc.HeaderType{ {Key: "Authorization", Value: fmt.Sprintf("Bearer %s", preGuest.Data.Token)}, }, ) if err != nil { return structs.Guest{}, fmt.Errorf("error reading response body: %v", err) } var guest structs.Guest err = json.Unmarshal(body, &guest) if err != nil { return structs.Guest{}, fmt.Errorf("error unmarshalling JSON: %v", err) } if preGuest.Status != "ok" { return structs.Guest{}, fmt.Errorf("unknown response from api: %v", string(body)) } return guest, nil }