using ROLAC.API.DTOs.Settings;

namespace ROLAC.API.Services;

/// <summary>
/// Reads and writes the singleton SiteSetting and NotificationSetting rows. Notification secrets
/// are masked on read and treated as write-only on update (blank = keep). After a notification
/// update the runtime cache is reloaded so changes apply without an API restart.
/// </summary>
public interface ISettingsService
{
    Task<SiteSettingDto> GetSiteAsync();
    Task UpdateSiteAsync(UpdateSiteSettingRequest request);

    Task<NotificationSettingDto> GetNotificationAsync();
    Task UpdateNotificationAsync(UpdateNotificationSettingRequest request);
}
