public async Task RenameAsync()

in Core/src/Impl/Storages/ZipArchiveStorage.cs [76:97]


    public async Task RenameAsync(SymbolStoragePath srcFile, SymbolStoragePath dstFile, AccessMode mode)
    {
      if (!CanWrite)
        throw new InvalidOperationException("ZipFileStorage created without Write access");

      await Task.Yield();
      using (var archive = await myProvider.RentAsync(writable: true))
      {
        var srcEntry = archive.Archive.GetEntry(SymbolPathToZipPath(srcFile));
        if (srcEntry == null)
          throw new KeyNotFoundException($"Specified file ({srcFile}) was not found in zip storage");

        var targetEntry = archive.Archive.CreateEntry(SymbolPathToZipPath(dstFile));

        await using (var srcStream = srcEntry.Open())
        {
          await archive.WriteToArchiveAsync(targetEntry, srcStream);
        }
        
        srcEntry.Delete();
      }
    }