using SecureSharing.Business.Dtos;
using SecureSharing.Business.Infrastructure;

namespace SecureSharing.Business.Interfaces;

public interface IMessageService
{
    public Task<IEnumerable<MessageDto>> GetAll();
    public Task<Guid> Create(MessageDto messageDto, PeriodOfValidity chosenPeriod);
    public Task<List<string>> DeleteExpiredMessages();
    public Task InvalidateMessage(int id);
    public Task Update(MessageDto messageDto);

    public Task<MessageDto> GetById(int messageDto);
    public Task<MessageDto> GetByCode(Guid code);

    public Task<bool> Delete(int id);
}