mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-21 18:37:18 +02:00
481 lines
13 KiB
GraphQL
481 lines
13 KiB
GraphQL
schema {
|
|
query: Query
|
|
mutation: Mutation
|
|
}
|
|
|
|
type Query {
|
|
"Finds Wargaming accounts by nick"
|
|
players("Search string." accountNick: String! "Wargaming Realm." realmType: RealmType "Language for the output data." language: RequestLanguage): [AccountsSearchResponseItem!]
|
|
"Finds clans by search string"
|
|
clans("Search string." searchString: String! "Wargaming Realm." realmType: RealmType "Language for the output data." language: RequestLanguage): [ClanSearchResponseItem!]
|
|
"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!
|
|
"Vehicle preview image"
|
|
previewImage: String
|
|
"Vehicle normal image"
|
|
normalImage: String
|
|
}
|
|
|
|
"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 |