namespace UtopiaCanteenSystem.Services; /// /// Provides persisted configuration values for the app. /// public interface IConfigService { string GetSyncApiEndpoint(); void SetSyncApiEndpoint(string endpoint); bool GetSyncServiceEnabled(); void SetSyncServiceEnabled(bool enabled); bool GetScannerConnected(); void SetScannerConnected(bool connected); /// Scan interval: minimum time between scans. Days (0–365), Hours (0–23), Minutes (0–59), Seconds (0–59). int GetScanIntervalDays(); void SetScanIntervalDays(int value); int GetScanIntervalHours(); void SetScanIntervalHours(int value); int GetScanIntervalMinutes(); void SetScanIntervalMinutes(int value); int GetScanIntervalSeconds(); void SetScanIntervalSeconds(int value); /// Computed interval from D+H+M+S with clamping. If all zero, returns default (1 minute). TimeSpan GetScanInterval(); string GetAdminCardId(); void SetAdminCardId(string cardId); string GetSiteId(); void SetSiteId(string siteId); /// Persist HRMS location_site_id in the same format as the scanner dashboard (digits → "SITE : …"). void ApplyLocationSiteIdFromAuth(string? locationSiteId); string GetDeviceId(); void SetDeviceId(string deviceId); bool GetRememberAdminCredentials(); void SetRememberAdminCredentials(bool remember); string GetSavedAdminUsername(); void SetSavedAdminUsername(string username); string GetSavedAdminPassword(); void SetSavedAdminPassword(string password); string GetMySqlConnectionString(); void SetMySqlConnectionString(string connectionString); /// Connection string for local HRMS MySQL (employee lookup by RFID). Separate from production sync. string GetHrmsLookupConnectionString(); void SetHrmsLookupConnectionString(string connectionString); }