Files
WotBlitzStatisticsBlazor/WotBlitzStatisticsPro.Blazor/graphql/schema.graphql
T

481 lines
13 KiB
GraphQL
Raw Normal View History

2021-05-14 09:58:38 +02:00
schema {
query: Query
mutation: Mutation
}
type Query {
"Finds Wargaming accounts by nick"
2021-05-28 16:56:12 +02:00
players("Search string." accountNick: String! "Wargaming Realm." realmType: RealmType "Language for the output data." language: RequestLanguage): [AccountsSearchResponseItem!]
2021-05-14 09:58:38 +02:00
"Finds clans by search string"
clans("Search string." searchString: String! "Wargaming Realm." realmType: RealmType "Language for the output data." language: RequestLanguage): [ClanSearchResponseItem!]
2021-05-14 09:58:38 +02:00
"Gathers all account information"
accountInfo("AccountId" accountId: Long! "Account region" realmType: RealmType "Request language" requestLanguage: RequestLanguage): AccountInfoResponse!
"Account statistics history for period since \"startDate\""
accountInfoHistory("AccountId" accountId: Long! "Date from history started" startDate: DateTime! "Account region" realmType: RealmType "Request language" requestLanguage: RequestLanguage): AccountInfoHistoryResponse!
"Tank statistics history for period since \"startDate\""
tankInfoHistory("AccountId" accountId: Long! "TankId" tankId: Long! "Date from history started" startDate: DateTime! "Account region" realmType: RealmType "Request language" requestLanguage: RequestLanguage): TankInfoHistoryResponse!
"Returns information about player's achievements"
accountAchievements("AccountId" accountId: Long! "Account region" realmType: RealmType "Request language" requestLanguage: RequestLanguage): AccountAchievementsResponse!
"Returns information about player's tank achievements"
tankAchievements("AccountId" accountId: Long! "Account tank Id" tankId: Long! "Account region" realmType: RealmType "Request language" requestLanguage: RequestLanguage): AccountAchievementsResponse!
}
type Mutation {
"Updates the necessary dictionaries in database.\n\n\n**Returns:**\nInformation about what was updated."
updateDictionaries("Determines what dictionaries should be updated." updateDictionariesRequest: UpdateDictionariesRequestInput!): [UpdateDictionariesResponseItem!]!
"Gathers all account information"
gatherAccountInformation("Account region" realmType: RealmType! "AccountId" accountId: Long! "Request language" requestLanguage: RequestLanguage!): AccountInfoResponse!
"This method accepts GitHub oauth code, and returns JWT token with GutHub user as claim"
gitHubAuthenticate("OAuth code can be generated by this URL https:\/\/github.com\/login\/oauth\/authorize?client_id={yourClientId}" oauthCode: String!): String!
}
"Mastery"
enum MarkOfMastery {
"No mastery"
NONE
"Third mark of mastery"
RANK3
"Second mark of mastery"
RANK2
"First mark of mastery"
RANK1
"Master mark"
MASTER
}
"Wargaming API Realm"
enum RealmType {
"Russian region"
RU
"European region"
EU
"North America"
NA
"Asian region"
ASIA
}
"Wargaming API request language"
enum RequestLanguage {
"Русский"
RU
"English"
EN
"Deutsch"
DE
}
"Information about player"
type AccountInfoResponse {
"Clan info"
clanInfo: ClanInfoResponse
"Player account identifier"
accountId: Long!
"Account creation date"
createdAt: DateTime!
"Last battle time"
lastBattleTime: DateTime!
"Player's nick"
nickname: String
"Battles count"
battles: Long!
"Capture points"
capturePoints: Long!
"Total damage amount"
damageDealt: Long!
"Total amount of received damage"
damageReceived: Long!
"Dropped capture points"
droppedCapturePoints: Long!
"Total amount of frags"
frags: Long!
"Total amount of fras grater ten 8 lvl"
frags8P: Long!
"Total amount of hits"
hits: Long!
"Total amount of losses"
losses: Long!
"Max frags per battle"
maxFrags: Long!
"Tank id, which kills max frags per battle"
maxFragsTankId: Long!
"Max experience per battle"
maxXp: Long!
"Tank Id which created max experience per battle"
maxXpTankId: Long!
"Total shots count"
shots: Long!
"Total count of spotted vehicles"
spotted: Long!
"Total count of survived battles"
survivedBattles: Long!
"Total count of survived and winned battles"
winAndSurvived: Long!
"Total wins count"
wins: Long!
"Total amount of experience"
xp: Long!
"Average tier"
avgTier: Float!
"Wn7 coefficient"
wn7: Float!
"Player's win rate"
winRate: Decimal!
"Player's average damage"
avgDamage: Decimal!
"Player's average XP"
avgXp: Decimal!
"Damage coefficient"
damageCoefficient: Decimal!
"Rate of survival"
survivalRate: Decimal!
"All player's tanks"
tanks: [TankInfoResponse!]
}
"Account search result item"
type AccountsSearchResponseItem {
"Player accountId"
accountId: Long!
"Player nick"
nickname: String
"Clan tag. Null if player doesn't have clan membership"
clanTag: String
"Win rate from 0 to 100"
winRate: Int!
"Player's battles count"
battlesCount: Long!
"Last battle time"
lastBattle: DateTime!
}
enum ApplyPolicy {
BEFORE_RESOLVER
AFTER_RESOLVER
}
"Clan information"
type ClanInfoResponse {
"Clan ID"
clanId: Long!
"Date of joining clan"
joinedAt: DateTime!
"Player clan role ID"
role: String
"Player clan role"
roleLocalized: String!
"Clan name"
name: String
"Date of clan creation"
createdAt: DateTime!
"Clan creator account id"
creatorId: Long
"Clan creator nick"
creatorName: String
"Clan description"
description: String
"Html Clan description"
descriptionHtml: String
"Clan commander accountId"
leaderId: Long
"Clan commander nick"
leaderName: String
"Clan members count"
membersCount: Long
"Clan motto"
motto: String
"Renamed clan name"
oldName: String
"Renamed clan tag"
oldTag: String
"Clan tag"
tag: String
"Clan info updated at"
updatedAt: DateTime
}
"The `Long` scalar type represents non-fractional signed whole 64-bit numeric values. Long can represent values between -(2^63) and 2^63 - 1."
scalar Long
"The `DateTime` scalar represents an ISO-8601 compliant date time type."
scalar DateTime
"The built-in `Decimal` scalar type."
scalar Decimal
"Information about player's tank"
type TankInfoResponse {
"Player account identifier"
accountId: Long!
"Tank identifier"
tankId: Long!
"Total time in battle until tank killed"
battleLifeTimeInSeconds: Int!
"Last battle"
lastBattleTime: DateTime!
"Information is tank in garage or not. Information is not provided without Auth token"
inGarage: Boolean
"Mark of Mastery"
markOfMastery: MarkOfMastery!
"Battles count"
battles: Long!
"Base capture points"
capturePoints: Long!
"Damage dealt"
damageDealt: Long!
"Damage received"
damageReceived: Long!
"Base dropped capture points"
droppedCapturePoints: Long!
"Frags count"
frags: Long!
"Frags count after 8 tier"
frags8P: Long!
"Hits count"
hits: Long!
"Losses count"
losses: Long!
"Max frags per battle"
maxFrags: Long!
"Max XP per battle"
maxXp: Long!
"Shots count"
shots: Long!
"Spotted vehicles count"
spotted: Long!
"Amount of survived battles"
survivedBattles: Long!
"Amount of survived and wined battles"
winAndSurvived: Long!
"Wins count"
wins: Long!
"Total experience"
xp: Long!
"Wn7 coefficient"
wn7: Float!
"Average life time in battle until tank is killed."
avgBattleLifeTimeInMinutes: Decimal!
"Tank's win rate"
winRate: Decimal!
"Average tank's damage"
avgDamage: Decimal!
"Average XP"
avgXp: Decimal!
"Damage coefficient"
damageCoefficient: Decimal!
"Rate of survival"
survivalRate: Decimal!
"Tank name"
name: String
"Tank nation dictionary identifier"
tankNationId: String
"Localized tank nation name"
tankNation: String
"Tank tier"
tier: Int!
"Tank type dictionary identifier"
tankTypeId: String
"Localized tank type name"
tankType: String
"Is it premium tank or not"
isPremium: Boolean!
2021-05-28 16:56:12 +02:00
"Vehicle preview image"
previewImage: String
"Vehicle normal image"
normalImage: String
2021-05-14 09:58:38 +02:00
}
"Request for update dictionaries mutation"
input UpdateDictionariesRequestInput {
"Determines what dictionaries should be updated. Usage: StaticDictionaries | Achievements | Vehicles"
dictionaryTypes: DictionaryType!
}
"Represents the response of the Update dictionaries mutation"
type UpdateDictionariesResponseItem {
"Type of updated dictionary"
dictionaryType: DictionaryType!
"A bit summary about what have been updated"
description: String
}
"Represents information about player's achievements"
type AccountAchievementsResponse {
"Player Id"
accountId: Long!
"Player Achievements by sections"
achievementSections: [AchievementSection!]
}
"Information about tank statistics history"
type TankInfoHistoryResponse {
"Player account identifier"
accountId: Long!
"Tank identifier"
tankId: Long!
"Total time in battle until tank killed"
battleLifeTimeInSeconds: Int!
"Last battle"
lastBattleTime: DateTime!
"Mark of Mastery"
markOfMastery: MarkOfMastery!
"Tank name"
name: String
"Is vehicle premium"
isPremium: Boolean!
"Vehicle type id"
type: String
"Vehicle nationId"
nation: String
"Vehicle tier"
tier: Int!
"Vehicle preview image"
previewImage: String
"Vehicle normal image"
normalImage: String
"Overall statistics since tank was bought"
overallTankStatistics: ShortStatistics
"Statistics for period"
tankPeriodStatistics: ShortStatistics
"Difference between start and end of the period"
periodDifference: StatisticsDifference
"The detailed history"
statisticsHistory: [StatisticsDifference!]
}
"Information about player statistics history"
type AccountInfoHistoryResponse {
"Player account identifier"
accountId: Long!
"Account creation date"
createdAt: DateTime!
"Player's nick"
nickname: String
"Overall statistics since account creation"
overallAccountStatistics: ShortStatistics
"Statistics for period"
periodAccountStatistics: ShortStatistics
"Difference between start and end of the period"
periodDifference: StatisticsDifference
"The detailed history"
statisticsHistory: [StatisticsDifference!]
}
"Found clans list item"
type ClanSearchResponseItem {
"Clan Id"
clanId: Long!
"Clan Tag"
tag: String
"Clan Name"
name: String
"Clan created at. (UNIX Epoch time)"
createdAt: Int!
"Clan members count"
membersCount: Int!
}
"The difference between current statistics state and previous"
type StatisticsDifference {
"Last battle time"
lastBattleTime: DateTime!
"Difference in Battles count"
battles: StatisticsDifferenceItemOfInt64
"Difference in Average tier"
avgTier: StatisticsDifferenceItemOfDouble
"Difference in Wn7 coefficient"
wn7: StatisticsDifferenceItemOfDouble
"Difference in Player's win rate"
winRate: StatisticsDifferenceItemOfDecimal
"Difference in Player's average damage"
avgDamage: StatisticsDifferenceItemOfDecimal
"Difference in Player's average XP"
avgXp: StatisticsDifferenceItemOfDecimal
}
"Short statistics info"
type ShortStatistics {
"Last battle time"
lastBattleTime: DateTime!
"Battles count"
battles: Long!
"Average tier"
avgTier: Float!
"Wn7 coefficient"
wn7: Float!
"Player's win rate"
winRate: Decimal!
"Player's average damage"
avgDamage: Decimal!
"Player's average XP"
avgXp: Decimal!
}
"Represents achievement section info and it's achievements list"
type AchievementSection {
"Section Identifier"
sectionId: String!
"Section order"
order: Int!
"Section Name"
name: String!
"Achievements in the section"
achievements: [Achievement!]
}
"List of dictionaries"
enum DictionaryType {
"Static dictionaries - Languages, VehicleNations, VehicleTypes, AchievementSections, ClanRoles"
STATIC_DICTIONARIES
"Achievements"
ACHIEVEMENTS
"Vehicles encyclopedia"
VEHICLES
"Only vehicles and Achievements"
ACHIEVEMENTS_AND_VEHICLES
"All dictionaries"
ALL
}
"Player's achievement information"
type Achievement {
"Achievement Id"
id: String!
"Achievement value"
achievementValue: Int!
"Achievement max series value"
maxSeriesValue: Int
"Achievement condition"
condition: String
"Achievement description"
description: String
"Achievement normal sized image"
image: String
"Achievement big image"
imageBig: String
"Achievement name"
name: String
"Order"
order: Long
"Section Id"
sectionId: String!
"Achievement type"
type: String!
}
type StatisticsDifferenceItemOfDecimal {
currentValue: Decimal!
difference: Decimal
}
type StatisticsDifferenceItemOfDouble {
currentValue: Float!
difference: Float
}
type StatisticsDifferenceItemOfInt64 {
currentValue: Long!
difference: Long
}
directive @authorize("The name of the authorization policy that determines access to the annotated resource." policy: String "Roles that are allowed to access the annotated resource." roles: [String!] "Defines when when the resolver shall be executed.By default the resolver is executed after the policy has determined that the current user is allowed to access the field." apply: ApplyPolicy! = BEFORE_RESOLVER) repeatable on SCHEMA | OBJECT | FIELD_DEFINITION