From 352c4a4401208b12a081df6d48a08939e4ae731f Mon Sep 17 00:00:00 2001 From: glax Date: Tue, 14 Oct 2025 13:29:33 +0200 Subject: [PATCH] MetadataSearchResult data annotations --- .../MetadataFetchers/MetadataSearchResult.cs | 36 ++++++++++++++++++- API/openapi/API_v2.json | 22 +++++++++--- 2 files changed, 52 insertions(+), 6 deletions(-) diff --git a/API/Schema/MangaContext/MetadataFetchers/MetadataSearchResult.cs b/API/Schema/MangaContext/MetadataFetchers/MetadataSearchResult.cs index 9b4b64f..0428a99 100644 --- a/API/Schema/MangaContext/MetadataFetchers/MetadataSearchResult.cs +++ b/API/Schema/MangaContext/MetadataFetchers/MetadataSearchResult.cs @@ -1,3 +1,37 @@ +using System.ComponentModel.DataAnnotations; + namespace API.Schema.MangaContext.MetadataFetchers; -public record MetadataSearchResult(string Identifier, string Name, string Url, string? Description = null, string? CoverUrl = null); \ No newline at end of file +public record MetadataSearchResult( + string Identifier, + string Name, + string Url, + string? Description = null, + string? CoverUrl = null) +{ + /// + /// Identifier specific to the MetadataFetcher + /// + [Required] + public string Identifier { get; init; } = Identifier; + /// + /// Name of the Manga + /// + [Required] + public string Name { get; init; } = Name; + /// + /// Url to the result + /// + [Required] + public string Url { get; init; } = Url; + /// + /// Description of the Manga + /// + [Required] + public string? Description { get; init; } = Description; + /// + /// Url to the cover if available + /// + [Required] + public string? CoverUrl { get; init; } = CoverUrl; +} \ No newline at end of file diff --git a/API/openapi/API_v2.json b/API/openapi/API_v2.json index 5e5b41b..81d75c3 100644 --- a/API/openapi/API_v2.json +++ b/API/openapi/API_v2.json @@ -3679,27 +3679,39 @@ "additionalProperties": false }, "MetadataSearchResult": { + "required": [ + "coverUrl", + "description", + "identifier", + "name", + "url" + ], "type": "object", "properties": { "identifier": { + "minLength": 1, "type": "string", - "nullable": true + "description": "Identifier specific to the MetadataFetcher" }, "name": { + "minLength": 1, "type": "string", - "nullable": true + "description": "Name of the Manga" }, "url": { + "minLength": 1, "type": "string", - "nullable": true + "description": "Url to the result" }, "description": { + "minLength": 1, "type": "string", - "nullable": true + "description": "Description of the Manga" }, "coverUrl": { + "minLength": 1, "type": "string", - "nullable": true + "description": "Url to the cover if available" } }, "additionalProperties": false