namespace Pldpro.Web.Services; public interface IStorageMetadataRepository { Task EnsureSchemaAsync(CancellationToken ct = default); Task UpsertAsync(string bucket, string fileName, string? path, string key, long? size, string? contentType, CancellationToken ct = default); Task TryGetAsync(string bucket, string fileName, CancellationToken ct = default); } public sealed record StorageObject( long Id, string Bucket, string FileName, string? Path, string Key, long? Size, string? ContentType, DateTime CreatedUtc );