export async function importZippedHistory()

in apps/chat/src/utils/app/zip-import-export.ts [78:106]


export async function importZippedHistory(zipFile: File) {
  const zip = await JSZip.loadAsync(zipFile);
  const chatsLib = {} as PreUnZipedHistory;
  chatsLib.res = [];
  const regExpConversationsFolder = /^conversations\/*/;
  const regExpConversationsHistory = /\.json$/i;
  const regExpResFolder = /^res\/*/;
  const regExpRes = /\..+$/;

  zip.forEach((relativePath, zipEntry) => {
    if (
      regExpConversationsFolder.test(relativePath) &&
      regExpConversationsHistory.test(relativePath) &&
      !zipEntry.dir
    ) {
      chatsLib.history = zipEntry;
    }

    if (
      regExpResFolder.test(relativePath) &&
      regExpRes.test(relativePath) &&
      !zipEntry.dir
    ) {
      chatsLib.res.push({ relativePath, zipEntry });
    }
  });
  chatsLib.zip = zip;
  return chatsLib;
}