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