2025-01-13 18:51:26 +00:00
|
|
|
using System.Text.Json.Serialization;
|
|
|
|
|
|
2026-08-14 10:03:16 +00:00
|
|
|
using AIStudio.Settings.DataModel;
|
|
|
|
|
|
2025-01-13 18:51:26 +00:00
|
|
|
namespace AIStudio.Settings;
|
|
|
|
|
|
|
|
|
|
public interface IExternalDataSource : IDataSource, ISecretId
|
|
|
|
|
{
|
2026-08-14 10:03:16 +00:00
|
|
|
/// <summary>
|
|
|
|
|
/// Which data security policy is applied to this external data source?
|
|
|
|
|
/// </summary>
|
|
|
|
|
public DataSourceSecurity SecurityPolicy { get; init; }
|
|
|
|
|
|
2025-01-13 18:51:26 +00:00
|
|
|
#region Implementation of ISecretId
|
|
|
|
|
|
|
|
|
|
[JsonIgnore]
|
2026-05-18 14:26:51 +00:00
|
|
|
string ISecretId.SecretId => this.IsEnterpriseConfiguration ? $"{ENTERPRISE_KEY_PREFIX}::{this.Id}" : this.Id;
|
2025-01-13 18:51:26 +00:00
|
|
|
|
|
|
|
|
[JsonIgnore]
|
|
|
|
|
string ISecretId.SecretName => this.Name;
|
|
|
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
}
|