| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- using Diligent.WebAPI.Contracts.DTOs.Categories;
- using Microsoft.AspNetCore.Mvc;
-
- namespace Diligent.WebAPI.Host.Controllers.V1
- {
- [ApiVersion("1.0")]
- [Route("v{version:apiVersion}/categories")]
- [ApiController]
- public class CategoriesController : ControllerBase
- {
- private readonly ICategoryService _categoryService;
-
- public CategoriesController(ICategoryService categoryService)
- {
- _categoryService = categoryService;
- }
-
- [HttpGet("root-categories/{parentCategoryId:int?}")]
- public async Task<IActionResult> GetRootCategories(int parentCategoryId = -1)
- {
- User? user = (User?)HttpContext.Items["User"];
- return Ok(await _categoryService.GetRootCategories(user.Id, parentCategoryId));
- }
-
- [HttpGet("granted-categories")]
- public async Task<IActionResult> GetCategories(int userId) =>
- Ok(await _categoryService.GetCategories(userId));
-
- [HttpGet("all-categories")]
- public async Task<IActionResult> GetAllCategories() =>
- Ok(await _categoryService.GetAllCategories());
-
- [HttpPost]
- public async Task<IActionResult> CreateCategory([FromBody] CreateCategoryDto request)
- {
- await _categoryService.CreateAsync(request);
- return StatusCode((int)HttpStatusCode.Created);
- }
- }
- }
|