AI-Studio/app/MindWork AI Studio/Settings/DataModel/SseEvent.cs
2025-06-24 10:16:39 +02:00

88 lines
1.8 KiB
C#

using System.Text.Json.Serialization;
namespace AIStudio.Settings.DataModel;
public class SseEvent
{
[JsonPropertyName("content")]
public string? Content { get; set; }
[JsonPropertyName("metadata")]
public Metadata? Metadata { get; set; }
}
[JsonConverter(typeof(MetadataJsonConverter))]
public abstract class Metadata;
public class TextMetadata : Metadata
{
[JsonPropertyName("Text")]
public TextDetails? Text { get; set; }
}
public class TextDetails
{
[JsonPropertyName("line_number")]
public int? LineNumber { get; set; }
}
public class PdfMetadata : Metadata
{
[JsonPropertyName("Pdf")]
public PdfDetails? Pdf { get; set; }
}
public class PdfDetails
{
[JsonPropertyName("page_number")]
public int? PageNumber { get; set; }
}
public class SpreadsheetMetadata : Metadata
{
[JsonPropertyName("Spreadsheet")]
public SpreadsheetDetails? Spreadsheet { get; set; }
}
public class SpreadsheetDetails
{
[JsonPropertyName("sheet_name")]
public string? SheetName { get; set; }
[JsonPropertyName("row_number")]
public int? RowNumber { get; set; }
}
public class DocumentMetadata : Metadata {}
public class ImageMetadata: Metadata {}
public class PresentationMetadata : Metadata
{
[JsonPropertyName("Presentation")]
public PresentationDetails? Presentation { get; set; }
}
public class PresentationDetails
{
[JsonPropertyName("slide_number")]
public int? SlideNumber { get; set; }
[JsonPropertyName("image")]
public PptxImageData? Image { get; set; }
}
public class PptxImageData
{
[JsonPropertyName("id")]
public string? Id { get; set; }
[JsonPropertyName("content")]
public string? Content { get; set; }
[JsonPropertyName("segment")]
public int? Segment { get; set; }
[JsonPropertyName("is_end")]
public bool IsEnd { get; set; }
}