From 24029ffa89ce3dd590a59d0df5c68a072d3c7b92 Mon Sep 17 00:00:00 2001 From: lowlighter <22963968+lowlighter@users.noreply.github.com> Date: Mon, 21 Nov 2022 19:03:33 -0500 Subject: [PATCH] feat(plugins/community/splatoon): add stat.ink integration --- .../readme/imgs/plugin_splatoon_statink.png | Bin 0 -> 24006 bytes .github/scripts/files/examples.yml | 2 ++ .github/workflows/ci.yml | 1 + source/plugins/community/splatoon/README.md | 13 ++++++++++ .../plugins/community/splatoon/examples.yml | 17 ++++++++++++- source/plugins/community/splatoon/index.mjs | 24 +++++++++++++++--- .../plugins/community/splatoon/metadata.yml | 19 +++++++++++++- source/plugins/community/splatoon/token.ts | 3 ++- tests/secrets.json | 1 + 9 files changed, 73 insertions(+), 7 deletions(-) create mode 100644 .github/readme/imgs/plugin_splatoon_statink.png diff --git a/.github/readme/imgs/plugin_splatoon_statink.png b/.github/readme/imgs/plugin_splatoon_statink.png new file mode 100644 index 0000000000000000000000000000000000000000..212e00e7b9caad8ea50d2d5e10dcd9a440aaf70d GIT binary patch literal 24006 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 splatoon > stat.ink integration is enabled`) + if (_statink_token) { + parsed.statInkApiKey = _statink_token + console.debug(`metrics/compute/${login}/plugins > splatoon > stat.ink api key set`) + } + else { + data.warnings.push({warning:{message:'"plugin_splatoon_statink" is set without "plugin_splatoon_statink_token"'}}) + console.debug(`metrics/compute/${login}/plugins > splatoon > stat.ink api key missing`) + } + } + await imports.fs.writeFile(profile, JSON.stringify(parsed)) } //Fetch data @@ -27,7 +38,12 @@ export default async function({login, q, imports, data, account}, {enabled = fal files: ["profile.json", "profile.json.swap", "export", "cache"], net: ["api.imink.app", "accounts.nintendo.com", "api.accounts.nintendo.com", "api-lp1.znc.srv.nintendo.net", "api.lp1.av5ja.srv.nintendo.net"], } - await imports.run(`deno run --no-prompt --cached-only --no-remote --allow-read="${allowed.files}" --allow-write="${allowed.files}" --allow-net="${allowed.net}" index.ts --exporter file --no-progress`, {cwd: `${imports.__module(import.meta.url)}/s3si`}, {prefixed: false}) + const exporters = ["file"] + if (statink) { + exporters.push("stat.ink") + allowed.net.push("stat.ink") + } + await imports.run(`deno run --no-prompt --cached-only --no-remote --allow-read="${allowed.files}" --allow-write="${allowed.files}" --allow-net="${allowed.net}" index.ts --exporter="${exporters}" --no-progress`, {cwd: `${imports.__module(import.meta.url)}/s3si`}, {prefixed: false}) //Read fetched data const fetched = (await Promise.all( diff --git a/source/plugins/community/splatoon/metadata.yml b/source/plugins/community/splatoon/metadata.yml index 0c61777b..8d72b5a0 100644 --- a/source/plugins/community/splatoon/metadata.yml +++ b/source/plugins/community/splatoon/metadata.yml @@ -61,4 +61,21 @@ inputs: type: number default: 1 min: 0 - max: 6 \ No newline at end of file + max: 6 + + plugin_splatoon_statink: + description: | + stat.ink integration + + If set, fetched data will also be uploaded to stat.ink + Requires [`plugin_splatoon_statink_token`](/source/plugins/community/splatoon/README.md#plugin_splatoon_statink_token) to be set + type: boolean + default: no + extras: + - metrics.api.statink + + plugin_splatoon_statink_token: + description: | + stat.ink token + type: token + default: "" \ No newline at end of file diff --git a/source/plugins/community/splatoon/token.ts b/source/plugins/community/splatoon/token.ts index eb331481..3631580c 100644 --- a/source/plugins/community/splatoon/token.ts +++ b/source/plugins/community/splatoon/token.ts @@ -21,12 +21,13 @@ const allowed = { files:["profile.json", "profile.json.swap", "cache", "export"], net:["api.imink.app", "accounts.nintendo.com", "api.accounts.nintendo.com", "api-lp1.znc.srv.nintendo.net", "api.lp1.av5ja.srv.nintendo.net"] } +const script = import.meta.resolve("./s3si/index.ts") const args = [ "run", "--no-prompt", "--cached-only", "--no-remote", `--allow-read="${allowed.files}"`, `--allow-write="${allowed.files}"`, `--allow-net="${allowed.net}"`, - "s3si/index.ts", + script, '--exporter=none' ] try { diff --git a/tests/secrets.json b/tests/secrets.json index e251769e..97ffeb99 100644 --- a/tests/secrets.json +++ b/tests/secrets.json @@ -13,5 +13,6 @@ "STOCK_TOKEN":"MOCKED_TOKEN", "CHESS_TOKEN":"MOCKED_TOKEN", "SPLATOON_TOKEN":"{}", + "SPLATOON_STATINK_TOKEN":"MOCKED_TOKEN", "POOPMAP_TOKEN":"MOCKED_TOKEN" } \ No newline at end of file