diff --git a/src/Utils/use-multi-file-auth-state.ts b/src/Utils/use-multi-file-auth-state.ts index 46f0cb68..127d8dc2 100644 --- a/src/Utils/use-multi-file-auth-state.ts +++ b/src/Utils/use-multi-file-auth-state.ts @@ -1,4 +1,4 @@ -import { mkdir, readFile, stat, writeFile } from 'fs/promises' +import { mkdir, readFile, stat, unlink, writeFile } from 'fs/promises' import { join } from 'path' import { proto } from '../../WAProto' import { AuthenticationCreds, AuthenticationState, SignalDataTypeMap } from '../Types' @@ -27,6 +27,14 @@ export const useMultiFileAuthState = async(folder: string): Promise<{ state: Aut } } + const removeData = async(file: string) => { + try { + await unlink(file) + } catch{ + + } + } + const folderInfo = await stat(folder).catch(() => { }) if(folderInfo) { if(!folderInfo.isDirectory()) { @@ -63,7 +71,9 @@ export const useMultiFileAuthState = async(folder: string): Promise<{ state: Aut const tasks: Promise[] = [] for(const category in data) { for(const id in data[category]) { - tasks.push(writeData(data[category][id], `${category}-${id}.json`)) + const value = data[category][id] + const file = `${category}-${id}.json` + tasks.push(value ? writeData(value, file) : removeData(file)) } }