Only request data necessary to appear as if opening Nintendo's app

This commit is contained in:
Samuel Elliott
2022-08-16 17:00:38 +01:00
parent 77f07eb1b3
commit 65d1069edf
10 changed files with 71 additions and 19 deletions

View File

@@ -2,7 +2,7 @@ import createDebug from 'debug';
import type { Arguments as ParentArguments } from '../nso.js';
import { ArgumentsCamelCase, Argv, YargsArguments } from '../../util/yargs.js';
import { initStorage } from '../../util/storage.js';
import { getToken } from '../../common/auth/coral.js';
import { getToken, Login } from '../../common/auth/coral.js';
const debug = createDebug('cli:nso:friendcode');
@@ -35,10 +35,12 @@ export async function handler(argv: ArgumentsCamelCase<Arguments>) {
await storage.getItem('NintendoAccountToken.' + usernsid);
const {nso, data} = await getToken(storage, token, argv.zncProxyUrl);
const announcements = await nso.getAnnouncements();
const friends = await nso.getFriendList();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();
if (data[Login]) {
const announcements = await nso.getAnnouncements();
const friends = await nso.getFriendList();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();
}
const friendcodeurl = await nso.getFriendCodeUrl();

View File

@@ -5,7 +5,7 @@ import type { Arguments as ParentArguments } from '../nso.js';
import { ArgumentsCamelCase, Argv, YargsArguments } from '../../util/yargs.js';
import { initStorage } from '../../util/storage.js';
import { hrduration } from '../../util/misc.js';
import { getToken } from '../../common/auth/coral.js';
import { getToken, Login } from '../../common/auth/coral.js';
const debug = createDebug('cli:nso:friends');
@@ -40,10 +40,13 @@ export async function handler(argv: ArgumentsCamelCase<Arguments>) {
await storage.getItem('NintendoAccountToken.' + usernsid);
const {nso, data} = await getToken(storage, token, argv.zncProxyUrl);
const announcements = await nso.getAnnouncements();
if (data[Login]) {
const announcements = await nso.getAnnouncements();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();
}
const friends = await nso.getFriendList();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();
if (argv.jsonPrettyPrint) {
console.log(JSON.stringify(friends.result.friends, null, 4));

View File

@@ -2,7 +2,7 @@ import createDebug from 'debug';
import type { Arguments as ParentArguments } from '../nso.js';
import { ArgumentsCamelCase, Argv, YargsArguments } from '../../util/yargs.js';
import { initStorage } from '../../util/storage.js';
import { getToken } from '../../common/auth/coral.js';
import { getToken, Login } from '../../common/auth/coral.js';
const debug = createDebug('cli:nso:lookup');
@@ -39,6 +39,13 @@ export async function handler(argv: ArgumentsCamelCase<Arguments>) {
await storage.getItem('NintendoAccountToken.' + usernsid);
const {nso, data} = await getToken(storage, token, argv.zncProxyUrl);
if (data[Login]) {
const announcements = await nso.getAnnouncements();
const friends = await nso.getFriendList();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();
}
const user = await nso.getUserByFriendCode(argv.id);
if (argv.jsonPrettyPrint) {

View File

@@ -3,7 +3,7 @@ import { PresencePermissions } from '../../api/coral-types.js';
import type { Arguments as ParentArguments } from '../nso.js';
import { ArgumentsCamelCase, Argv, YargsArguments } from '../../util/yargs.js';
import { initStorage } from '../../util/storage.js';
import { getToken } from '../../common/auth/coral.js';
import { getToken, Login } from '../../common/auth/coral.js';
const debug = createDebug('cli:nso:permissions');
@@ -43,6 +43,13 @@ export async function handler(argv: ArgumentsCamelCase<Arguments>) {
await storage.getItem('NintendoAccountToken.' + usernsid);
const {nso, data} = await getToken(storage, token, argv.zncProxyUrl);
if (data[Login]) {
const announcements = await nso.getAnnouncements();
const friends = await nso.getFriendList();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();
}
const permissions = await nso.getCurrentUserPermissions();
if (argv.presence) {

View File

@@ -2,7 +2,7 @@ import createDebug from 'debug';
import type { Arguments as ParentArguments } from '../nso.js';
import { ArgumentsCamelCase, Argv, YargsArguments } from '../../util/yargs.js';
import { initStorage } from '../../util/storage.js';
import { getToken } from '../../common/auth/coral.js';
import { getToken, Login } from '../../common/auth/coral.js';
const debug = createDebug('cli:nso:user');
@@ -33,7 +33,14 @@ export async function handler(argv: ArgumentsCamelCase<Arguments>) {
await storage.getItem('NintendoAccountToken.' + usernsid);
const {nso, data} = await getToken(storage, token, argv.zncProxyUrl);
if (argv.forceRefresh && 'expires_at' in data) {
if (data[Login]) {
const announcements = await nso.getAnnouncements();
const friends = await nso.getFriendList();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();
}
if (argv.forceRefresh && !data[Login]) {
const user = await nso.getCurrentUser();
console.log('Nintendo Account', data.user);

View File

@@ -3,7 +3,7 @@ import Table from '../util/table.js';
import type { Arguments as ParentArguments } from '../nso.js';
import { ArgumentsCamelCase, Argv, YargsArguments } from '../../util/yargs.js';
import { initStorage } from '../../util/storage.js';
import { getToken } from '../../common/auth/coral.js';
import { getToken, Login } from '../../common/auth/coral.js';
const debug = createDebug('cli:nso:webservices');
@@ -38,7 +38,10 @@ export async function handler(argv: ArgumentsCamelCase<Arguments>) {
await storage.getItem('NintendoAccountToken.' + usernsid);
const {nso, data} = await getToken(storage, token, argv.zncProxyUrl);
const announcements = await nso.getAnnouncements();
if (data[Login]) {
const announcements = await nso.getAnnouncements();
}
const friends = await nso.getFriendList();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();

View File

@@ -2,7 +2,7 @@ import createDebug from 'debug';
import type { Arguments as ParentArguments } from '../nso.js';
import { ArgumentsCamelCase, Argv, YargsArguments } from '../../util/yargs.js';
import { initStorage } from '../../util/storage.js';
import { getToken } from '../../common/auth/coral.js';
import { getToken, Login } from '../../common/auth/coral.js';
const debug = createDebug('cli:nso:webservicetoken');
@@ -39,7 +39,10 @@ export async function handler(argv: ArgumentsCamelCase<Arguments>) {
await storage.getItem('NintendoAccountToken.' + usernsid);
const {nso, data} = await getToken(storage, token, argv.zncProxyUrl);
const announcements = await nso.getAnnouncements();
if (data[Login]) {
const announcements = await nso.getAnnouncements();
}
const friends = await nso.getFriendList();
const webservices = await nso.getWebServices();
const activeevent = await nso.getActiveEvent();