using Journal.Core.Models; namespace Journal.Core.Repositories; public interface IFragmentRepository { Task> GetAllAsync(); Task GetByIdAsync(Guid id); Task AddAsync(Fragment fragment); Task RemoveAsync(Guid id); Task UpdateAsync(Guid id, string? type = null, string? description = null, IEnumerable? tags = null, DateTimeOffset? time = null); Task> GetByTagAsync(string tag); Task> GetByTypeAsync(string type); Task> SearchAsync(string? type = null, string? tag = null, DateTimeOffset? timeAfter = null); }