Remove web service data when removing user data

This commit is contained in:
Samuel Elliott 2022-04-30 11:45:22 +01:00
parent 03aab05619
commit 018c92cc62
No known key found for this signature in database
GPG Key ID: 8420C7CDE43DC4D6

View File

@ -22,7 +22,7 @@ export function builder(yargs: Argv<ParentArguments>) {
'Screen name',
'Nickname',
'Country',
'Nintendo Switch ID',
'NSA ID',
'Nintendo Switch username',
'Parental Controls',
],
@ -86,9 +86,10 @@ export function builder(yargs: Argv<ParentArguments>) {
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<ParentArguments>) {
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);