2025-08-15 04:40:15 +00:00
|
|
|
using BotSharp.Abstraction.VectorStorage.Enums;
|
|
|
|
|
|
|
|
|
|
namespace BotSharp.Abstraction.VectorStorage.Models;
|
|
|
|
|
|
|
|
|
|
public class VectorPayloadValue
|
|
|
|
|
{
|
2025-08-15 15:01:01 +00:00
|
|
|
[JsonPropertyName("data_value")]
|
|
|
|
|
public object DataValue { get; set; } = null!;
|
2025-08-15 04:40:15 +00:00
|
|
|
|
|
|
|
|
[JsonPropertyName("data_type")]
|
|
|
|
|
public VectorPayloadDataType DataType { get; set; } = VectorPayloadDataType.String;
|
|
|
|
|
|
|
|
|
|
public VectorPayloadValue()
|
|
|
|
|
{
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public VectorPayloadValue(object data, VectorPayloadDataType dataType)
|
|
|
|
|
{
|
2025-08-15 15:01:01 +00:00
|
|
|
DataValue = data;
|
2025-08-15 04:40:15 +00:00
|
|
|
DataType = dataType;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override string ToString()
|
|
|
|
|
{
|
2025-08-15 15:01:01 +00:00
|
|
|
return $"{DataValue} ({DataType})";
|
2025-08-15 04:40:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static VectorPayloadValue BuildStringValue(string data)
|
|
|
|
|
{
|
|
|
|
|
return new(data, VectorPayloadDataType.String);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static VectorPayloadValue BuildIntegerValue(long data)
|
|
|
|
|
{
|
|
|
|
|
return new(data, VectorPayloadDataType.Integer);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static VectorPayloadValue BuildDoubleValue(double data)
|
|
|
|
|
{
|
|
|
|
|
return new(data, VectorPayloadDataType.Double);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static VectorPayloadValue BuildBooleanValue(bool data)
|
|
|
|
|
{
|
|
|
|
|
return new(data, VectorPayloadDataType.Boolean);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static VectorPayloadValue BuildDatetimeValue(DateTime data)
|
|
|
|
|
{
|
|
|
|
|
return new(data, VectorPayloadDataType.Datetime);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public static VectorPayloadValue BuildUnkownValue(object data)
|
|
|
|
|
{
|
|
|
|
|
return new(data, VectorPayloadDataType.Unknown);
|
|
|
|
|
}
|
|
|
|
|
}
|