diff --git a/modules/docs/app/Volo.DocsTestApp.EntityFrameworkCore/Volo.DocsTestApp.EntityFrameworkCore.csproj b/modules/docs/app/Volo.DocsTestApp.EntityFrameworkCore/Volo.DocsTestApp.EntityFrameworkCore.csproj
index fa80730c9d..1ae23682c5 100644
--- a/modules/docs/app/Volo.DocsTestApp.EntityFrameworkCore/Volo.DocsTestApp.EntityFrameworkCore.csproj
+++ b/modules/docs/app/Volo.DocsTestApp.EntityFrameworkCore/Volo.DocsTestApp.EntityFrameworkCore.csproj
@@ -4,6 +4,10 @@
netstandard2.0
+
+
+
+
diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsAppConsts.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsAppConsts.cs
index a3f929f6ba..4a4820e040 100644
--- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsAppConsts.cs
+++ b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/DocsAppConsts.cs
@@ -1,13 +1,7 @@
-using Volo.Docs.Projects;
-
-namespace Volo.Docs
+namespace Volo.Docs
{
public class DocsAppConsts
{
public static string LatestVersion = "latest";
-
- public static string WebsiteLinkFirstSegment = "documents";
-
- public static VersionInfo DefaultVersion = new VersionInfo(LatestVersion, LatestVersion);
}
}
\ No newline at end of file
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 277a97810a..f99312f439 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
@@ -13,10 +13,8 @@ namespace Volo.Docs.Documents
Task GetNavigationDocumentAsync(string projectShortName, string version,
bool normalize);
- Task> GetVersions(string projectShortName, string defaultDocumentName,
- Dictionary projectExtraProperties,
- string documentStoreType, string documentName);
+ Task> GetVersions(string projectShortName, string defaultDocumentName, string documentStoreType, string documentName);
- Task GetDocument(ProjectDto project, string documentName, string version, bool normalize);
+ Task GetDocument(ProjectDto projectDto, string documentName, string version, bool normalize);
}
}
\ No newline at end of file
diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/ProjectDto.cs b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/ProjectDto.cs
index e6710bef3c..b07138e9ac 100644
--- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/ProjectDto.cs
+++ b/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/ProjectDto.cs
@@ -16,8 +16,6 @@ namespace Volo.Docs.Projects
public string GoogleCustomSearchId { get; set; }
- public Dictionary ExtraProperties { get; protected set; }
-
public string MainWebsiteUrl { get; set; }
public virtual string DocumentStoreType { get; protected set; }
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 bb48a9a575..d70b742650 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
@@ -41,31 +41,32 @@ namespace Volo.Docs.Documents
version, normalize));
}
- public async Task GetDocument(ProjectDto project, string documentName, string version, bool normalize)
+ public async Task GetDocument(ProjectDto projectDto, string documentName, string version, bool normalize)
{
- if (project == null)
+ if (projectDto == null)
{
- throw new ArgumentNullException(nameof(project));
+ throw new ArgumentNullException(nameof(projectDto));
}
+ var project = await _projectRepository.GetAsync(projectDto.Id);
+
if (string.IsNullOrWhiteSpace(documentName))
{
- documentName = project.DefaultDocumentName;
+ documentName = projectDto.DefaultDocumentName;
}
- IDocumentStore documentStore = _documentStoreFactory.Create(project.DocumentStoreType);
+ IDocumentStore documentStore = _documentStoreFactory.Create(projectDto.DocumentStoreType);
- Document document = await documentStore.FindDocumentByNameAsync(project.ExtraProperties, project.Format, documentName, version);
+ Document document = await documentStore.FindDocumentByNameAsync(project.ExtraProperties, projectDto.Format, documentName, version);
var dto = ObjectMapper.Map(document);
- dto.Project = project;
+ dto.Project = projectDto;
return dto;
}
- //TODO: Application service never gets such a parameter: Dictionary projectExtraProperties !!!
- public async Task> GetVersions(string projectShortName, string defaultDocumentName, Dictionary projectExtraProperties,
+ public async Task> GetVersions(string projectShortName, string defaultDocumentName,
string documentStoreType, string documentName)
{
var project = await _projectRepository.FindByShortNameAsync(projectShortName);
@@ -81,7 +82,7 @@ namespace Volo.Docs.Documents
if (versions == null)
{
- versions = await documentStore.GetVersions(projectExtraProperties, documentName);
+ versions = await documentStore.GetVersions(project.ExtraProperties, documentName);
await SetVersionsToCache(projectShortName, versions);
}
diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Project.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Project.cs
index 7dd8b9c185..7a8cb5bf69 100644
--- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Project.cs
+++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/Project.cs
@@ -45,7 +45,7 @@ namespace Volo.Docs.Projects
public virtual Dictionary ExtraProperties { get; protected set; }
- public virtual string MainWebsiteUrl { get; protected set; }
+ public virtual string MainWebsiteUrl { get; set; }
public virtual string LatestVersionBranchName { get; set; }
@@ -54,16 +54,21 @@ namespace Volo.Docs.Projects
ExtraProperties = new Dictionary();
}
- public Project(Guid id, [NotNull] string name, [NotNull] string shortName, [NotNull] string defaultDocumentName, [NotNull] string navigationDocumentName, string googleCustomSearchId, string mainWebsiteUrl)
+ public Project(
+ Guid id,
+ [NotNull] string name,
+ [NotNull] string shortName,
+ [NotNull] string defaultDocumentName,
+ [NotNull] string navigationDocumentName)
{
Id = id;
+
Name = Check.NotNullOrWhiteSpace(name, nameof(name));
ShortName = Check.NotNullOrWhiteSpace(shortName, nameof(shortName));
DefaultDocumentName = Check.NotNullOrWhiteSpace(defaultDocumentName, nameof(defaultDocumentName));
NavigationDocumentName = Check.NotNullOrWhiteSpace(navigationDocumentName, nameof(navigationDocumentName));
- GoogleCustomSearchId = Check.NotNullOrWhiteSpace(googleCustomSearchId, nameof(googleCustomSearchId));
+
ExtraProperties = new Dictionary();
- MainWebsiteUrl = mainWebsiteUrl;
}
}
}
\ No newline at end of file
diff --git a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/VersionInfo.cs b/modules/docs/src/Volo.Docs.Web/Models/VersionInfo.cs
similarity index 92%
rename from modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/VersionInfo.cs
rename to modules/docs/src/Volo.Docs.Web/Models/VersionInfo.cs
index b8133fc137..1cbe68a045 100644
--- a/modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/VersionInfo.cs
+++ b/modules/docs/src/Volo.Docs.Web/Models/VersionInfo.cs
@@ -1,4 +1,4 @@
-namespace Volo.Docs.Projects
+namespace Volo.Docs.Models
{
public class VersionInfo
{
diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml
index a667a5b341..abda1a4a89 100644
--- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml
+++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml
@@ -33,7 +33,7 @@
diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs
index 9ebf84f7f7..c02b4b6a9f 100644
--- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs
+++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Index.cshtml.cs
@@ -26,7 +26,7 @@ namespace Volo.Docs.Pages.Documents
return RedirectToPage("./Project/Index", new
{
projectName = listResult.Items[0].ShortName,
- version = DocsAppConsts.DefaultVersion.Version,
+ version = DocsAppConsts.LatestVersion,
documentName = listResult.Items[0].DefaultDocumentName
});
}
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 9e05c28655..f6159add10 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
@@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.AspNetCore.Mvc.Rendering;
using Volo.Docs.Documents;
using Volo.Docs.Formatting;
+using Volo.Docs.Models;
using Volo.Docs.Projects;
namespace Volo.Docs.Pages.Documents.Project
@@ -87,7 +88,7 @@ namespace Volo.Docs.Pages.Documents.Project
private async Task SetVersionAsync(ProjectDto project)
{
Versions = (await _documentAppService
- .GetVersions(project.ShortName, project.DefaultDocumentName, project.ExtraProperties,
+ .GetVersions(project.ShortName, project.DefaultDocumentName,
project.DocumentStoreType, DocumentNameWithExtension))
.Select(v => new VersionInfo(v.DisplayName, v.Name)).ToList();
@@ -123,7 +124,7 @@ namespace Volo.Docs.Pages.Documents.Project
public string CreateLink(string version, string documentName = null)
{
- var link = "/" + DocsAppConsts.WebsiteLinkFirstSegment + "/" + ProjectName + "/" + version;
+ var link = "/documents/" + ProjectName + "/" + version;
if (documentName != null)
{