Defined interfaces for internal & external data sources

This commit is contained in:
Thorsten Sommer 2025-01-06 19:07:12 +01:00
parent 3ad627566a
commit bcbb7d2d92
Signed by: tsommer
GPG Key ID: 371BBA77A02C0108
5 changed files with 21 additions and 3 deletions

View File

@ -6,7 +6,7 @@ namespace AIStudio.Settings.DataModel;
/// <summary> /// <summary>
/// An external data source, accessed via an ERI server, cf. https://github.com/MindWorkAI/ERI. /// An external data source, accessed via an ERI server, cf. https://github.com/MindWorkAI/ERI.
/// </summary> /// </summary>
public readonly record struct DataSourceERI_V1 : IDataSource public readonly record struct DataSourceERI_V1 : IExternalDataSource
{ {
public DataSourceERI_V1() public DataSourceERI_V1()
{ {

View File

@ -3,7 +3,7 @@ namespace AIStudio.Settings.DataModel;
/// <summary> /// <summary>
/// Represents a local directory as a data source. /// Represents a local directory as a data source.
/// </summary> /// </summary>
public readonly record struct DataSourceLocalDirectory : IDataSource public readonly record struct DataSourceLocalDirectory : IInternalDataSource
{ {
public DataSourceLocalDirectory() public DataSourceLocalDirectory()
{ {
@ -21,6 +21,9 @@ public readonly record struct DataSourceLocalDirectory : IDataSource
/// <inheritdoc /> /// <inheritdoc />
public DataSourceType Type { get; init; } = DataSourceType.NONE; public DataSourceType Type { get; init; } = DataSourceType.NONE;
/// <inheritdoc />
public string EmbeddingId { get; init; } = Guid.Empty.ToString();
/// <summary> /// <summary>
/// The path to the directory. /// The path to the directory.
/// </summary> /// </summary>

View File

@ -3,7 +3,7 @@ namespace AIStudio.Settings.DataModel;
/// <summary> /// <summary>
/// Represents one local file as a data source. /// Represents one local file as a data source.
/// </summary> /// </summary>
public readonly record struct DataSourceLocalFile : IDataSource public readonly record struct DataSourceLocalFile : IInternalDataSource
{ {
public DataSourceLocalFile() public DataSourceLocalFile()
{ {
@ -21,6 +21,9 @@ public readonly record struct DataSourceLocalFile : IDataSource
/// <inheritdoc /> /// <inheritdoc />
public DataSourceType Type { get; init; } = DataSourceType.NONE; public DataSourceType Type { get; init; } = DataSourceType.NONE;
/// <inheritdoc />
public string EmbeddingId { get; init; } = Guid.Empty.ToString();
/// <summary> /// <summary>
/// The path to the file. /// The path to the file.
/// </summary> /// </summary>

View File

@ -0,0 +1,3 @@
namespace AIStudio.Settings;
public interface IExternalDataSource : IDataSource;

View File

@ -0,0 +1,9 @@
namespace AIStudio.Settings;
public interface IInternalDataSource : IDataSource
{
/// <summary>
/// The unique identifier of the embedding method used by this internal data source.
/// </summary>
public string EmbeddingId { get; init; }
}