diff --git a/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs new file mode 100644 index 0000000000..12f62f8b6d --- /dev/null +++ b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; + +namespace Volo.Docs.Documents +{ + [Serializable] + public class DocumentEto + { + public Guid Id { get; set; } + + public Guid ProjectId { get; set; } + + public string Name { get; set; } + + public string Version { get; set; } + + public string LanguageCode { get; set; } + + public string FileName { get; set; } + + public string Content { get; set; } + + public string Format { get; set; } + + public string EditLink { get; set; } + + public string RootUrl { get; set; } + + public string RawRootUrl { get; set; } + + public string LocalDirectory { get; set; } + + public DateTime CreationTime { get; set; } + + public DateTime LastUpdatedTime { get; set; } + + public DateTime? LastSignificantUpdateTime { get; set; } + + public DateTime LastCachedTime { get; set; } + } +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs new file mode 100644 index 0000000000..dae1affae4 --- /dev/null +++ b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs @@ -0,0 +1,30 @@ +using System; + +namespace Volo.Docs.Projects +{ + [Serializable] + public class ProjectEto + { + public Guid Id { get; set; } + + public string Name { get; set; } + + public string ShortName { get; set; } + + public string Format { get; set; } + + public string DefaultDocumentName { get; set; } + + public string NavigationDocumentName { get; set; } + + public string ParametersDocumentName { get; set; } + + public string MinimumVersion { get; set; } + + public string DocumentStoreType { get; set; } + + public string MainWebsiteUrl { get; set; } + + public string LatestVersionBranchName { get; set; } + } +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj b/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj index e3bc883c85..5331433e24 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj +++ b/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj @@ -25,6 +25,7 @@ + diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs new file mode 100644 index 0000000000..74f7224ea6 --- /dev/null +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs @@ -0,0 +1,15 @@ +using AutoMapper; +using Volo.Docs.Documents; +using Volo.Docs.Projects; + +namespace Volo.Docs +{ + public class DocsDomainMappingProfile : Profile + { + public DocsDomainMappingProfile() + { + CreateMap(); + CreateMap(); + } + } +} \ No newline at end of file diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs index ba2ee6018d..5e53b858ce 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs @@ -2,7 +2,9 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Options; using Volo.Abp; +using Volo.Abp.AutoMapper; using Volo.Abp.Domain; +using Volo.Abp.EventBus.Distributed; using Volo.Abp.Localization; using Volo.Abp.Modularity; using Volo.Abp.Threading; @@ -12,17 +14,32 @@ using Volo.Docs.Documents.FullSearch.Elastic; using Volo.Docs.FileSystem.Documents; using Volo.Docs.GitHub.Documents; using Volo.Docs.Localization; +using Volo.Docs.Projects; namespace Volo.Docs { [DependsOn( typeof(DocsDomainSharedModule), - typeof(AbpDddDomainModule) + typeof(AbpDddDomainModule), + typeof(AbpAutoMapperModule) )] public class DocsDomainModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { + context.Services.AddAutoMapperObjectMapper(); + + Configure(options => + { + options.AddProfile(validate: true); + }); + + Configure(options => + { + options.EtoMappings.Add(typeof(DocsDomainModule)); + options.EtoMappings.Add(typeof(DocsDomainModule)); + }); + Configure(options => { options.FileSets