using System; using System.Collections.Generic; using IRaCIS.Application.Interfaces; using IRaCIS.Application.ViewModels; using IRaCIS.Core.Application.Contracts.RequestAndResponse; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; namespace IRaCIS.Api.Controllers { [Route("site")] [ApiController, Authorize, ApiExplorerSettings(GroupName = "Institution")] public class SiteController : ControllerBase { private readonly ISiteService _siteService; public SiteController(ISiteService siteService) { _siteService = siteService; } /// 分页获取研究中心列表 [HttpPost, Route("getSiteList")] public IResponseOutput> GetSiteList(SiteQueryParam searchModel) { return ResponseOutput.Ok(_siteService.GetSiteList(searchModel)) ; } /// 获取研究中心列表[New] [HttpGet, Route("getAllSiteList")] public IResponseOutput> GetAllSiteList() { return ResponseOutput.Ok(_siteService.GetSiteList()) ; } /// 添加研究中心[AUTH] [HttpPost, Route("addOrUpdateSite")] public IResponseOutput AddOrUpdateSite(SiteCommand addModel) { var userId = User.FindFirst("id").Value; return _siteService.AddOrUpdateSite(addModel, Guid.Parse(userId)) ; } /// 删除研究中心[Auth] [HttpDelete, Route("deleteSite/{siteId:guid}")] public IResponseOutput DeleteResearchCenter(Guid siteId) { return _siteService.DeleteSite(siteId); } } }