make a diffpatchresponse type

This commit is contained in:
filifa 2024-07-14 13:32:25 -05:00
parent 500bf7baa4
commit 91397481f0
2 changed files with 7 additions and 5 deletions

View File

@ -19,10 +19,12 @@ func RequestFeed(gamePk string) ([]byte, error) {
return DefaultClient.RequestFeed(gamePk)
}
func RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) ([]byte, error) {
func RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) (DiffPatchResponse, error) {
return DefaultClient.RequestDiffPatch(gamePk, startTimecode, pushUpdateId)
}
type DiffPatchResponse []byte
type Client struct {
baseURL url.URL
httpClient *http.Client
@ -38,11 +40,11 @@ func NewClient(c *http.Client) *Client {
}
}
func ExtractPatches(diffPatch []byte) ([]jsonpatch.Patch, error) {
func (resp *DiffPatchResponse) ExtractPatches() ([]jsonpatch.Patch, error) {
var patches []jsonpatch.Patch
var objs []map[string]any
err := json.Unmarshal(diffPatch, &objs)
err := json.Unmarshal([]byte(*resp), &objs)
if err != nil {
return patches, err
}
@ -83,7 +85,7 @@ func (c *Client) RequestFeed(gamePk string) ([]byte, error) {
return c.get(url.String())
}
func (c *Client) RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) ([]byte, error) {
func (c *Client) RequestDiffPatch(gamePk, startTimecode, pushUpdateId string) (DiffPatchResponse, error) {
endpoint := url.URL{Path: "api/v1.1/game/" + gamePk + "/feed/live/diffPatch"}
query := endpoint.Query()
query.Add("language", "en")

View File

@ -54,7 +54,7 @@ func updateFeed(feedResp []byte, gamePk, ts, updateId string) ([]byte, error) {
return statsapi.RequestFeed(gamePk)
}
patches, err := statsapi.ExtractPatches(diffPatchResp)
patches, err := diffPatchResp.ExtractPatches()
if err != nil {
return statsapi.RequestFeed(gamePk)
}