diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsApplicationContractsModule.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsApplicationContractsModule.cs index 79179c23d9..60f9cce39a 100644 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsApplicationContractsModule.cs +++ b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsApplicationContractsModule.cs @@ -1,8 +1,12 @@ -using Volo.Abp.Modularity; +using Volo.Abp.Application; +using Volo.Abp.Modularity; namespace Volo.Docs { - [DependsOn(typeof(DocsDomainSharedModule))] + [DependsOn( + typeof(DocsDomainSharedModule), + typeof(AbpDddApplicationModule) + )] public class DocsApplicationContractsModule : AbpModule { diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/IDocumentAppService.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/IDocumentAppService.cs index c374f142cc..0580075623 100644 --- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/IDocumentAppService.cs +++ b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/IDocumentAppService.cs @@ -9,6 +9,6 @@ namespace Volo.Docs.Documents Task GetDefaultAsync(GetDefaultDocumentInput input); - Task GetNavigationDocumentAsync(GetNavigationDocumentInput input); + Task GetNavigationDocumentAsync(GetNavigationDocumentInput input); } } \ No newline at end of file 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 a052365d35..1c14d6e9fd 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 @@ -13,6 +13,6 @@ namespace Volo.Docs.Projects Task GetByShortNameAsync(string shortName); - Task> GetVersionsAsync(Guid projectId); + Task> GetVersionsAsync(Guid id); } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs index 943be96d56..334fe6bfdd 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationAutoMapperProfile.cs @@ -12,9 +12,6 @@ namespace Volo.Docs CreateMap(); CreateMap() .Ignore(x => x.Project); - - CreateMap() - .Ignore(x => x.RootNode); } } } \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs index c3fc2a3efc..66bbf0544b 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/DocsApplicationModule.cs @@ -1,5 +1,4 @@ -using Microsoft.Extensions.DependencyInjection; -using Volo.Abp.AutoMapper; +using Volo.Abp.AutoMapper; using Volo.Abp.Caching; using Volo.Abp.Modularity; diff --git a/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs b/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs index 8174868051..6ec8451e6b 100644 --- a/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs +++ b/modules/docs/src/Volo.Docs.Application/Volo/Docs/Documents/DocumentAppService.cs @@ -37,16 +37,14 @@ namespace Volo.Docs.Documents ); } - public virtual async Task GetNavigationDocumentAsync(GetNavigationDocumentInput input) + public virtual async Task GetNavigationDocumentAsync(GetNavigationDocumentInput input) { var project = await _projectRepository.GetAsync(input.ProjectId); - var documentDto = await GetDocumentWithDetailsDto( + return await GetDocumentWithDetailsDto( project, project.NavigationDocumentName, input.Version ); - - return ObjectMapper.Map(documentDto); } protected virtual async Task GetDocumentWithDetailsDto( diff --git a/modules/docs/src/Volo.Docs.Web/DocsWebAutoMapperProfile.cs b/modules/docs/src/Volo.Docs.Web/DocsWebAutoMapperProfile.cs new file mode 100644 index 0000000000..4a25c94370 --- /dev/null +++ b/modules/docs/src/Volo.Docs.Web/DocsWebAutoMapperProfile.cs @@ -0,0 +1,15 @@ +using AutoMapper; +using Volo.Abp.AutoMapper; +using Volo.Docs.Documents; + +namespace Volo.Docs +{ + public class DocsWebAutoMapperProfile : Profile + { + public DocsWebAutoMapperProfile() + { + CreateMap() + .Ignore(x => x.RootNode); + } + } +} diff --git a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs index cbda4d697f..c583215be9 100644 --- a/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs +++ b/modules/docs/src/Volo.Docs.Web/DocsWebModule.cs @@ -2,6 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Volo.Abp.AspNetCore.Mvc.Localization; using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap; +using Volo.Abp.AutoMapper; using Volo.Abp.Modularity; using Volo.Abp.VirtualFileSystem; using Volo.Docs.Localization; @@ -34,6 +35,11 @@ namespace Volo.Docs //TODO: Make configurable! options.Conventions.AddPageRoute("/Documents/Project/Index", "documents/{projectName}/{version}/{*documentName}"); }); + + Configure(options => + { + options.AddProfile(validate: true); + }); } } } diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/NavigationNode.cs b/modules/docs/src/Volo.Docs.Web/Models/NavigationNode.cs similarity index 100% rename from modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/NavigationNode.cs rename to modules/docs/src/Volo.Docs.Web/Models/NavigationNode.cs diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/NavigationWithDetailsDto.cs b/modules/docs/src/Volo.Docs.Web/Models/NavigationWithDetailsDto.cs similarity index 100% rename from modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Documents/NavigationWithDetailsDto.cs rename to modules/docs/src/Volo.Docs.Web/Models/NavigationWithDetailsDto.cs 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 582813f7b0..bbc4078ab1 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 @@ -5,6 +5,7 @@ using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc.RazorPages; using Microsoft.AspNetCore.Mvc.Rendering; +using Volo.Abp.AspNetCore.Mvc.UI.RazorPages; using Volo.Docs.Documents; using Volo.Docs.Formatting; using Volo.Docs.Models; @@ -12,7 +13,7 @@ using Volo.Docs.Projects; namespace Volo.Docs.Pages.Documents.Project { - public class IndexModel : PageModel + public class IndexModel : AbpPageModel { [BindProperty(SupportsGet = true)] public string ProjectName { get; set; } @@ -68,13 +69,15 @@ namespace Volo.Docs.Pages.Documents.Project { try { - Navigation = await _documentAppService.GetNavigationDocumentAsync( + var document = await _documentAppService.GetNavigationDocumentAsync( new GetNavigationDocumentInput { ProjectId = project.Id, Version = Version } ); + + Navigation = ObjectMapper.Map(document); } catch (DocumentNotFoundException) //TODO: What if called on a remote service which may return 404 {