summaryrefslogtreecommitdiffstats
path: root/vendor/github.com/Philipp15b/go-steam/economy/inventory/own.go
blob: 140b68ac441a3b3f2470dfe0b05094c91b1731bf (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package inventory

import (
	"fmt"
	"net/http"
	"strconv"
)

func GetPartialOwnInventory(client *http.Client, contextId uint64, appId uint32, start *uint) (*PartialInventory, error) {
	// TODO: the "trading" parameter can be left off to return non-tradable items too
	url := fmt.Sprintf("http://steamcommunity.com/my/inventory/json/%d/%d?trading=1", appId, contextId)
	if start != nil {
		url += "&start=" + strconv.FormatUint(uint64(*start), 10)
	}
	req, err := http.NewRequest("GET", url, nil)
	if err != nil {
		panic(err)
	}
	return DoInventoryRequest(client, req)
}

func GetOwnInventory(client *http.Client, contextId uint64, appId uint32) (*Inventory, error) {
	return GetFullInventory(func() (*PartialInventory, error) {
		return GetPartialOwnInventory(client, contextId, appId, nil)
	}, func(start uint) (*PartialInventory, error) {
		return GetPartialOwnInventory(client, contextId, appId, &start)
	})
}