Fixed DRY violations regarding result models

This commit is contained in:
2025-12-25 14:55:30 +01:00
parent 7298593341
commit cc93a76546
4 changed files with 32 additions and 103 deletions

View File

@@ -0,0 +1,12 @@
using System.Text.Json.Serialization;
namespace Shared.Models;
public class SuccesMessageBaseModel
{
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
[JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]
public string? Message { get; set; }
}

View File

@@ -3,14 +3,10 @@ using System.Text.Json.Serialization;
namespace Shared.Models; namespace Shared.Models;
public class EntityQueryResults public class EntityQueryResults : SuccesMessageBaseModel
{ {
[JsonPropertyName("Results")] [JsonPropertyName("Results")]
public required List<EntityQueryResult> Results { get; set; } public required List<EntityQueryResult> Results { get; set; }
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
} }
public class EntityQueryResult public class EntityQueryResult
@@ -24,18 +20,14 @@ public class EntityQueryResult
public Dictionary<string, string>? Attributes { get; set; } public Dictionary<string, string>? Attributes { get; set; }
} }
public class EntityIndexResult public class EntityIndexResult : SuccesMessageBaseModel {}
{
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
}
public class EntityListResults public class EntityListResults
{ {
[JsonPropertyName("Results")] [JsonPropertyName("Results")]
public required List<EntityListResult> Results { get; set; } public required List<EntityListResult> Results { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
[JsonPropertyName("Success")] [JsonPropertyName("Success")]
public required bool Success { get; set; } public required bool Success { get; set; }
} }
@@ -80,11 +72,5 @@ public class EmbeddingResult
public required float[] Embeddings { get; set; } public required float[] Embeddings { get; set; }
} }
public class EntityDeleteResults public class EntityDeleteResults : SuccesMessageBaseModel {}
{
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
}

View File

@@ -11,109 +11,46 @@ public class SearchdomainListResults
public string? Message { get; set; } public string? Message { get; set; }
} }
public class SearchdomainCreateResults public class SearchdomainCreateResults : SuccesMessageBaseModel
{ {
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
[JsonPropertyName("Id")] [JsonPropertyName("Id")]
public int? Id { get; set; } public int? Id { get; set; }
} }
public class SearchdomainUpdateResults public class SearchdomainUpdateResults : SuccesMessageBaseModel {}
public class SearchdomainDeleteResults : SuccesMessageBaseModel
{ {
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
}
public class SearchdomainDeleteResults
{
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
[JsonPropertyName("DeletedEntities")] [JsonPropertyName("DeletedEntities")]
public required int DeletedEntities { get; set; } public required int DeletedEntities { get; set; }
} }
public class SearchdomainSearchesResults public class SearchdomainSearchesResults : SuccesMessageBaseModel
{ {
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
[JsonPropertyName("Searches")] [JsonPropertyName("Searches")]
public required Dictionary<string, DateTimedSearchResult> Searches { get; set; } public required Dictionary<string, DateTimedSearchResult> Searches { get; set; }
} }
public class SearchdomainDeleteSearchResult public class SearchdomainDeleteSearchResult : SuccesMessageBaseModel {}
public class SearchdomainUpdateSearchResult : SuccesMessageBaseModel {}
public class SearchdomainSettingsResults : SuccesMessageBaseModel
{ {
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
}
public class SearchdomainUpdateSearchResult
{
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
}
public class SearchdomainSettingsResults
{
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
[JsonPropertyName("Settings")] [JsonPropertyName("Settings")]
public required SearchdomainSettings? Settings { get; set; } public required SearchdomainSettings? Settings { get; set; }
} }
public class SearchdomainSearchCacheSizeResults public class SearchdomainSearchCacheSizeResults : SuccesMessageBaseModel
{ {
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
[JsonPropertyName("SearchCacheSizeBytes")] [JsonPropertyName("SearchCacheSizeBytes")]
public required long? SearchCacheSizeBytes { get; set; } public required long? SearchCacheSizeBytes { get; set; }
} }
public class SearchdomainInvalidateCacheResults public class SearchdomainInvalidateCacheResults : SuccesMessageBaseModel {}
public class SearchdomainGetDatabaseSizeResult : SuccesMessageBaseModel
{ {
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
}
public class SearchdomainGetDatabaseSizeResult
{
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
[JsonPropertyName("SearchdomainDatabaseSizeBytes")] [JsonPropertyName("SearchdomainDatabaseSizeBytes")]
public required long? SearchdomainDatabaseSizeBytes { get; set; } public required long? SearchdomainDatabaseSizeBytes { get; set; }
} }

View File

@@ -2,14 +2,8 @@ using System.Text.Json.Serialization;
namespace Shared.Models; namespace Shared.Models;
public class ServerGetModelsResult public class ServerGetModelsResult : SuccesMessageBaseModel
{ {
[JsonPropertyName("Success")]
public required bool Success { get; set; }
[JsonPropertyName("Message")]
public string? Message { get; set; }
[JsonPropertyName("Models")] [JsonPropertyName("Models")]
public string[]? Models { get; set; } public string[]? Models { get; set; }
} }