using System.Configuration;

namespace Kreta.Client.FileService.Configuration
{
    public class FileServiceClientConfiguration : ConfigurationSection, IFileServiceClientConfiguration
    {
        [ConfigurationProperty(nameof(IDPUrl), IsRequired = true)]
        public string IDPUrl => (string)base[nameof(IDPUrl)];

        [ConfigurationProperty(nameof(FileUploadUrl), IsRequired = true)]
        public string FileUploadUrl => (string)base[nameof(FileUploadUrl)];

        [ConfigurationProperty(nameof(PublicClientId), IsRequired = true)]
        public string PublicClientId => (string)base[nameof(PublicClientId)];

        [ConfigurationProperty(nameof(PublicClientSecret), IsRequired = true)]
        public string PublicClientSecret => (string)base[nameof(PublicClientSecret)];

        [ConfigurationProperty(nameof(PrivateClientId), IsRequired = true)]
        public string PrivateClientId => (string)base[nameof(PrivateClientId)];

        [ConfigurationProperty(nameof(PrivateClientSecret), IsRequired = true)]
        public string PrivateClientSecret => (string)base[nameof(PrivateClientSecret)];
    }
}