feat(sms): NotificationType.Sms + recipient phone + SmsConfiguration + repo iface (S1)

This commit is contained in:
Joseph Doherty
2026-06-19 09:42:27 -04:00
parent 07dae35533
commit c5378f8723
5 changed files with 125 additions and 6 deletions
@@ -101,6 +101,29 @@ public interface INotificationRepository
/// <returns>A task representing the asynchronous operation.</returns>
Task DeleteSmtpConfigurationAsync(int id, CancellationToken cancellationToken = default);
// SmsConfiguration
/// <summary>Gets the SMS configuration, or null if none is configured.</summary>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>The SMS configuration, or null if not found.</returns>
Task<SmsConfiguration?> GetSmsConfigurationAsync(CancellationToken cancellationToken = default);
/// <summary>Gets all SMS configurations.</summary>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A read-only list of SMS configurations.</returns>
Task<IReadOnlyList<SmsConfiguration>> GetAllSmsConfigurationsAsync(CancellationToken cancellationToken = default);
/// <summary>Adds a new SMS configuration.</summary>
/// <param name="smsConfiguration">The SMS configuration to add.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A task representing the asynchronous operation.</returns>
Task AddSmsConfigurationAsync(SmsConfiguration smsConfiguration, CancellationToken cancellationToken = default);
/// <summary>Updates an existing SMS configuration.</summary>
/// <param name="smsConfiguration">The SMS configuration to update.</param>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>A task representing the asynchronous operation.</returns>
Task UpdateSmsConfigurationAsync(SmsConfiguration smsConfiguration, CancellationToken cancellationToken = default);
/// <summary>Saves pending changes to the repository.</summary>
/// <param name="cancellationToken">Cancellation token.</param>
/// <returns>The number of entities saved.</returns>