using TwilioSMSReceiver.Data.Models;

namespace TwilioSMSReceiver.Common.Interfaces
{
    /// <summary>
    /// The main code where we send all SMS data and translate it accordingly
    /// </summary>
    public interface IMessageHandler
    {
        /// <summary>
        /// The main relay SMS code
        /// </summary>
        /// <param name="model">Parsed model of the SMS Message</param>
        /// <returns>True if it succeeded, false if it didn't relay successfully</returns>
        /// <exception cref="NotImplementedException">Returned if the code is loaded, but not actually implemented</exception>
        /// <exception cref="Exception">All generic exceptions are returned here</exception>
        public Task<bool> RelaySms(SMSModel model);
    }
}
