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);
}
}