mirror of
https://github.com/DrMboga/WotBlitzStatisticsBlazor.git
synced 2026-10-23 11:20:05 +02:00
chore: added StrawberryShake client
This commit is contained in:
1 parent
8d64b59b91
commit
235a717f51
5 files changed
+553
-1
No files matched your search
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": 1,
|
||||
"isRoot": true,
|
||||
"tools": {
|
||||
"strawberryshake.tools": {
|
||||
"version": "11.2.2",
|
||||
"commands": [
|
||||
"dotnet-graphql"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
{
|
||||
"schema": "schema.graphql",
|
||||
"documents": "**/*.graphql",
|
||||
"extensions": {
|
||||
"strawberryShake": {
|
||||
"name": "WotBlitzStatisticsProClient",
|
||||
"namespace": "WotBlitzStatisticsPro.Blazor",
|
||||
"url": "https://localhost:5001/graphql/",
|
||||
"dependencyInjection": true,
|
||||
"strictSchemaValidation": true,
|
||||
"hashAlgorithm": "md5",
|
||||
"useSingleFile": true,
|
||||
"requestStrategy": "Default",
|
||||
"outputDirectoryName": "Generated",
|
||||
"noStore": false,
|
||||
"emitGeneratedCode": true,
|
||||
"razorComponents": false,
|
||||
"records": {
|
||||
"inputs": false,
|
||||
"entities": false
|
||||
},
|
||||
"transportProfiles": [
|
||||
{
|
||||
"default": "Http",
|
||||
"subscription": "WebSocket"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
|
||||
<Project Sdk="Microsoft.NET.Sdk.BlazorWebAssembly">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net5.0</TargetFramework>
|
||||
@@ -11,8 +11,12 @@
|
||||
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection" Version="9.0.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.4" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.4" PrivateAssets="all" />
|
||||
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="5.0.1" />
|
||||
<PackageReference Include="Microsoft.Extensions.Http" Version="5.0.0" />
|
||||
<PackageReference Include="Microsoft.Extensions.Localization" Version="5.0.5" />
|
||||
<PackageReference Include="Radzen.Blazor" Version="3.2.0" />
|
||||
<PackageReference Include="StrawberryShake.CodeGeneration.CSharp.Analyzers" Version="11.2.2" />
|
||||
<PackageReference Include="StrawberryShake.Transport.Http" Version="11.2.2" />
|
||||
<PackageReference Include="System.Net.Http.Json" Version="5.0.0" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
scalar _KeyFieldSet
|
||||
|
||||
directive @key(fields: _KeyFieldSet!) on SCHEMA | OBJECT
|
||||
|
||||
directive @serializationType(name: String!) on SCALAR
|
||||
|
||||
directive @runtimeType(name: String!) on SCALAR
|
||||
|
||||
directive @enumValue(value: String!) on ENUM_VALUE
|
||||
|
||||
directive @rename(name: String!) on INPUT_FIELD_DEFINITION | INPUT_OBJECT | ENUM | ENUM_VALUE
|
||||
|
||||
extend schema @key(fields: "id")
|
||||
@@ -0,0 +1,493 @@
|
||||
schema {
|
||||
query: Query
|
||||
mutation: Mutation
|
||||
}
|
||||
|
||||
type Query {
|
||||
"Finds Wargaming accounts by nick"
|
||||
findAccounts("Search string." accountNick: String! "Wargaming Realm." realmType: RealmType "Language for the output data." language: RequestLanguage): AccountsSearchResponse!
|
||||
"Finds clans by search string"
|
||||
findClans("Search string." searchString: String! "Wargaming Realm." realmType: RealmType "Language for the output data." language: RequestLanguage): ClanSearchResponse!
|
||||
"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!
|
||||
}
|
||||
|
||||
"Response contains a list of found accounts"
|
||||
type AccountsSearchResponse {
|
||||
"Count of found accounts"
|
||||
accountsCount: Int!
|
||||
"Found accounts list"
|
||||
accounts: [AccountsSearchResponseItem!]
|
||||
}
|
||||
|
||||
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!
|
||||
}
|
||||
|
||||
"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!]
|
||||
}
|
||||
|
||||
"Response with list of found clans"
|
||||
type ClanSearchResponse {
|
||||
"Count of clans in the list"
|
||||
clansCount: Int!
|
||||
"List of clans"
|
||||
clans: [ClanSearchResponseItem!]
|
||||
}
|
||||
|
||||
"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
|
||||
Reference in new issue
Block a user