From 623b75fa3488abc0709fcf3b6af85acbdec1f933 Mon Sep 17 00:00:00 2001 From: "gitauto-ai[bot]" <161652217+gitauto-ai[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 00:09:06 +0000 Subject: [PATCH 1/5] Update Src/VTEX.API/Controllers/ProductController.cs --- Src/VTEX.API/Controllers/ProductController.cs | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Src/VTEX.API/Controllers/ProductController.cs diff --git a/Src/VTEX.API/Controllers/ProductController.cs b/Src/VTEX.API/Controllers/ProductController.cs new file mode 100644 index 000000000..e6b36cadd --- /dev/null +++ b/Src/VTEX.API/Controllers/ProductController.cs @@ -0,0 +1,26 @@ +using Microsoft.AspNetCore.Mvc; + +namespace VTEX.API.Controllers +{ + [ApiController] + [Route("api/[controller]")] + public class ProductController : ControllerBase + { + [HttpPost] + public IActionResult CreateProduct([FromBody] Product product) + { + // Lógica para criar um novo produto + return Ok(); + } + + // Outros métodos para atualizar e gerenciar produtos + } +} + +// Classe de modelo de produto +public class Product +{ + public string Name { get; set; } + public decimal Price { get; set; } + // Outros campos de produto +} From 4e7ac78458c5059b362daec6bd1c61cdbe2f8286 Mon Sep 17 00:00:00 2001 From: "gitauto-ai[bot]" <161652217+gitauto-ai[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 00:09:24 +0000 Subject: [PATCH 2/5] Update Src/VTEX.API/Middleware/AuthenticationMiddleware.cs --- .../Middleware/AuthenticationMiddleware.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 Src/VTEX.API/Middleware/AuthenticationMiddleware.cs diff --git a/Src/VTEX.API/Middleware/AuthenticationMiddleware.cs b/Src/VTEX.API/Middleware/AuthenticationMiddleware.cs new file mode 100644 index 000000000..69558e766 --- /dev/null +++ b/Src/VTEX.API/Middleware/AuthenticationMiddleware.cs @@ -0,0 +1,21 @@ +using Microsoft.AspNetCore.Http; +using System.Threading.Tasks; + +namespace VTEX.API.Middleware +{ + public class AuthenticationMiddleware + { + private readonly RequestDelegate _next; + + public AuthenticationMiddleware(RequestDelegate next) + { + _next = next; + } + + public async Task InvokeAsync(HttpContext context) + { + // Lógica para verificar o token de autenticação + await _next(context); + } + } +} From e68e6eb2c81ac8194973f60c170d69a6a7aeb4b9 Mon Sep 17 00:00:00 2001 From: "gitauto-ai[bot]" <161652217+gitauto-ai[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 00:09:58 +0000 Subject: [PATCH 3/5] Update Src/VTEX.API/Controllers/ProductController.cs --- Src/VTEX.API/Controllers/ProductController.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Src/VTEX.API/Controllers/ProductController.cs b/Src/VTEX.API/Controllers/ProductController.cs index e6b36cadd..fcfb18cca 100644 --- a/Src/VTEX.API/Controllers/ProductController.cs +++ b/Src/VTEX.API/Controllers/ProductController.cs @@ -1,4 +1,6 @@ using Microsoft.AspNetCore.Mvc; +using System.ComponentModel.DataAnnotations; + namespace VTEX.API.Controllers { @@ -13,7 +15,11 @@ public IActionResult CreateProduct([FromBody] Product product) return Ok(); } + [Required] + [StringLength(100, MinimumLength = 3)] // Outros métodos para atualizar e gerenciar produtos + [Required] + [Range(0.01, 10000.00)] } } From 9674ed4017eccb0088655e5fcc6947c72e551504 Mon Sep 17 00:00:00 2001 From: "gitauto-ai[bot]" <161652217+gitauto-ai[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 00:10:12 +0000 Subject: [PATCH 4/5] Update Src/VTEX.API/Startup.cs --- Src/VTEX.API/Startup.cs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 Src/VTEX.API/Startup.cs diff --git a/Src/VTEX.API/Startup.cs b/Src/VTEX.API/Startup.cs new file mode 100644 index 000000000..6520b9a7a --- /dev/null +++ b/Src/VTEX.API/Startup.cs @@ -0,0 +1,26 @@ +using Microsoft.AspNetCore.Builder; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.OpenApi.Models; + +namespace VTEX.API +{ + public class Startup + { + public void ConfigureServices(IServiceCollection services) + { + services.AddControllers(); + services.AddSwaggerGen(c => + { + c.SwaggerDoc("v1", new OpenApiInfo { Title = "VTEX API", Version = "v1" }); + }); + } + + public void Configure(IApplicationBuilder app) + { + app.UseSwagger(); + app.UseSwaggerUI(c => c.SwaggerEndpoint("/swagger/v1/swagger.json", "VTEX API v1")); + app.UseRouting(); + app.UseEndpoints(endpoints => endpoints.MapControllers()); + } + } +} From a0a0ed27b0f8824a1882d2b0554c25ac4b2b1af5 Mon Sep 17 00:00:00 2001 From: "gitauto-ai[bot]" <161652217+gitauto-ai[bot]@users.noreply.github.com> Date: Fri, 22 Nov 2024 00:10:24 +0000 Subject: [PATCH 5/5] Update Tests/VTEX.Tests/Controllers/ProductControllerTest.cs --- .../Controllers/ProductControllerTest.cs | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 Tests/VTEX.Tests/Controllers/ProductControllerTest.cs diff --git a/Tests/VTEX.Tests/Controllers/ProductControllerTest.cs b/Tests/VTEX.Tests/Controllers/ProductControllerTest.cs new file mode 100644 index 000000000..12b115844 --- /dev/null +++ b/Tests/VTEX.Tests/Controllers/ProductControllerTest.cs @@ -0,0 +1,23 @@ +using Microsoft.AspNetCore.Mvc; +using VTEX.API.Controllers; +using Xunit; + +namespace VTEX.Tests.Controllers +{ + public class ProductControllerTest + { + [Fact] + public void CreateProduct_ReturnsOkResult() + { + // Arrange + var controller = new ProductController(); + var product = new Product { Name = "Test Product", Price = 10.0m }; + + // Act + var result = controller.CreateProduct(product); + + // Assert + Assert.IsType(result); + } + } +}