diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs index 157ac6c842..5bfc221e4d 100644 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs +++ b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs @@ -1,5 +1,3 @@ -using System; -using System.Collections.Generic; using System.Threading.Tasks; using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Services; @@ -10,8 +8,8 @@ namespace Volo.Docs.Projects { Task> GetListAsync(); - Task GetByShortNameAsync(string shortName); + Task GetAsync(string shortName); - Task> GetVersionsAsync(Guid id); + Task> GetVersionsAsync(string shortName); } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/Projects/ProjectAppService.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/Projects/ProjectAppService.cs index 2ce6f055c0..ac98279f13 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/Projects/ProjectAppService.cs +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/Projects/ProjectAppService.cs @@ -35,16 +35,16 @@ namespace Volo.Docs.Projects ); } - public async Task GetByShortNameAsync(string shortName) + public async Task GetAsync(string shortName) { var project = await _projectRepository.GetByShortNameAsync(shortName); return ObjectMapper.Map(project); } - public async Task> GetVersionsAsync(Guid id) + public async Task> GetVersionsAsync(string shortName) { - var project = await _projectRepository.GetAsync(id); + var project = await _projectRepository.GetByShortNameAsync(shortName); var versions = await _versionCache.GetOrAddAsync( project.ShortName, diff --git a/modules/docs/src/Volo.Docs.HttpApi/Volo.Docs.HttpApi.csproj b/modules/docs/src/Volo.Docs.HttpApi/Volo.Docs.HttpApi.csproj index c4b436c6f6..13d295b421 100644 --- a/modules/docs/src/Volo.Docs.HttpApi/Volo.Docs.HttpApi.csproj +++ b/modules/docs/src/Volo.Docs.HttpApi/Volo.Docs.HttpApi.csproj @@ -11,6 +11,7 @@ + diff --git a/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/DocsHttpApiModule.cs b/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/DocsHttpApiModule.cs index 003f2e3068..0d700576be 100644 --- a/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/DocsHttpApiModule.cs +++ b/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/DocsHttpApiModule.cs @@ -1,9 +1,12 @@ -using Volo.Abp.Modularity; +using Volo.Abp.AspNetCore.Mvc; +using Volo.Abp.Modularity; namespace Volo.Docs { [DependsOn( - typeof(DocsApplicationContractsModule))] + typeof(DocsApplicationContractsModule), + typeof(AbpAspNetCoreMvcModule) + )] public class DocsHttpApiModule : AbpModule { diff --git a/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Documents/DocsDocumentController.cs b/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Documents/DocsDocumentController.cs new file mode 100644 index 0000000000..9ef4b52e49 --- /dev/null +++ b/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Documents/DocsDocumentController.cs @@ -0,0 +1,42 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.AspNetCore.Mvc; + +namespace Volo.Docs.Documents +{ + [RemoteService] + [Area("docs")] + [ControllerName("Document")] + [Route("api/docs/documents")] + public class DocsDocumentController : AbpController, IDocumentAppService + { + protected IDocumentAppService DocumentAppService { get; } + + public DocsDocumentController(IDocumentAppService documentAppService) + { + DocumentAppService = documentAppService; + } + + [HttpGet] + [Route("")] + public virtual Task GetAsync(GetDocumentInput input) + { + return DocumentAppService.GetAsync(input); + } + + [HttpGet] + [Route("default")] + public virtual Task GetDefaultAsync(GetDefaultDocumentInput input) + { + return DocumentAppService.GetDefaultAsync(input); + } + + [HttpGet] + [Route("navigation")] + public virtual Task GetNavigationDocumentAsync(GetNavigationDocumentInput input) + { + return DocumentAppService.GetNavigationDocumentAsync(input); + } + } +} diff --git a/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Projects/DocsProjectController.cs b/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Projects/DocsProjectController.cs new file mode 100644 index 0000000000..773655aab8 --- /dev/null +++ b/modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Projects/DocsProjectController.cs @@ -0,0 +1,43 @@ +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Volo.Abp; +using Volo.Abp.Application.Dtos; +using Volo.Abp.AspNetCore.Mvc; + +namespace Volo.Docs.Projects +{ + [RemoteService] + [Area("docs")] + [ControllerName("Project")] + [Route("api/docs/projects")] + public class DocsProjectController : AbpController, 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}/versions")] + public virtual Task> GetVersionsAsync(string shortName) + { + return ProjectAppService.GetVersionsAsync(shortName); + } + } +} diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs index 3496773054..15889a07b8 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/Index.cshtml.cs @@ -59,14 +59,14 @@ namespace Volo.Docs.Pages.Documents.Project private async Task SetProjectAsync() { - Project = await _projectAppService.GetByShortNameAsync(ProjectName); + Project = await _projectAppService.GetAsync(ProjectName); } private async Task SetVersionAsync() { //TODO: Needs refactoring - var output = await _projectAppService.GetVersionsAsync(Project.Id); + var output = await _projectAppService.GetVersionsAsync(Project.ShortName); var versions = output.Items .Select(v => new VersionInfoViewModel(v.DisplayName, v.Name)) .ToList();