using OwlCore.AbstractStorage; using OwlCore.Services; using StrixMusic.Sdk.Services; namespace StrixMusic.Cores.OneDrive.Services { /// /// A container for settings. /// public sealed class OneDriveCoreSettings : SettingsBase { /// /// Creates a new instance of . /// public OneDriveCoreSettings(IFolderData folder) : base(folder, NewtonsoftStreamSerializer.Singleton) { } /// /// If true, the user has had the opportunity to tweak core settings during the out of box experience. /// public bool UserHasSeenGeneralOobeSettings { get => GetSetting(() => false); set => SetSetting(value); } /// /// If true, the user has had the opportunity to supply custom application keys from Azure to authenticate their Microsoft account against. /// public bool UserHasSeenAuthClientKeysSettings { get => GetSetting(() => false); set => SetSetting(value); } /// /// If the core should use TagLib to scan file metadata. /// public bool ScanWithTagLib { get => GetSetting(() => false); set => SetSetting(value); } /// /// If the core should use file properties to scan metadata. /// public bool ScanWithFileProperties { get => GetSetting(() => true); set => SetSetting(value); } /// /// The MS Graph ID of the user-selected folder for this core instance. /// public string SelectedFolderId { get => GetSetting(() => string.Empty); set => SetSetting(value); } /// /// A unique identifier for the account logged in to this core instance. /// public string AccountIdentifier { get => GetSetting(() => string.Empty); set => SetSetting(value); } /// /// Client ID of a registered MS Graph application that the user will be authenticated against. /// public string ClientId { get => GetSetting(() => string.Empty); set => SetSetting(value); } /// /// Tenant ID for authenticating the user against a registered MS Graph application. /// public string TenantId { get => GetSetting(() => string.Empty); set => SetSetting(value); } /// /// Redirect URI used for authenticating the user against a registered MS Graph application. /// public string RedirectUri { get => GetSetting(() => string.Empty); set => SetSetting(value); } } }