// ========================================================================== // Squidex Headless CMS // ========================================================================== // Copyright (c) Squidex UG (haftungsbeschraenkt) // All rights reserved. Licensed under the MIT license. // ========================================================================== using Squidex.Infrastructure.EventSourcing; using Squidex.Infrastructure.States; namespace Squidex.Domain.Apps.Entities.Backup { public interface IBackupReader : IDisposable { int ReadAttachments { get; } int ReadEvents { get; } Task OpenBlobAsync(string name, CancellationToken ct = default); Task ReadJsonAsync(string name, CancellationToken ct = default); Task HasFileAsync(string name, CancellationToken ct = default); IAsyncEnumerable<(string Stream, Envelope Event)> ReadEventsAsync(IEventStreamNames eventStreams, IEventFormatter eventFormatter, CancellationToken ct = default); } }