mirror of
https://github.com/cwinfo/matterbridge.git
synced 2025-06-28 07:59:24 +00:00
Add vendor (steam)
This commit is contained in:
111
vendor/github.com/Philipp15b/go-steam/trade/tradeapi/status.go
generated
vendored
Normal file
111
vendor/github.com/Philipp15b/go-steam/trade/tradeapi/status.go
generated
vendored
Normal file
@ -0,0 +1,111 @@
|
||||
package tradeapi
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"github.com/Philipp15b/go-steam/jsont"
|
||||
"github.com/Philipp15b/go-steam/steamid"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
type Status struct {
|
||||
Success bool
|
||||
Error string
|
||||
NewVersion bool `json:"newversion"`
|
||||
TradeStatus TradeStatus `json:"trade_status"`
|
||||
Version uint
|
||||
LogPos int
|
||||
Me User
|
||||
Them User
|
||||
Events EventList
|
||||
}
|
||||
|
||||
type TradeStatus uint
|
||||
|
||||
const (
|
||||
TradeStatus_Open TradeStatus = 0
|
||||
TradeStatus_Complete = 1
|
||||
TradeStatus_Empty = 2 // when both parties trade no items
|
||||
TradeStatus_Cancelled = 3
|
||||
TradeStatus_Timeout = 4 // the partner timed out
|
||||
TradeStatus_Failed = 5
|
||||
)
|
||||
|
||||
type EventList map[uint]*Event
|
||||
|
||||
// The EventList can either be an array or an object of id -> event
|
||||
func (e *EventList) UnmarshalJSON(data []byte) error {
|
||||
// initialize the map if it's nil
|
||||
if *e == nil {
|
||||
*e = make(EventList)
|
||||
}
|
||||
|
||||
o := make(map[string]*Event)
|
||||
err := json.Unmarshal(data, &o)
|
||||
// it's an object
|
||||
if err == nil {
|
||||
for is, event := range o {
|
||||
i, err := strconv.ParseUint(is, 10, 32)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
(*e)[uint(i)] = event
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// it's an array
|
||||
var a []*Event
|
||||
err = json.Unmarshal(data, &a)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
for i, event := range a {
|
||||
(*e)[uint(i)] = event
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type Event struct {
|
||||
SteamId steamid.SteamId `json:",string"`
|
||||
Action Action `json:",string"`
|
||||
Timestamp uint64
|
||||
|
||||
AppId uint32
|
||||
ContextId uint64 `json:",string"`
|
||||
AssetId uint64 `json:",string"`
|
||||
|
||||
Text string // only used for chat messages
|
||||
|
||||
// The following is used for SetCurrency
|
||||
CurrencyId uint64 `json:",string"`
|
||||
OldAmount uint64 `json:"old_amount,string"`
|
||||
NewAmount uint64 `json:"amount,string"`
|
||||
}
|
||||
|
||||
type Action uint
|
||||
|
||||
const (
|
||||
Action_AddItem Action = 0
|
||||
Action_RemoveItem = 1
|
||||
Action_Ready = 2
|
||||
Action_Unready = 3
|
||||
Action_Accept = 4
|
||||
Action_SetCurrency = 6
|
||||
Action_ChatMessage = 7
|
||||
)
|
||||
|
||||
type User struct {
|
||||
Ready jsont.UintBool
|
||||
Confirmed jsont.UintBool
|
||||
SecSinceTouch int `json:"sec_since_touch"`
|
||||
ConnectionPending bool `json:"connection_pending"`
|
||||
Assets interface{}
|
||||
Currency interface{} // either []*Currency or empty string
|
||||
}
|
||||
|
||||
type Currency struct {
|
||||
AppId uint64 `json:",string"`
|
||||
ContextId uint64 `json:",string"`
|
||||
CurrencyId uint64 `json:",string"`
|
||||
Amount uint64 `json:",string"`
|
||||
}
|
Reference in New Issue
Block a user