mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-06-23 08:56:26 +00:00
52 lines
2.1 KiB
C#
52 lines
2.1 KiB
C#
|
|
using AIStudio.Provider;
|
||
|
|
|
||
|
|
namespace AIStudio.Settings;
|
||
|
|
|
||
|
|
public static class DataSourceSecurityTrustExtensions
|
||
|
|
{
|
||
|
|
public static bool IsTrustedForDataSourceSecurityChecks(this Provider provider, SettingsManager settingsManager)
|
||
|
|
{
|
||
|
|
if (provider == Provider.NONE)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return provider.IsSelfHosted || provider.IsTrustedByConfiguration(settingsManager);
|
||
|
|
}
|
||
|
|
|
||
|
|
public static bool IsTrustedForDataSourceSecurityChecks(this EmbeddingProvider provider, SettingsManager settingsManager)
|
||
|
|
{
|
||
|
|
if (provider == EmbeddingProvider.NONE)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return provider.IsSelfHosted || provider.IsTrustedByConfiguration(settingsManager);
|
||
|
|
}
|
||
|
|
|
||
|
|
public static bool IsTrustedForDataSourceSecurityChecks(this TranscriptionProvider provider, SettingsManager settingsManager)
|
||
|
|
{
|
||
|
|
if (provider == TranscriptionProvider.NONE)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return provider.IsSelfHosted || provider.IsTrustedByConfiguration(settingsManager);
|
||
|
|
}
|
||
|
|
|
||
|
|
public static bool IsTrustedForDataSourceSecurityChecks(this IProvider provider, SettingsManager settingsManager)
|
||
|
|
{
|
||
|
|
if (provider is NoProvider)
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return provider.Provider is LLMProviders.SELF_HOSTED || IsTrustedProviderId(provider.ConfiguredProviderId, settingsManager);
|
||
|
|
}
|
||
|
|
|
||
|
|
public static bool IsTrustedByConfiguration(this Provider provider, SettingsManager settingsManager) => IsTrustedProviderId(provider.Id, settingsManager);
|
||
|
|
|
||
|
|
public static bool IsTrustedByConfiguration(this EmbeddingProvider provider, SettingsManager settingsManager) => IsTrustedProviderId(provider.Id, settingsManager);
|
||
|
|
|
||
|
|
public static bool IsTrustedByConfiguration(this TranscriptionProvider provider, SettingsManager settingsManager) => IsTrustedProviderId(provider.Id, settingsManager);
|
||
|
|
|
||
|
|
private static bool IsTrustedProviderId(string providerId, SettingsManager settingsManager)
|
||
|
|
{
|
||
|
|
if (string.IsNullOrWhiteSpace(providerId))
|
||
|
|
return false;
|
||
|
|
|
||
|
|
return settingsManager.ConfigurationData.DataSourceSecurity.TrustedProviderIds.Any(id => string.Equals(id, providerId, StringComparison.OrdinalIgnoreCase));
|
||
|
|
}
|
||
|
|
}
|