namespace TaxBaik.Domain.Interfaces;

using TaxBaik.Domain.Entities;

public interface IAnnouncementRepository
{
    Task<IEnumerable<Announcement>> GetActiveAsync(CancellationToken cancellationToken = default);
    Task<IEnumerable<Announcement>> GetAllAsync(CancellationToken cancellationToken = default);
    Task<Announcement?> GetByIdAsync(int id, CancellationToken cancellationToken = default);
    Task<int> CreateAsync(Announcement announcement, CancellationToken cancellationToken = default);
    Task UpdateAsync(Announcement announcement, CancellationToken cancellationToken = default);
    Task DeleteAsync(int id, CancellationToken cancellationToken = default);
}
