vinderman

package module
v0.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2023 License: MIT Imports: 12 Imported by: 0

README

Vinderman

A package that can be used to interact with the epic games api, with a specific focus around fortnite services. Named after the mysterious Dr. Vinderman from the campaign mode of the game. Currently the client does not store auth or any state, as the primary purpose of the library is to be used in my fortnite utility bot that doesnt cache sessions; however, at a later point this will be implemented.

  • Installation: go get github.com/0xDistrust/Vinderman

Monumental Thanks & Credit to:

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AthenaCosmeticItem

type AthenaCosmeticItem struct {
	TemplateID string `json:"templateId"`
	Attributes struct {
		Favorite      bool `json:"favorite,omitempty"`
		Archived      bool `json:"archived,omitempty"`
		ItemSeen      bool `json:"item_seen"`
		Level         int  `json:"level"`
		MaxLevelBonus int  `json:"max_level_bonus"`
		RndSelCnt     int  `json:"rnd_sel_cnt"`
		Variants      []struct {
			Channel string   `json:"channel"`
			Active  string   `json:"active"`
			Owned   []string `json:"owned"`
		} `json:"variants,omitempty"`
		XP int `json:"xp"`
	} `json:"attributes"`
	Quantity int `json:"quantity"`
}

type AthenaProfileStats

type AthenaProfileStats struct {
	Attributes struct {
		UseRandomLoadout bool `json:"use_random_loadout"`
		PastSeasons      []struct {
			SeasonNumber    int64 `json:"seasonNumber"`
			NumWins         int64 `json:"numWins"`
			NumHighBracket  int64 `json:"numHighBracket"`
			NumLowBracket   int64 `json:"numLowBracket"`
			SeasonXP        int64 `json:"seasonXp"`
			SeasonLevel     int64 `json:"seasonLevel"`
			BookXP          int64 `json:"bookXp"`
			BookLevel       int64 `json:"bookLevel"`
			PurchasedVIP    bool  `json:"purchasedVIP"`
			NumRoyalRoyales int64 `json:"numRoyalRoyales"`
		} `json:"past_seasons"`
		SeasonMatchBoost          int64    `json:"season_match_boost"`
		Loadouts                  []string `json:"loadouts"`
		RestedXPOverflow          int64    `json:"rested_xp_overflow"`
		MFARewardClaimed          bool     `json:"mfa_reward_claimed"`
		LastXPInteraction         string   `json:"last_xp_interaction"`
		RestedXPGoldenPathGranted int64    `json:"rested_xp_golden_path_granted"`
		QuestManager              struct {
			DailyLoginInterval string `json:"dailyLoginInterval"`
			DailyQuestRerolls  int64  `json:"dailyQuestRerolls"`
		} `json:"quest_manager"`
		BookLevel         int64 `json:"book_level"`
		SeasonNum         int64 `json:"season_num"`
		SeasonUpdate      int64 `json:"season_update"`
		CreativeDynamicXP struct {
			Timespan          float64 `json:"timespan"`
			BucketXP          int64   `json:"bucketXp"`
			BankXP            int64   `json:"bankXp"`
			BankXpMult        float64 `json:"bankXpMult"`
			BoosterBucketXP   int64   `json:"boosterBucketXp"`
			BoosterXpMult     float64 `json:"boosterXpMult"`
			DailyExcessXPMult float64 `json:"dailyExcessXpMult"`
			CurrentDayXP      int64   `json:"currentDayXp"`
			CurrentDay        int64   `json:"currentDay"`
		} `json:"creative_dynamic_xp"`
		Season struct {
			NumWins        int64 `json:"numWins"`
			NumHighBracket int64 `json:"numHighBracket"`
			NumLowBracket  int64 `json:"numLowBracket"`
		} `json:"season"`
		Battlestars int64 `json:"battlestars"`
		VoteData    struct {
			ElectionId  string `json:"electionId"`
			VoteHistory map[string]struct {
				VoteCount   int64  `json:"voteCount"`
				FirstVoteAt string `json:"firstVoteAt"`
				LastVoteAt  string `json:"lastVoteAt"`
			} `json:"voteHistory"`
			VotesRemaining  int64  `json:"votesRemaining"`
			LastVoteGranted string `json:"lastVoteGranted"`
		} `json:"vote_data"`
		BattlestarsSeasonTotal        int64  `json:"battlestars_season_total"`
		LifetimeWins                  int64  `json:"lifetime_wins"`
		PartyAssistQuest              string `json:"party_assist_quest"`
		BookPurchased                 bool   `json:"book_purchased"`
		PurchasedBattlePassTierOffers []struct {
			ID    string `json:"id"`
			Count int64  `json:"count"`
		} `json:"purchased_battle_pass_tier_offers"`
		RestedXPExchange       float64 `json:"rested_xp_exchange"`
		Level                  int64   `json:"level"`
		RestedXPMult           float64 `json:"rested_xp_mult"`
		AccountLevel           int64   `json:"accountLevel"`
		PinnedQuest            string  `json:"pinned_quest"`
		LastAppliedLoadout     string  `json:"last_applied_loadout"`
		XP                     int64   `json:"xp"`
		SeasonFriendMatchBoost int64   `json:"season_friend_match_boost"`
		PurchasedBPOffers      []struct {
			OfferID           string `json:"offerId"`
			BIsFreePassReward bool   `json:"bIsFreePassReward"`
			PurchaseDate      string `json:"purchaseDate"`
			LootResult        []struct {
				ItemType    string `json:"itemType"`
				ItemGUID    string `json:"itemGuid"`
				ItemProfile string `json:"itemProfile"`
				Attributes  struct {
					Platform string `json:"platform"`
				} `json:"attributes"`
				Quantity int64 `json:"quantity"`
			} `json:"lootResult"`
			CurrencyType      string `json:"currencyType"`
			TotalCurrencyPaid int64  `json:"totalCurrencyPaid"`
		} `json:"purchased_bp_offers"`
		LastMatchEndDatetime            string `json:"last_match_end_datetime"`
		LastSTWAccoladeTransferDatetime string `json:"last_stw_accolade_transfer_datetime"`
		MtxPurchaseHistoryCopy          []struct {
			PurchaseID   string   `json:"purchaseId"`
			PurchaseDate string   `json:"purchaseDate"`
			TemplateIDs  []string `json:"templateIds"`
		} `json:"mtx_purchase_history_copy"`
	} `json:"attributes"`
}

type Avatar

type Avatar struct {
	AccountID string `json:"accountId"`
	Namespace string `json:"namespace"`
	AvatarID  string `json:"avatarId"`
}

type BRInventory

type BRInventory struct {
	Stash struct {
		Globalcash int `json:"globalcash"`
	} `json:"stash"`
}

type Caldera

type Caldera struct {
	Provider string
	Jwt      string
}

type CampaignProfileStats

type CampaignProfileStats struct {
	Attributes struct {
		NodeCosts struct {
			HomebaseNodeDefaultPage struct {
				TokenHomebasepoints int `json:"Token:homebasepoints"`
			} `json:"homebase_node_default_page"`
			ResearchNodeDefaultPage map[string]int `json:"research_node_default_page"`
		} `json:"node_costs"`
		MissionAlertRedemptionRecord struct {
			ClaimData []struct {
				MissionAlertID         string `json:"missionAlertId"`
				RedemptionDateUTC      string `json:"redemptionDateUtc"`
				EvictClaimDataAfterUTC string `json:"evictClaimDataAfterUtc"`
			} `json:"claimData"`
		} `json:"mission_alert_redemption_record"`
		ClientSettings struct {
			PinnedQuestInstances []interface{} `json:"pinnedQuestInstances"`
		} `json:"client_settings"`
		ResearchLevels struct {
			Fortitude  int `json:"fortitude"`
			Offense    int `json:"offense"`
			Resistance int `json:"resistance"`
			Technology int `json:"technology"`
		} `json:"research_levels"`
		Level               int           `json:"level"`
		SelectedHeroLoadout string        `json:"selected_hero_loadout"`
		Loadouts            []interface{} `json:"loadouts"`
		CollectionBook      struct {
			MaxBookXPLevelAchieved int `json:"maxBookXpLevelAchieved"`
		} `json:"collection_book"`
		LatentXPMarker   string `json:"latent_xp_marker"`
		MFARewardClaimed bool   `json:"mfa_reward_claimed"`
		QuestManager     struct {
			DailyLoginInterval string `json:"dailyLoginInterval"`
			DailyQuestRerolls  int    `json:"dailyQuestRerolls"`
			QuestPoolStats     struct {
				PoolStats []struct {
					PoolName         string   `json:"poolName"`
					NextRefresh      string   `json:"nextRefresh"`
					RerollsRemaining int      `json:"rerollsRemaining"`
					QuestHistory     []string `json:"questHistory"`
				} `json:"poolStats"`
				DailyLoginInterval string `json:"dailyLoginInterval"`
				PoolLockouts       struct {
					PoolLockouts []struct {
						LockoutName string `json:"lockoutName"`
					} `json:"poolLockouts"`
				} `json:"poolLockouts"`
			} `json:"questPoolStats"`
		} `json:"quest_manager"`
		LegacyResearchPointsSpent int `json:"legacy_research_points_spent"`
		GameplayStats             []struct {
			StatName  string `json:"statName"`
			StatValue int    `json:"statValue"`
		} `json:"gameplay_stats"`
		EventCurrency struct {
			TemplateID string  `json:"templateId"`
			CF         float64 `json:"cf"`
		} `json:"event_currency"`
		MatchesPlayed int           `json:"matches_played"`
		ModeLoadouts  []interface{} `json:"mode_loadouts"`
		DailyRewards  struct {
			NextDefaultReward   int    `json:"nextDefaultReward"`
			TotalDaysLoggedIn   int    `json:"totalDaysLoggedIn"`
			LastClaimDate       string `json:"lastClaimDate"`
			AdditionalSchedules struct {
				Founderspackdailyrewardtoken struct {
					RewardsClaimed int  `json:"rewardsClaimed"`
					ClaimedToday   bool `json:"claimedToday"`
				} `json:"founderspackdailyrewardtoken"`
			} `json:"additionalSchedules"`
		} `json:"daily_rewards"`
		LastAppliedLoadout string `json:"last_applied_loadout"`
		XP                 int    `json:"xp"`
		PacksGranted       int    `json:"packs_granted"`
	} `json:"attributes"`
}

type Catalog

type Catalog struct {
	RefreshIntervalHrs int       `json:"refreshIntervalHrs"`
	DailyPurchaseHrs   int       `json:"dailyPurchaseHrs"`
	Expiration         time.Time `json:"expiration"`
	Storefronts        []struct {
		Name           string `json:"name"`
		CatalogEntries []struct {
			OfferID   string `json:"offerId"`
			DevName   string `json:"devName"`
			OfferType string `json:"offerType"`
			Prices    []struct {
				CurrencyType        string    `json:"currencyType"`
				CurrencySubType     string    `json:"currencySubType"`
				RegularPrice        int       `json:"regularPrice"`
				DynamicRegularPrice int       `json:"dynamicRegularPrice"`
				FinalPrice          int       `json:"finalPrice"`
				SaleExpiration      time.Time `json:"saleExpiration"`
				BasePrice           int       `json:"basePrice"`
			} `json:"prices"`
			Categories   []interface{} `json:"categories"`
			DailyLimit   int           `json:"dailyLimit"`
			WeeklyLimit  int           `json:"weeklyLimit"`
			MonthlyLimit int           `json:"monthlyLimit"`
			Refundable   bool          `json:"refundable"`
			AppStoreID   []string      `json:"appStoreId"`
			Requirements []interface{} `json:"requirements"`
			MetaInfo     []struct {
				Key   string `json:"key,omitempty"`
				Value string `json:"value,omitempty"`
			} `json:"metaInfo"`
			CatalogGroup         string        `json:"catalogGroup"`
			CatalogGroupPriority int           `json:"catalogGroupPriority"`
			SortPriority         int           `json:"sortPriority"`
			Title                string        `json:"title"`
			ShortDescription     string        `json:"shortDescription"`
			Description          string        `json:"description"`
			DisplayAssetPath     string        `json:"displayAssetPath"`
			ItemGrants           []interface{} `json:"itemGrants"`
		} `json:"catalogEntries"`
	} `json:"storefronts"`
}

type Client

type Client struct {
	HttpClient *http.Client
	EOS        *eos.Client
	FNApiCom   *fnapicom.Client
	Nitestats  *nitestats.Client
}

func New

func New() *Client

func (Client) AddFriend

func (c Client) AddFriend(credentials UserCredentials, friendID string) (err error)

func (Client) ComposeProfileOperation

func (c Client) ComposeProfileOperation(credentials UserCredentials, operation string, profileID string, payload string) (resp *http.Response, err error)

func (Client) CreateDeviceAuth

func (c Client) CreateDeviceAuth(credentials UserCredentials) (deviceAuth DeviceAuth, err error)

func (Client) ExchangeCodeLogin

func (c Client) ExchangeCodeLogin(clientId string, clientSecret string, code string) (credentials UserCredentials, err error)

func (Client) FavoriteMnemonic

func (c Client) FavoriteMnemonic(credentials UserCredentials, mnemonic string) (err error)

func (Client) FetchAvatar

func (c Client) FetchAvatar(credentials UserCredentials) (avatar Avatar, err error)

func (Client) FetchAvatarBulk

func (c Client) FetchAvatarBulk(credentials UserCredentials, accountIDs ...string) (avatar []Avatar, err error)

func (Client) FetchAvatarURL

func (c Client) FetchAvatarURL(credentials UserCredentials) (string, error)

func (Client) FetchBRInventory

func (c Client) FetchBRInventory(credentials UserCredentials) (inventory BRInventory, err error)

func (Client) FetchCaldera

func (c Client) FetchCaldera() (caldera Caldera, err error)

func (Client) FetchCatalog

func (c Client) FetchCatalog(credentials UserCredentials) (catalog Catalog, err error)

func (Client) FetchFriend added in v0.0.5

func (c Client) FetchFriend(credentials UserCredentials, friendID string) (friendship Friend, err error)

func (Client) FetchFriends added in v0.0.5

func (c Client) FetchFriends(credentials UserCredentials) (friendship []Friend, err error)

func (Client) FetchFriendsIncoming added in v0.0.5

func (c Client) FetchFriendsIncoming(credentials UserCredentials) (friendship []Friend, err error)

func (Client) FetchFriendsOutgoing added in v0.0.5

func (c Client) FetchFriendsOutgoing(credentials UserCredentials) (friendship []Friend, err error)

func (Client) FetchFriendsSuggested added in v0.0.5

func (c Client) FetchFriendsSuggested(credentials UserCredentials) (friendship []SuggestedFriend, err error)

func (Client) FetchFriendsSummary added in v0.0.5

func (c Client) FetchFriendsSummary(credentials UserCredentials) (friendship FriendsSummary, err error)

func (Client) FetchMnemonicInfo

func (c Client) FetchMnemonicInfo(credentials UserCredentials, mnemonic string) (info MnemonicInfo, err error)

func (Client) FetchOffers

func (c Client) FetchOffers(credentials UserCredentials, offerIDs ...string) (offers Offers, err error)

func (Client) FetchUserByDisplayName

func (c Client) FetchUserByDisplayName(credentials UserCredentials, displayName string) (userLookup UserLookup, err error)

func (Client) FetchUserByExternalDisplayName

func (c Client) FetchUserByExternalDisplayName(credentials UserCredentials, displayName string, platform string) (userExternalLookup UserExternalLookup, err error)

func (Client) GetClientCredentials

func (c Client) GetClientCredentials(clientId string, clientSecret string) (credentials ClientCredentials, err error)

func (Client) GetExchangeCode

func (c Client) GetExchangeCode(credentials UserCredentials) (exchange Exchange, err error)

func (Client) ProfileOperation

func (c Client) ProfileOperation(credentials UserCredentials, operation string, profileId string, payload any) (any, error)

func (Client) QueryProfile added in v0.0.5

func (c Client) QueryProfile(credentials UserCredentials, profileId string) (any, error)

func (Client) RefreshTokenLogin

func (c Client) RefreshTokenLogin(clientId string, clientSecret string, refreshToken string) (credentials UserCredentials, err error)

func (Client) RemoveFriend added in v0.0.5

func (c Client) RemoveFriend(credentials UserCredentials, friendID string) (err error)

func (Client) RemoveFriendNickname added in v0.0.5

func (c Client) RemoveFriendNickname(credentials UserCredentials, friendID string) (err error)

func (Client) RemoveFriendsBulk added in v0.0.5

func (c Client) RemoveFriendsBulk(credentials UserCredentials) (err error)

func (Client) Request

func (c Client) Request(method string, url string, headers http.Header, body string) (*http.Response, error)

func (Client) SearchUsers

func (c Client) SearchUsers(credentials UserCredentials, displayName string, platform string) (offers []UserSearchData, err error)

func (Client) SetFriendNickname added in v0.0.5

func (c Client) SetFriendNickname(credentials UserCredentials, friendID string, nickname string) (err error)

func (Client) UnfavoriteMnemonic

func (c Client) UnfavoriteMnemonic(credentials UserCredentials, mnemonic string) (err error)

type ClientCredentials

type ClientCredentials eos.ClientCredentials

type CollectionBookPeopleProfileStats

type CollectionBookPeopleProfileStats struct {
	Attributes struct{} `json:"attributes"`
}

type CollectionBookSchematicsProfileStats

type CollectionBookSchematicsProfileStats struct {
	Attributes struct{} `json:"attributes"`
}

type CollectionsProfileStats

type CollectionsProfileStats struct {
	Attributes struct {
		CurrentSeason int `json:"current_season"`
	} `json:"attributes"`
}

type CommonCoreMtxItem added in v0.0.5

type CommonCoreMtxItem struct {
	TemplateID string `json:"templateId"`
	Quantity   int    `json:"quantity"`
	Attributes struct {
		Platform string `json:"platform"`
	} `json:"attributes"`
}

type CommonCoreProfileStats

type CommonCoreProfileStats struct {
	Attributes struct {
		SurveyData struct {
			AllSurveysMetadata struct {
				NumTimesCompleted int    `json:"numTimesCompleted"`
				LastTimeCompleted string `json:"lastTimeCompleted"`
			} `json:"allSurveysMetadata"`
			Metadata map[string]struct {
				NumTimesCompleted int    `json:"numTimesCompleted"`
				LastTimeCompleted string `json:"lastTimeCompleted"`
			} `json:"metadata"`
		} `json:"survey_data"`
		IntroGamePlayed    bool `json:"intro_game_played"`
		MtxPurchaseHistory struct {
			RefundsUsed               int    `json:"refundsUsed"`
			RefundCredits             int    `json:"refundCredits"`
			TokenRefreshReferenceTime string `json:"tokenRefreshReferenceTime"`
			Purchases                 []struct {
				PurchaseID         string        `json:"purchaseId"`
				OfferID            string        `json:"offerId"`
				PurchaseDate       string        `json:"purchaseDate"`
				FreeRefundEligible bool          `json:"freeRefundEligible"`
				Fulfillments       []interface{} `json:"fulfillments"`
				LootResult         []struct {
					ItemType    string `json:"itemType"`
					ItemGUID    string `json:"itemGuid"`
					ItemProfile string `json:"itemProfile"`
					Quantity    int    `json:"quantity"`
				} `json:"lootResult"`
				TotalMtxPaid int `json:"totalMtxPaid"`
				Metadata     struct {
				} `json:"metadata"`
				GameContext string `json:"gameContext"`
				RefundDate  string `json:"refundDate,omitempty"`
				UndoTimeout string `json:"undoTimeout,omitempty"`
			} `json:"purchases"`
		} `json:"mtx_purchase_history"`
		UndoCooldowns []struct {
			OfferID         string `json:"offerId"`
			CooldownExpires string `json:"cooldownExpires"`
		} `json:"undo_cooldowns"`
		MtxAffiliateSetTime string `json:"mtx_affiliate_set_time"`
		CurrentMtxPlatform  string `json:"current_mtx_platform"`
		MtxAffiliate        string `json:"mtx_affiliate"`
		WeeklyPurchases     struct {
			LastInterval string         `json:"lastInterval"`
			PurchaseList map[string]int `json:"purchaseList"`
		} `json:"weekly_purchases"`
		DailyPurchases struct {
			LastInterval string         `json:"lastInterval"`
			PurchaseList map[string]int `json:"purchaseList"`
		} `json:"daily_purchases"`
		InAppPurchases struct {
			Receipts          []string       `json:"receipts"`
			IgnoredReceipts   []interface{}  `json:"ignoredReceipts"`
			FulfillmentCounts map[string]int `json:"fulfillmentCounts"`
			RefreshTimers     map[string]struct {
				NextEntitlementRefresh string `json:"nextEntitlementRefresh"`
			} `json:"refreshTimers"`
		} `json:"in_app_purchases"`
		ForcedIntroPlayed  string `json:"forced_intro_played"`
		RmtPurchaseHistory struct {
			Purchases []struct {
				FulfillmentID string `json:"fulfillmentId"`
				PurchaseDate  string `json:"purchaseDate"`
				LootResult    []struct {
					ItemType    string `json:"itemType"`
					ItemGUID    string `json:"itemGuid"`
					ItemProfile string `json:"itemProfile"`
					Attributes  struct {
						Platform string `json:"platform"`
					} `json:"attributes"`
					Quantity int `json:"quantity"`
				} `json:"lootResult"`
			} `json:"purchases"`
		} `json:"rmt_purchase_history"`
		UndoTimeout      string `json:"undo_timeout"`
		MonthlyPurchases struct {
			LastInterval string         `json:"lastInterval"`
			PurchaseList map[string]int `json:"purchaseList"`
		} `json:"monthly_purchases"`
		AllowedToSendGifts    bool   `json:"allowed_to_send_gifts"`
		MFAEnabled            bool   `json:"mfa_enabled"`
		AllowedToReceiveGifts bool   `json:"allowed_to_receive_gifts"`
		MtxAffiliateID        string `json:"mtx_affiliate_id"`
		GiftHistory           struct {
			NumSent      int               `json:"num_sent"`
			SentTo       map[string]string `json:"sentTo"`
			NumReceived  int               `json:"num_received"`
			ReceivedFrom map[string]string `json:"receivedFrom"`
			Gifts        []struct {
				Date        string `json:"date"`
				OfferID     string `json:"offerId"`
				ToAccountID string `json:"toAccountId"`
			} `json:"gifts"`
		} `json:"gift_history"`
	} `json:"attributes"`
}

type CommonPublicProfileStats

type CommonPublicProfileStats struct {
	Attributes struct {
		BannerColor  string `json:"banner_color"`
		HomebaseName string `json:"homebase_name"`
		BannerIcon   string `json:"banner_icon"`
	} `json:"attributes"`
}

type CreativeProfileStats

type CreativeProfileStats struct {
	Attributes struct {
		LastUsedProject string `json:"last_used_project"`
		MaxIslandPlots  int    `json:"max_island_plots"`
		LastUsedPlot    string `json:"last_used_plot"`
	} `json:"attributes"`
}

type DeviceAuth

type DeviceAuth struct {
	AccountID string `json:"accountId"`
	Created   struct {
		DateTime  time.Time `json:"dateTime"`
		IpAddress string    `json:"ipAddress"`
		Location  string    `json:"location"`
	} `json:"created"`
	DeviceId  string `json:"deviceId"`
	Secret    string `json:"secret"`
	UserAgent string `json:"userAgent"`
}

type EpicErrorResponse

type EpicErrorResponse eos.EpicErrorResponse

type Exchange

type Exchange eos.Exchange

type Friend added in v0.0.5

type Friend struct {
	AccountId string        `json:"accountId"`
	Groups    []interface{} `json:"groups"`
	Mutual    int           `json:"mutual"`
	Alias     string        `json:"alias"`
	Note      string        `json:"note"`
	Favorite  bool          `json:"favorite"`
	Created   time.Time     `json:"created"`
}

type FriendsSummary added in v0.0.5

type FriendsSummary struct {
	Friends   []Friend          `json:"friends"`
	Incoming  []PendingFriend   `json:"incoming"`
	Outgoing  []PendingFriend   `json:"outgoing"`
	Suggested []SuggestedFriend `json:"suggested"`
	Blocklist []interface{}     `json:"blocklist"`
	Settings  struct {
		AcceptInvites string `json:"acceptInvites"`
		MutualPrivacy string `json:"mutualPrivacy"`
	} `json:"settings"`
	LimitsReached struct {
		Incoming bool `json:"incoming"`
		Outgoing bool `json:"outgoing"`
		Accepted bool `json:"accepted"`
	} `json:"limitsReached"`
}

type MetadataProfileStats

type MetadataProfileStats struct {
	Attributes struct{} `json:"attributes"`
}

type MnemonicInfo

type MnemonicInfo struct {
	AccountID       string    `json:"accountId"`
	Active          bool      `json:"active"`
	Created         time.Time `json:"createdAt"`
	CreatorName     string    `json:"creatorName"`
	DescriptionTags []string  `json:"descriptionTags"`
	Disabled        bool      `json:"disabled"`
	LinkType        string    `json:"linkType"`
	Metadata        struct {
		DynamicXp struct {
			CalibrationPhase  string      `json:"calibrationPhase"`
			UniqueGameVersion interface{} `json:"uniqueGameVersion"` // somtimes int, sometimes string, huge pain
		} `json:"dynamicXp"`
		GeneratedIslandUrlsOld struct {
			URL  string `json:"url"`
			URLM string `json:"url_m"`
			URLS string `json:"url_s"`
		} `json:"generated_island_urls_old"`
		ImageURL     string `json:"image_url"`
		Introduction string `json:"introduction"`
		IslandType   string `json:"islandType"`
		Locale       string `json:"locale"`
		Matchmaking  struct {
			BAllowJoinInProgress   bool   `json:"bAllowJoinInProgress"`
			JoinInProgressTeam     int    `json:"joinInProgressTeam"`
			JoinInProgressType     string `json:"joinInProgressType"`
			MaximumNumberOfPlayers int    `json:"maximumNumberOfPlayers"`
			MinimumNumberOfPlayers int    `json:"minimumNumberOfPlayers"`
			MmsType                string `json:"mmsType"`
			NumberOfTeams          int    `json:"numberOfTeams"`
			OverridePlaylist       string `json:"override_Playlist"`
			PlayerCount            int    `json:"playerCount"`
			PlayersPerTeam         int    `json:"playersPerTeam"`
		} `json:"matchmaking"`
		SupportCode string `json:"supportCode"`
		Tagline     string `json:"tagline"`
		Title       string `json:"title"`
	} `json:"metadata"`
	Mnemonic         string    `json:"mnemonic"`
	ModerationStatus string    `json:"moderationStatus"`
	Namespace        string    `json:"namespace"`
	Published        time.Time `json:"published"`
	Version          int       `json:"version"`
}

type Offers

type Offers map[string]struct {
	ID              string `json:"id"`
	Title           string `json:"title"`
	Description     string `json:"description"`
	LongDescription string `json:"longDescription"`
	KeyImages       []struct {
		Type         string    `json:"type"`
		URL          string    `json:"url"`
		MD5          string    `json:"md5"`
		Width        int       `json:"width"`
		Height       int       `json:"height"`
		Size         int       `json:"size"`
		UploadedDate time.Time `json:"uploadedDate"`
	} `json:"keyImages"`
	Categories []struct {
		Path string `json:"path"`
	} `json:"categories"`
	Namespace        string    `json:"namespace"`
	Status           string    `json:"status"`
	CreationDate     time.Time `json:"creationDate"`
	LastModifiedDate time.Time `json:"lastModifiedDate"`
	CustomAttributes struct {
	} `json:"customAttributes"`
	InternalName string `json:"internalName"`
	Recurrence   string `json:"recurrence"`
	Items        []struct {
		ID              string        `json:"id"`
		Title           string        `json:"title"`
		Description     string        `json:"description"`
		LongDescription string        `json:"longDescription"`
		KeyImages       []interface{} `json:"keyImages"`
		Categories      []struct {
			Path string `json:"path"`
		} `json:"categories"`
		Namespace           string        `json:"namespace"`
		Status              string        `json:"status"`
		CreationDate        time.Time     `json:"creationDate"`
		LastModifiedDate    time.Time     `json:"lastModifiedDate"`
		EntitlementName     string        `json:"entitlementName"`
		EntitlementType     string        `json:"entitlementType"`
		ItemType            string        `json:"itemType"`
		ReleaseInfo         []interface{} `json:"releaseInfo"`
		Developer           string        `json:"developer"`
		DeveloperID         string        `json:"developerId"`
		UseCount            int           `json:"useCount"`
		EulaIds             []interface{} `json:"eulaIds"`
		EndOfSupport        bool          `json:"endOfSupport"`
		NsMajorItems        []interface{} `json:"nsMajorItems"`
		NsDependsOnDlcItems []interface{} `json:"nsDependsOnDlcItems"`
		Unsearchable        bool          `json:"unsearchable"`
	} `json:"items"`
	CurrencyCode          string `json:"currencyCode"`
	CurrentPrice          int    `json:"currentPrice"`
	Price                 int    `json:"price"`
	BasePrice             int    `json:"basePrice"`
	BasePriceCurrencyCode string `json:"basePriceCurrencyCode"`
	RecurringPrice        int    `json:"recurringPrice"`
	FreeDays              int    `json:"freeDays"`
	MaxBillingCycles      int    `json:"maxBillingCycles"`
	Seller                struct {
		ID   string `json:"id"`
		Name string `json:"name"`
	} `json:"seller"`
	ViewableDate                       time.Time     `json:"viewableDate"`
	EffectiveDate                      time.Time     `json:"effectiveDate"`
	VatIncluded                        bool          `json:"vatIncluded"`
	IsCodeRedemptionOnly               bool          `json:"isCodeRedemptionOnly"`
	IsFeatured                         bool          `json:"isFeatured"`
	TaxSkuID                           string        `json:"taxSkuId"`
	MerchantGroup                      string        `json:"merchantGroup"`
	PriceTier                          string        `json:"priceTier"`
	URLSlug                            string        `json:"urlSlug"`
	RoleNamesToGrant                   []interface{} `json:"roleNamesToGrant"`
	Tags                               []interface{} `json:"tags"`
	PurchaseLimit                      int           `json:"purchaseLimit"`
	IgnoreOrder                        bool          `json:"ignoreOrder"`
	FulfillToGroup                     bool          `json:"fulfillToGroup"`
	FraudItemType                      string        `json:"fraudItemType"`
	ShareRevenue                       bool          `json:"shareRevenue"`
	OfferType                          string        `json:"offerType"`
	Unsearchable                       bool          `json:"unsearchable"`
	ReleaseOffer                       string        `json:"releaseOffer"`
	Title4Sort                         string        `json:"title4Sort"`
	SelfRefundable                     bool          `json:"selfRefundable"`
	RefundType                         string        `json:"refundType"`
	VisibilityType                     string        `json:"visibilityType"`
	CurrencyDecimals                   int           `json:"currencyDecimals"`
	AllowPurchaseForPartialOwned       bool          `json:"allowPurchaseForPartialOwned"`
	ShareRevenueWithUnderageAffiliates bool          `json:"shareRevenueWithUnderageAffiliates"`
	PlatformWhitelist                  []interface{} `json:"platformWhitelist"`
	PlatformBlacklist                  []interface{} `json:"platformBlacklist"`
	PartialItemPrerequisiteCheck       bool          `json:"partialItemPrerequisiteCheck"`
}

type OutpostProfileStats

type OutpostProfileStats struct {
	Attributes struct{} `json:"attributes"`
}

type PendingFriend added in v0.0.5

type PendingFriend struct {
	AccountId string    `json:"accountId"`
	Mutual    int       `json:"mutual"`
	Favorite  bool      `json:"favorite"`
	Created   time.Time `json:"created"`
}

type Profile

type Profile[T ProfileStatsType] struct {
	ProfileRevision            int    `json:"profileRevision"`
	ProfileID                  string `json:"profileId"`
	ProfileChangesBaseRevision int    `json:"profileChangesBaseRevision"`
	ProfileChanges             []struct {
		ChangeType string `json:"changeType"`
		Profile    struct {
			Created         string                     `json:"created"`
			Updated         string                     `json:"updated"`
			RVN             int                        `json:"rvn"`
			WipeNumber      int                        `json:"wipeNumber"`
			AccountId       string                     `json:"accountId"`
			ProfileId       string                     `json:"profileId"`
			Version         string                     `json:"version"`
			Items           map[string]json.RawMessage `json:"items"`
			Stats           T                          `json:"stats"`
			CommandRevision int                        `json:"commandRevision"`
		} `json:"profile"`
	} `json:"profileChanges"`
	ProfileCommandRevision int       `json:"profileCommandRevision"`
	ServerTime             time.Time `json:"serverTime"`
	ResponseVersion        int       `json:"responseVersion"`
}

type RecycleBinProfileStats

type RecycleBinProfileStats struct {
	Attributes struct {
		NextReceiptSequence int `json:"next_receipt_sequence"`
	} `json:"attributes"`
}

type SuggestedFriend added in v0.0.5

type SuggestedFriend struct {
	AccountId   string `json:"accountId"`
	Connections struct {
		Epic struct {
			Id          string `json:"id"`
			SortFactors struct {
				X int       `json:"x"`
				Y int       `json:"y"`
				K time.Time `json:"k"`
				L time.Time `json:"l"`
			} `json:"sortFactors"`
		} `json:"epic"`
	} `json:"connections"`
	Mutual int `json:"mutual"`
}

type Theater0ProfileStats

type Theater0ProfileStats struct {
	Attributes struct {
		PlayerLoadout struct {
			BPlayerIsNew          bool `json:"bPlayerIsNew"`
			PrimaryQuickBarRecord struct {
				Slots []struct {
					Items []string `json:"items"`
				} `json:"slots"`
			} `json:"primaryQuickBarRecord"`
			SecondaryQuickBarRecord struct {
				Slots []struct {
					Items []string `json:"items"`
				} `json:"slots"`
			} `json:"secondaryQuickBarRecord"`
			ZonesCompleted int `json:"zonesCompleted"`
		} `json:"player_loadout"`
	} `json:"attributes"`
}

type Theater1ProfileStats

type Theater1ProfileStats struct {
	Attributes struct {
		PlayerLoadout struct {
			BPlayerIsNew             bool          `json:"bPlayerIsNew"`
			PinnedSchematicInstances []interface{} `json:"pinnedSchematicInstances"`
			PrimaryQuickBarRecord    struct {
				CurrentFocusedSlot   int `json:"currentFocusedSlot"`
				PreviousFocusedSlot  int `json:"previousFocusedSlot"`
				SecondaryFocusedSlot int `json:"secondaryFocusedSlot"`
				Slots                []struct {
					Items []string `json:"items"`
				} `json:"slots"`
				DataDefinition struct {
					QuickbarSlots []struct {
						AcceptedItemTypes []string `json:"acceptedItemTypes"`
						BStaticSlot       bool     `json:"bStaticSlot"`
						DefaultItem       string   `json:"defaultItem"`
					} `json:"quickbarSlots"`
				} `json:"dataDefinition"`
			} `json:"primaryQuickBarRecord"`
			SecondaryQuickBarRecord struct {
				CurrentFocusedSlot   int `json:"currentFocusedSlot"`
				PreviousFocusedSlot  int `json:"previousFocusedSlot"`
				SecondaryFocusedSlot int `json:"secondaryFocusedSlot"`
				Slots                []struct {
					Items []string `json:"items"`
				} `json:"slots"`
				DataDefinition struct {
					QuickbarSlots []struct {
						AcceptedItemTypes []string `json:"acceptedItemTypes"`
						BStaticSlot       bool     `json:"bStaticSlot"`
						DefaultItem       string   `json:"defaultItem"`
					} `json:"quickbarSlots"`
				} `json:"dataDefinition"`
			} `json:"secondaryQuickBarRecord"`
			ZonesCompleted int `json:"zonesCompleted"`
		} `json:"player_loadout"`
	} `json:"attributes"`
}

type Theater2ProfileStats

type Theater2ProfileStats struct {
	Attributes struct {
		PlayerLoadout struct {
			BPlayerIsNew          bool `json:"bPlayerIsNew"`
			PrimaryQuickBarRecord struct {
				Slots []struct {
					Items []string `json:"items,omitempty"`
				} `json:"slots"`
			} `json:"primaryQuickBarRecord"`
			ZonesCompleted int `json:"zonesCompleted"`
		} `json:"player_loadout"`
		LastEventInstanceKey string `json:"last_event_instance_key"`
	} `json:"attributes"`
}

type UserCredentials

type UserCredentials struct {
	AccessToken      string    `json:"access_token"`
	AccountID        string    `json:"account_id"`
	ApplicationId    string    `json:"application_id"`
	ClientId         string    `json:"client_id"`
	ExpiresAt        time.Time `json:"expires_at"`
	ExpiresIn        int       `json:"expires_in"`
	RefreshExpiresAt time.Time `json:"refresh_expires_at"`
	RefreshExpiresIn int       `json:"refresh_expires_in"`
	RefreshToken     string    `json:"refresh_token"`
	Scope            []string  `json:"scope"`
	TokenType        string    `json:"token_type"`
}

type UserExternalLookup

type UserExternalLookup []struct {
	ID            string `json:"id"`
	DisplayName   string `json:"displayName"`
	ExternalAuths map[string]struct {
		AccountID           string        `json:"accountId"`
		Type                string        `json:"type"`
		ExternalAuthIDType  string        `json:"externalAuthIdType"`
		ExternalDisplayName string        `json:"externalDisplayName"`
		AuthIds             []interface{} `json:"authIds"`
	} `json:"externalAuths"`
}

type UserLookup

type UserLookup struct {
	AgeGroup                   string    `json:"ageGroup"`
	CabinedMode                bool      `json:"cabinedMode"`
	CanUpdateDisplayName       bool      `json:"canUpdateDisplayName"`
	CanUpdateDisplayNameNext   time.Time `json:"canUpdateDisplayNameNext"`
	Country                    string    `json:"country"`
	DisplayName                string    `json:"displayName"`
	Email                      string    `json:"email"`
	EmailVerified              bool      `json:"emailVerified"`
	FailedLoginAttempts        int       `json:"failedLoginAttempts"`
	HasHashedEmail             bool      `json:"hasHashedEmail"`
	Headless                   bool      `json:"headless"`
	ID                         string    `json:"id"`
	LastDisplayNameChange      time.Time `json:"lastDisplayNameChange"`
	LastLogin                  time.Time `json:"lastLogin"`
	LastName                   string    `json:"lastName"`
	MinorExpected              bool      `json:"minorExpected"`
	MinorStatus                string    `json:"minorStatus"`
	MinorVerified              bool      `json:"minorVerified"`
	Name                       string    `json:"name"`
	NumberOfDisplayNameChanges int       `json:"numberOfDisplayNameChanges"`
	PreferredLanguage          string    `json:"preferredLanguage"`
	TFAEnabled                 bool      `json:"tfaEnabled"`
}

type UserSearchData

type UserSearchData struct {
	AccountID string `json:"accountId"`
	Matches   []struct {
		Value    string `json:"value"`
		Platform string `json:"platform"`
	} `json:"matches"`
	MatchType    string `json:"matchType"`
	EpicMutuals  int    `json:"epicMutuals"`
	SortPosition int    `json:"sortPosition"`
}

Directories

Path Synopsis
external

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL