chore: remove data in multifileauthstate too

This commit is contained in:
Adhiraj Singh
2022-05-25 12:14:37 +05:30
parent 24a2b4150a
commit ef71b7e09d

View File

@@ -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<void>[] = []
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))
}
}