From 14f89d3eb8484972dc3c5fa8bf3a7277f0ffc895 Mon Sep 17 00:00:00 2001 From: Matt Isenhower Date: Thu, 20 Apr 2023 09:49:42 -0700 Subject: [PATCH] Add stages.json --- app/data/index.mjs | 2 ++ app/data/updaters/StagesUpdater.mjs | 25 +++++++++++++++++++++++++ app/splatnet/SplatNet3Client.mjs | 4 ++++ 3 files changed, 31 insertions(+) create mode 100644 app/data/updaters/StagesUpdater.mjs diff --git a/app/data/index.mjs b/app/data/index.mjs index d44869b..b28835a 100644 --- a/app/data/index.mjs +++ b/app/data/index.mjs @@ -4,6 +4,7 @@ import CoopUpdater from "./updaters/CoopUpdater.mjs"; import FestivalUpdater from "./updaters/FestivalUpdater.mjs"; import { regionTokens } from "../splatnet/NsoClient.mjs"; import XRankUpdater from "./updaters/XRankUpdater.mjs"; +import StagesUpdater from "./updaters/StagesUpdater.mjs"; function updaters() { const tokens = regionTokens(); @@ -16,6 +17,7 @@ function updaters() { tokens.EU && new FestivalUpdater('EU'), tokens.JP && new FestivalUpdater('JP'), tokens.AP && new FestivalUpdater('AP'), + new StagesUpdater, ].filter(u => u); } diff --git a/app/data/updaters/StagesUpdater.mjs b/app/data/updaters/StagesUpdater.mjs new file mode 100644 index 0000000..8357eb5 --- /dev/null +++ b/app/data/updaters/StagesUpdater.mjs @@ -0,0 +1,25 @@ +import DataUpdater from "./DataUpdater.mjs"; + +export default class StagesUpdater extends DataUpdater +{ + name = 'Stages'; + filename = 'stages'; + + imagePaths = [ + '$..image.url', + '$..originalImage.url', + ]; + + localizations = [ + { + key: 'stages', + nodes: '$..stageRecords.nodes.*', + id: 'id', + values: 'name', + }, + ]; + + getData(locale) { + return this.splatnet(locale).getStageRecordData(); + } +} diff --git a/app/splatnet/SplatNet3Client.mjs b/app/splatnet/SplatNet3Client.mjs index 8c2d223..b899850 100644 --- a/app/splatnet/SplatNet3Client.mjs +++ b/app/splatnet/SplatNet3Client.mjs @@ -120,6 +120,10 @@ export default class SplatNet3Client return this.getGraphQLPersistedQuery(1, '011e394c0e384d77a0701474c8c11a20'); } + getStageRecordData() { + return this.getGraphQLPersistedQuery(1, 'f08a932d533845dde86e674e03bbb7d3'); + } + getGesotownData() { return this.getGraphQLPersistedQuery(1, 'a43dd44899a09013bcfd29b4b13314ff'); }