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/platforms")] public class PlatformsController : ControllerBase { private readonly IProjectService _projectService; public PlatformsController(IProjectService projectService) { _projectService = projectService; } /// /// 平台列表 /// [HttpGet] public async Task>> GetPlatforms() { return await _projectService.GetPlatformsAsync(); } /// /// 创建平台 /// [HttpPost] [Authorize(Policy = "Admin")] public async Task> CreatePlatform([FromBody] CreatePlatformRequest request) { return await _projectService.CreatePlatformAsync(request); } /// /// 更新平台 /// [HttpPost("{id:long}")] [Authorize(Policy = "Admin")] public async Task> UpdatePlatform(long id, [FromBody] CreatePlatformRequest request) { return await _projectService.UpdatePlatformAsync(id, request); } /// /// 删除平台 /// [HttpPost("{id:long}/delete")] [Authorize(Policy = "Admin")] public async Task DeletePlatform(long id) { return await _projectService.DeletePlatformAsync(id); } }