void.cat/VoidCat/Services/Abstractions/IFileMetadataStore.cs

18 lines
605 B
C#
Raw Normal View History

2022-02-16 16:33:00 +00:00
using VoidCat.Model;
namespace VoidCat.Services.Abstractions;
2022-03-07 13:38:53 +00:00
public interface IFileMetadataStore : IPublicPrivateStore<VoidFileMeta, SecretVoidFileMeta>
2022-02-16 16:33:00 +00:00
{
2022-02-27 13:54:25 +00:00
ValueTask<TMeta?> Get<TMeta>(Guid id) where TMeta : VoidFileMeta;
2022-06-06 21:51:25 +00:00
ValueTask<IReadOnlyList<TMeta>> Get<TMeta>(Guid[] ids) where TMeta : VoidFileMeta;
2022-03-15 10:39:36 +00:00
ValueTask Update<TMeta>(Guid id, TMeta meta) where TMeta : VoidFileMeta;
2022-06-06 21:51:25 +00:00
/// <summary>
/// Returns basic stats about the file store
/// </summary>
/// <returns></returns>
ValueTask<StoreStats> Stats();
public sealed record StoreStats(long Files, ulong Size);
}