diff --git a/src/Shared/Models/BaseModels.cs b/src/Shared/Models/BaseModels.cs new file mode 100644 index 0000000..df2454c --- /dev/null +++ b/src/Shared/Models/BaseModels.cs @@ -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; } +} \ No newline at end of file diff --git a/src/Shared/Models/EntityResults.cs b/src/Shared/Models/EntityResults.cs index 0e99110..ed9b7a4 100644 --- a/src/Shared/Models/EntityResults.cs +++ b/src/Shared/Models/EntityResults.cs @@ -3,14 +3,10 @@ using System.Text.Json.Serialization; namespace Shared.Models; -public class EntityQueryResults +public class EntityQueryResults : SuccesMessageBaseModel { [JsonPropertyName("Results")] public required List Results { get; set; } - [JsonPropertyName("Success")] - public required bool Success { get; set; } - [JsonPropertyName("Message")] - public string? Message { get; set; } } public class EntityQueryResult @@ -24,18 +20,14 @@ public class EntityQueryResult public Dictionary? Attributes { get; set; } } -public class EntityIndexResult -{ - [JsonPropertyName("Success")] - public required bool Success { get; set; } - [JsonPropertyName("Message")] - public string? Message { get; set; } -} +public class EntityIndexResult : SuccesMessageBaseModel {} public class EntityListResults { [JsonPropertyName("Results")] public required List Results { get; set; } + [JsonPropertyName("Message")] + public string? Message { get; set; } [JsonPropertyName("Success")] public required bool Success { get; set; } } @@ -80,11 +72,5 @@ public class EmbeddingResult public required float[] Embeddings { get; set; } } -public class EntityDeleteResults -{ - [JsonPropertyName("Success")] - public required bool Success { get; set; } - [JsonPropertyName("Message")] - public string? Message { get; set; } -} +public class EntityDeleteResults : SuccesMessageBaseModel {} diff --git a/src/Shared/Models/SearchdomainResults.cs b/src/Shared/Models/SearchdomainResults.cs index f6f1de7..e45c901 100644 --- a/src/Shared/Models/SearchdomainResults.cs +++ b/src/Shared/Models/SearchdomainResults.cs @@ -11,109 +11,46 @@ public class SearchdomainListResults 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")] 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")] 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")] public required Dictionary 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")] 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")] 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")] public required long? SearchdomainDatabaseSizeBytes { get; set; } } diff --git a/src/Shared/Models/ServerModels.cs b/src/Shared/Models/ServerModels.cs index 278582e..f149ee2 100644 --- a/src/Shared/Models/ServerModels.cs +++ b/src/Shared/Models/ServerModels.cs @@ -2,14 +2,8 @@ using System.Text.Json.Serialization; 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")] public string[]? Models { get; set; } } \ No newline at end of file