using System.Threading.Tasks; using Asp.Versioning; using Microsoft.AspNetCore.Mvc; using Asp.Versioning; using Volo.Abp; using Volo.Abp.Application.Dtos; using Volo.Abp.AspNetCore.Mvc; using Volo.Docs.Common; using Volo.Docs.Common.Projects; using Volo.Docs.Documents; namespace Volo.Docs.Projects { [RemoteService(Name = DocsCommonRemoteServiceConsts.RemoteServiceName)] [Area(DocsCommonRemoteServiceConsts.ModuleName)] [ControllerName("Project")] [Route("api/docs/projects")] public class DocsProjectController : AbpControllerBase, IProjectAppService { protected IProjectAppService ProjectAppService { get; } public DocsProjectController(IProjectAppService projectAppService) { ProjectAppService = projectAppService; } [HttpGet] [Route("")] public virtual Task> GetListAsync() { return ProjectAppService.GetListAsync(); } [HttpGet] [Route("{shortName}")] public virtual Task GetAsync(string shortName) { return ProjectAppService.GetAsync(shortName); } [HttpGet] [Route("{shortName}/defaultLanguage")] public Task GetDefaultLanguageCodeAsync(string shortName,string version) { return ProjectAppService.GetDefaultLanguageCodeAsync(shortName, version); } [HttpGet] [Route("{shortName}/versions")] public virtual Task> GetVersionsAsync(string shortName) { return ProjectAppService.GetVersionsAsync(shortName); } [HttpGet] [Route("{shortName}/{version}/languageList")] public Task GetLanguageListAsync(string shortName, string version) { return ProjectAppService.GetLanguageListAsync(shortName, version); } } }