using SameBeat.Domain.Encje; namespace SameBeat.Application.Interfejsy; public interface IRepozytoriumCzatu { Task ZnajdzUczestnikaPoIdAsync(Guid id, CancellationToken token = default); void DodajUczestnika(UczestnikCzatu uczestnik); void DodajWiadomosc(WiadomoscCzatu wiadomosc); /// Ostatnia (najnowsza) wiadomosc danej tozsamosci czatu, niezaleznie od Usunieta -- podstawa rate limitu w SerwisCzatu. Task PobierzOstatniaWiadomoscUczestnikaAsync(Guid nadawcaTozsamoscId, CancellationToken token = default); /// Ostatnie liczbaWiadomosci wiadomosci NIE usunietych dla wydarzenia, w kolejnosci chronologicznej (od najstarszej). Task> PobierzHistorieAsync(Guid wydarzenieId, int liczbaWiadomosci, CancellationToken token = default); Task ZnajdzWiadomoscPoIdAsync(Guid id, CancellationToken token = default); }