using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using MilliSim.Common.Dtos; using MilliSim.Services; namespace MilliSim.Controllers; [ApiController] [Route("api/partners")] public class PartnersController : ControllerBase { private readonly IContentService _contentService; public PartnersController(IContentService contentService) { _contentService = contentService; } /// /// 合作伙伴列表(前台传 onlyVisible=true) /// [HttpGet] public async Task GetList([FromQuery] bool onlyVisible = false) { var result = await _contentService.GetPartnersAsync(onlyVisible); return Ok(result); } /// /// 创建合作伙伴 /// [HttpPost] [Authorize(Policy = "Admin")] public async Task Create([FromBody] CreatePartnerRequest request) { var result = await _contentService.CreatePartnerAsync(request); return Ok(result); } /// /// 更新合作伙伴 /// [HttpPost("{id:long}")] [Authorize(Policy = "Admin")] public async Task Update(long id, [FromBody] CreatePartnerRequest request) { var result = await _contentService.UpdatePartnerAsync(id, request); return Ok(result); } /// /// 删除合作伙伴 /// [HttpPost("{id:long}/delete")] [Authorize(Policy = "Admin")] public async Task Delete(long id) { var result = await _contentService.DeletePartnerAsync(id); return Ok(result); } }