From 018c92cc62941e29727fc2d775731d6dcf806dd7 Mon Sep 17 00:00:00 2001 From: Samuel Elliott Date: Sat, 30 Apr 2022 11:45:22 +0100 Subject: [PATCH] Remove web service data when removing user data --- src/cli/users.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/cli/users.ts b/src/cli/users.ts index 4910294..ce58f30 100644 --- a/src/cli/users.ts +++ b/src/cli/users.ts @@ -22,7 +22,7 @@ export function builder(yargs: Argv) { 'Screen name', 'Nickname', 'Country', - 'Nintendo Switch ID', + 'NSA ID', 'Nintendo Switch username', 'Parental Controls', ], @@ -86,9 +86,10 @@ export function builder(yargs: Argv) { const selected: string | undefined = await storage.getItem('SelectedUser'); const nsoToken: string | undefined = await storage.getItem('NintendoAccountToken.' + argv.user); + const nsoCache: SavedToken | undefined = nsoToken ? await storage.getItem('NsoToken.' + nsoToken) : undefined; const moonToken: string | undefined = await storage.getItem('NintendoAccountToken-pctl.' + argv.user); - if (!nsoToken || !moonToken) { + if (!nsoToken && !moonToken) { throw new Error('Unknown user'); } @@ -97,6 +98,16 @@ export function builder(yargs: Argv) { await storage.removeItem('SessionToken'); } + await storage.removeItem('IksmToken.' + nsoToken); + await storage.removeItem('NookToken.' + nsoToken); + await storage.removeItem('NookUsers.' + nsoToken); + + for (const key of await storage.keys()) { + if (key.startsWith('NookAuthToken.' + nsoToken + '.')) await storage.removeItem(key); + if (nsoCache && key.startsWith('WebServicePersistentData.' + nsoCache.nsoAccount.user.nsaId + '.')) + await storage.removeItem(key); + } + await storage.removeItem('NintendoAccountToken.' + argv.user); await storage.removeItem('NsoToken.' + nsoToken); await storage.removeItem('NintendoAccountToken-pctl.' + argv.user);