Files
game-ideas/src/GameIdeas/Server/GameIdeas.WebAPI/Controllers/CategoryController.cs
2025-04-13 17:21:15 +02:00

27 lines
785 B
C#

using GameIdeas.Shared.Dto;
using GameIdeas.WebAPI.Services.Interfaces;
using Microsoft.AspNetCore.Mvc;
namespace GameIdeas.WebAPI.Controllers;
[ApiController]
[Route("api/[controller]")]
public class CategoryController(ICategoryService categoryService, ILoggerFactory loggerFactory) : Controller
{
private readonly ILogger<CategoryController> logger = loggerFactory.CreateLogger<CategoryController>();
[HttpGet("All")]
public async Task<ActionResult<CategoriesDto>> FetchAllCategories()
{
try
{
return Ok(await categoryService.GetCategories());
}
catch (Exception e)
{
logger.LogError(e, "Internal error while fetching categories");
return StatusCode(500, e.Message);
}
}
}