using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using MilliSim.Common.Dtos; using MilliSim.Common.Models; using MilliSim.Services; namespace MilliSim.Controllers; [ApiController] [Route("api/categories")] public class CategoriesController : ControllerBase { private readonly IProjectService _projectService; public CategoriesController(IProjectService projectService) { _projectService = projectService; } /// /// 分类列表 /// [HttpGet] public async Task>> GetCategories() { return await _projectService.GetCategoriesAsync(); } /// /// 创建分类 /// [HttpPost] [Authorize(Policy = "Admin")] public async Task> CreateCategory([FromBody] CreateCategoryRequest request) { return await _projectService.CreateCategoryAsync(request); } /// /// 更新分类 /// [HttpPost("{id:long}")] [Authorize(Policy = "Admin")] public async Task> UpdateCategory(long id, [FromBody] CreateCategoryRequest request) { return await _projectService.UpdateCategoryAsync(id, request); } /// /// 删除分类 /// [HttpPost("{id:long}/delete")] [Authorize(Policy = "Admin")] public async Task DeleteCategory(long id) { return await _projectService.DeleteCategoryAsync(id); } }