Defined interfaces for internal & external data sources

This commit is contained in:
tsommer committed 2025-01-06 19:07:12 +01:00
1 parent 3ad627566a
commit bcbb7d2d92
5 files changed
+21 -3

No files matched your search

@@ -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()
{ {
@@ -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>
@@ -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>
@@ -0,0 +1,3 @@
namespace AIStudio.Settings;
public interface IExternalDataSource : IDataSource;
@@ -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; }
}