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 logger = loggerFactory.CreateLogger(); [HttpGet("All")] public async Task> FetchAllCategories() { try { return Ok(await categoryService.GetCategories()); } catch (Exception e) { logger.LogError(e, "Internal error while fetching categories"); return StatusCode(500, e.Message); } } }