Compare commits

...

1 Commits

Author SHA1 Message Date
Ammar Ahmed
9088962bff mobile: fix cache dir does not exist error on bulkExist check 2024-10-17 12:01:08 +05:00

View File

@@ -126,9 +126,13 @@ export async function clearFileStorage() {
} }
export async function createCacheDir() { export async function createCacheDir() {
if (!(await RNFetchBlob.fs.exists(cacheDir))) { try {
await RNFetchBlob.fs.mkdir(cacheDir); if (!(await RNFetchBlob.fs.exists(cacheDir))) {
DatabaseLogger.log("Cache directory created"); await RNFetchBlob.fs.mkdir(cacheDir);
DatabaseLogger.log("Cache directory created");
}
} catch (e) {
DatabaseLogger.error(e);
} }
} }
@@ -231,22 +235,30 @@ export async function exists(filename) {
} }
export async function bulkExists(files) { export async function bulkExists(files) {
const cacheFiles = await RNFetchBlob.fs.ls(cacheDir); try {
let missingFiles = files.filter((file) => !cacheFiles.includes(file)); await createCacheDir();
const cacheFiles = await RNFetchBlob.fs.ls(cacheDir);
let missingFiles = files.filter((file) => !cacheFiles.includes(file));
if (Platform.OS === "ios") { if (Platform.OS === "ios") {
const iosAppGroup = const iosAppGroup =
Platform.OS === "ios" Platform.OS === "ios"
? await RNFetchBlob.fs.pathForAppGroup(IOS_APPGROUPID) ? await RNFetchBlob.fs.pathForAppGroup(IOS_APPGROUPID)
: null; : null;
const appGroupFiles = await RNFetchBlob.fs.ls(iosAppGroup); const appGroupFiles = await RNFetchBlob.fs.ls(iosAppGroup);
missingFiles = missingFiles.filter((file) => !appGroupFiles.includes(file)); missingFiles = missingFiles.filter(
(file) => !appGroupFiles.includes(file)
);
}
return missingFiles;
} catch (e) {
DatabaseLogger.error(e);
return [];
} }
return missingFiles;
} }
export async function getCacheSize() { export async function getCacheSize() {
await createCacheDir();
const stat = await RNFetchBlob.fs.lstat(`file://` + cacheDir); const stat = await RNFetchBlob.fs.lstat(`file://` + cacheDir);
let total = 0; let total = 0;
console.log("Total files", stat.length); console.log("Total files", stat.length);