From 9d146eb151ced95ec9b5ede0d2c81906a73cd979 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Fri, 14 Nov 2025 04:50:54 +0000 Subject: [PATCH] Add Iso31661NumericDto and update Iso31661NumericController to use DTO for numeric operations --- Marechai.Data/Dtos/Iso31661NumericDto.cs | 36 +++++++++++++++++++ .../Controllers/Iso31661NumericController.cs | 17 +++++---- 2 files changed, 47 insertions(+), 6 deletions(-) create mode 100644 Marechai.Data/Dtos/Iso31661NumericDto.cs diff --git a/Marechai.Data/Dtos/Iso31661NumericDto.cs b/Marechai.Data/Dtos/Iso31661NumericDto.cs new file mode 100644 index 00000000..cd0a2fbb --- /dev/null +++ b/Marechai.Data/Dtos/Iso31661NumericDto.cs @@ -0,0 +1,36 @@ +/****************************************************************************** +// MARECHAI: Master repository of computing history artifacts information +// ---------------------------------------------------------------------------- +// +// Author(s) : Natalia Portillo +// +// --[ License ] -------------------------------------------------------------- +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as +// published by the Free Software Foundation, either version 3 of the +// License, or (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// ---------------------------------------------------------------------------- +// Copyright © 2003-2021 Natalia Portillo +*******************************************************************************/ + +using System.ComponentModel.DataAnnotations; +using System.Text.Json.Serialization; + +namespace Marechai.Data.Dtos; + +public class Iso31661NumericDto +{ + [JsonPropertyName("id")] [Required] public short Id { get; set; } + + [JsonPropertyName("name")] [Required] public required string Name { get; set; } +} \ No newline at end of file diff --git a/Marechai.Server/Controllers/Iso31661NumericController.cs b/Marechai.Server/Controllers/Iso31661NumericController.cs index f59f6150..3ffe80c5 100644 --- a/Marechai.Server/Controllers/Iso31661NumericController.cs +++ b/Marechai.Server/Controllers/Iso31661NumericController.cs @@ -23,10 +23,8 @@ // Copyright © 2003-2025 Natalia Portillo *******************************************************************************/ -using System; using System.Collections.Generic; using System.Linq; -using System.Security.Claims; using System.Threading.Tasks; using Marechai.Data.Dtos; using Marechai.Database.Models; @@ -34,7 +32,6 @@ using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using Microsoft.EntityFrameworkCore; -using Microsoft.Extensions.Localization; namespace Marechai.Server.Controllers; @@ -46,6 +43,14 @@ public class Iso31661NumericController(MarechaiContext context) : ControllerBase [AllowAnonymous] [ProducesResponseType(StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status400BadRequest)] - public Task> GetAsync() => - context.Iso31661Numeric.OrderBy(c => c.Name).ToListAsync(); -} + public Task> GetAsync() + { + return context.Iso31661Numeric.OrderBy(c => c.Name) + .Select(c => new Iso31661NumericDto + { + Id = c.Id, + Name = c.Name + }) + .ToListAsync(); + } +} \ No newline at end of file