namespace GmRelay.Web.Services.Portfolio.Covers;

public sealed record PortfolioCoverUploadResult(string StorageKey, string ContentType);

public interface IPortfolioCoverStorage
{
    Task<PortfolioCoverUploadResult> SaveAsync(
        Stream content,
        string contentType,
        CancellationToken cancellationToken = default);

    Task DeleteIfExistsAsync(string storageKey, CancellationToken cancellationToken = default);

    string GetPublicPath(string storageKey);
}
