using AIStudio.Assistants.EDI;
using AIStudio.Provider;
using OperatingSystem = AIStudio.Assistants.EDI.OperatingSystem;
namespace AIStudio.Settings.DataModel;
public sealed class DataEDI
{
///
/// Preselect any EDI options?
///
public bool PreselectOptions { get; set; }
///
/// Preselect the EDI version?
///
public EDIVersion PreselectedEDIVersion { get; set; } = EDIVersion.NONE;
///
/// Preselect the language for implementing the EDI?
///
public ProgrammingLanguages PreselectedProgrammingLanguage { get; set; }
///
/// Do you want to preselect any other language?
///
public string PreselectedOtherProgrammingLanguage { get; set; } = string.Empty;
///
/// Preselect a data source?
///
public DataSources PreselectedDataSource { get; set; }
///
/// Do you want to preselect a product name for the data source?
///
public string PreselectedDataSourceProductName { get; set; } = string.Empty;
///
/// Do you want to preselect any other data source?
///
public string PreselectedOtherDataSource { get; set; } = string.Empty;
///
/// Do you want to preselect a hostname for the data source?
///
public string PreselectedDataSourceHostname { get; set; } = string.Empty;
///
/// Do you want to preselect a port for the data source?
///
public int? PreselectedDataSourcePort { get; set; }
///
/// Preselect any authentication methods?
///
public HashSet PreselectedAuthMethods { get; set; } = [];
///
/// Do you want to preselect any authentication description?
///
public string PreselectedAuthDescription { get; set; } = string.Empty;
///
/// Do you want to preselect an operating system? This is necessary when SSO with Kerberos is used.
///
public OperatingSystem PreselectedOperatingSystem { get; set; } = OperatingSystem.NONE;
///
/// Do you want to preselect a retrieval description?
///
public string PreselectedRetrievalDescription { get; set; } = string.Empty;
///
/// Do you want to preselect any additional libraries?
///
public string PreselectedAdditionalLibraries { get; set; } = string.Empty;
///
/// The minimum confidence level required for a provider to be considered.
///
public ConfidenceLevel MinimumProviderConfidence { get; set; } = ConfidenceLevel.NONE;
///
/// Which coding provider should be preselected?
///
public string PreselectedProvider { get; set; } = string.Empty;
///
/// Preselect a profile?
///
public string PreselectedProfile { get; set; } = string.Empty;
}