27 lines
785 B
C#
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);
|
|
}
|
|
}
|
|
}
|