Browse Source

#629 moved admin codes to new projects

pull/691/head
Yunus Emre Kalkan 7 years ago
parent
commit
dff9924e06
  1. 35
      modules/docs/Volo.Docs.sln
  2. 17
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo.Docs.Admin.Application.Contracts.csproj
  3. 14
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/DocsAdminApplicationContractsModule.cs
  4. 2
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/CreateProjectDto.cs
  5. 20
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/IProjectAdminAppService.cs
  6. 30
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/ProjectDto.cs
  7. 4
      modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/UpdateProjectDto.cs
  8. 19
      modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj
  9. 14
      modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMapperProfile.cs
  10. 22
      modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs
  11. 95
      modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Projects/ProjectAdminAppService.cs
  12. 16
      modules/docs/src/Volo.Docs.Admin.HttpApi.Client/Volo.Docs.Admin.HttpApi.Client.csproj
  13. 11
      modules/docs/src/Volo.Docs.Admin.HttpApi.Client/Volo/Docs/Admin/DocsHttpApiClientModule.cs
  14. 17
      modules/docs/src/Volo.Docs.Admin.HttpApi/Volo.Docs.Admin.HttpApi.csproj
  15. 14
      modules/docs/src/Volo.Docs.Admin.HttpApi/Volo/Docs/Admin/DocsAdminHttpApiModule.cs
  16. 50
      modules/docs/src/Volo.Docs.Admin.HttpApi/Volo/Docs/Admin/Projects/DocsAdminProjectController.cs
  17. 13
      modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMapperProfile.cs
  18. 37
      modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebModule.cs
  19. 27
      modules/docs/src/Volo.Docs.Admin.Web/Properties/launchSettings.json
  20. 55
      modules/docs/src/Volo.Docs.Admin.Web/Volo.Docs.Admin.Web.csproj
  21. 6
      modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs
  22. 54
      modules/docs/src/Volo.Docs.Application/Volo/Docs/Projects/ProjectAppService.cs
  23. 5
      modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs
  24. 17
      modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs
  25. 15
      modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Projects/DocsProjectController.cs

35
modules/docs/Volo.Docs.sln

@ -33,6 +33,16 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "admin-app", "admin-app", "{
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "public-app", "public-app", "{8B0CDFC9-E313-4323-9390-59CFFAAC60B5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Docs.Admin.Application.Contracts", "src\Volo.Docs.Admin.Application.Contracts\Volo.Docs.Admin.Application.Contracts.csproj", "{37D483C8-400B-4127-A6D0-2EE4E80CB696}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Docs.Admin.Application", "src\Volo.Docs.Admin.Application\Volo.Docs.Admin.Application.csproj", "{823C51A7-40AB-45D8-8FB8-F212AF7E45F2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Docs.Admin.HttpApi", "src\Volo.Docs.Admin.HttpApi\Volo.Docs.Admin.HttpApi.csproj", "{262F38DB-62AF-427F-96E2-C6385C5AB695}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Docs.Admin.HttpApi.Client", "src\Volo.Docs.Admin.HttpApi.Client\Volo.Docs.Admin.HttpApi.Client.csproj", "{81EE378A-0DE1-47BA-86D9-08EF6317BB95}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Docs.Admin.Web", "src\Volo.Docs.Admin.Web\Volo.Docs.Admin.Web.csproj", "{116A6145-9D66-4867-B3EF-A464FAC47946}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -79,6 +89,26 @@ Global
{A5F88BCB-6B22-4E2D-AE89-AEF1E3DC727A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A5F88BCB-6B22-4E2D-AE89-AEF1E3DC727A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A5F88BCB-6B22-4E2D-AE89-AEF1E3DC727A}.Release|Any CPU.Build.0 = Release|Any CPU
{37D483C8-400B-4127-A6D0-2EE4E80CB696}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{37D483C8-400B-4127-A6D0-2EE4E80CB696}.Debug|Any CPU.Build.0 = Debug|Any CPU
{37D483C8-400B-4127-A6D0-2EE4E80CB696}.Release|Any CPU.ActiveCfg = Release|Any CPU
{37D483C8-400B-4127-A6D0-2EE4E80CB696}.Release|Any CPU.Build.0 = Release|Any CPU
{823C51A7-40AB-45D8-8FB8-F212AF7E45F2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{823C51A7-40AB-45D8-8FB8-F212AF7E45F2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{823C51A7-40AB-45D8-8FB8-F212AF7E45F2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{823C51A7-40AB-45D8-8FB8-F212AF7E45F2}.Release|Any CPU.Build.0 = Release|Any CPU
{262F38DB-62AF-427F-96E2-C6385C5AB695}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{262F38DB-62AF-427F-96E2-C6385C5AB695}.Debug|Any CPU.Build.0 = Debug|Any CPU
{262F38DB-62AF-427F-96E2-C6385C5AB695}.Release|Any CPU.ActiveCfg = Release|Any CPU
{262F38DB-62AF-427F-96E2-C6385C5AB695}.Release|Any CPU.Build.0 = Release|Any CPU
{81EE378A-0DE1-47BA-86D9-08EF6317BB95}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{81EE378A-0DE1-47BA-86D9-08EF6317BB95}.Debug|Any CPU.Build.0 = Debug|Any CPU
{81EE378A-0DE1-47BA-86D9-08EF6317BB95}.Release|Any CPU.ActiveCfg = Release|Any CPU
{81EE378A-0DE1-47BA-86D9-08EF6317BB95}.Release|Any CPU.Build.0 = Release|Any CPU
{116A6145-9D66-4867-B3EF-A464FAC47946}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{116A6145-9D66-4867-B3EF-A464FAC47946}.Debug|Any CPU.Build.0 = Debug|Any CPU
{116A6145-9D66-4867-B3EF-A464FAC47946}.Release|Any CPU.ActiveCfg = Release|Any CPU
{116A6145-9D66-4867-B3EF-A464FAC47946}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@ -97,6 +127,11 @@ Global
{A982A58E-1E92-4764-9F56-39E7AABB8556} = {42416152-5BAB-4706-93A6-57A19E71FE14}
{BCA19441-17E9-43E6-AED1-15344D18F967} = {42416152-5BAB-4706-93A6-57A19E71FE14}
{8B0CDFC9-E313-4323-9390-59CFFAAC60B5} = {42416152-5BAB-4706-93A6-57A19E71FE14}
{37D483C8-400B-4127-A6D0-2EE4E80CB696} = {BCA19441-17E9-43E6-AED1-15344D18F967}
{823C51A7-40AB-45D8-8FB8-F212AF7E45F2} = {BCA19441-17E9-43E6-AED1-15344D18F967}
{262F38DB-62AF-427F-96E2-C6385C5AB695} = {BCA19441-17E9-43E6-AED1-15344D18F967}
{81EE378A-0DE1-47BA-86D9-08EF6317BB95} = {BCA19441-17E9-43E6-AED1-15344D18F967}
{116A6145-9D66-4867-B3EF-A464FAC47946} = {BCA19441-17E9-43E6-AED1-15344D18F967}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {13691265-2547-4FFF-B757-E8FACB05679D}

17
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo.Docs.Admin.Application.Contracts.csproj

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>Volo.Docs.Admin.Application.Contracts</AssemblyName>
<PackageId>Volo.Docs.Admin.Application.Contracts</PackageId>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Docs.Domain.Shared\Volo.Docs.Domain.Shared.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Ddd.Application\Volo.Abp.Ddd.Application.csproj" />
</ItemGroup>
</Project>

14
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/DocsAdminApplicationContractsModule.cs

@ -0,0 +1,14 @@
using Volo.Abp.Application;
using Volo.Abp.Modularity;
namespace Volo.Docs.Admin
{
[DependsOn(
typeof(DocsDomainSharedModule),
typeof(AbpDddApplicationModule)
)]
public class DocsAdminApplicationContractsModule : AbpModule
{
}
}

2
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/CreateProjectDto.cs → modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/CreateProjectDto.cs

@ -1,6 +1,6 @@
using System.Collections.Generic;
namespace Volo.Docs.Projects
namespace Volo.Docs.Admin.Projects
{
public class CreateProjectDto
{

20
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/IProjectAdminAppService.cs

@ -0,0 +1,20 @@
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
namespace Volo.Docs.Admin.Projects
{
public interface IProjectAdminAppService : IApplicationService
{
Task<PagedResultDto<ProjectDto>> GetListAsync(PagedAndSortedResultRequestDto input);
Task<ProjectDto> GetAsync(Guid id);
Task<ProjectDto> CreateAsync(CreateProjectDto input);
Task<ProjectDto> UpdateAsync(Guid id, UpdateProjectDto input);
Task DeleteAsync(Guid id);
}
}

30
modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/ProjectDto.cs

@ -0,0 +1,30 @@
using System;
using System.Collections.Generic;
using Volo.Abp.Application.Dtos;
namespace Volo.Docs.Admin.Projects
{
[Serializable]
public class ProjectDto : EntityDto<Guid>
{
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 MinimumVersion { get; set; }
public string MainWebsiteUrl { get; set; }
public string LatestVersionBranchName { get; set; }
public string DocumentStoreType { get; set; }
public Dictionary<string, object> ExtraProperties { get; set; }
}
}

4
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/UpdateProjectDto.cs → modules/docs/src/Volo.Docs.Admin.Application.Contracts/Volo/Docs/Admin/Projects/UpdateProjectDto.cs

@ -1,8 +1,6 @@
using System;
using System.Collections.Generic;
using Volo.Abp.Application.Dtos;
namespace Volo.Docs.Projects
namespace Volo.Docs.Admin.Projects
{
public class UpdateProjectDto
{

19
modules/docs/src/Volo.Docs.Admin.Application/Volo.Docs.Admin.Application.csproj

@ -0,0 +1,19 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>Volo.Docs.Admin.Application</AssemblyName>
<PackageId>Volo.Docs.Admin.Application</PackageId>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Docs.Admin.Application.Contracts\Volo.Docs.Admin.Application.Contracts.csproj" />
<ProjectReference Include="..\Volo.Docs.Domain\Volo.Docs.Domain.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.Caching\Volo.Abp.Caching.csproj" />
</ItemGroup>
</Project>

14
modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationAutoMapperProfile.cs

@ -0,0 +1,14 @@
using AutoMapper;
using Volo.Docs.Admin.Projects;
using Volo.Docs.Projects;
namespace Volo.Docs.Admin
{
public class DocsAdminApplicationAutoMapperProfile : Profile
{
public DocsAdminApplicationAutoMapperProfile()
{
CreateMap<Project, ProjectDto>();
}
}
}

22
modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/DocsAdminApplicationModule.cs

@ -0,0 +1,22 @@
using Volo.Abp.AutoMapper;
using Volo.Abp.Caching;
using Volo.Abp.Modularity;
namespace Volo.Docs.Admin
{
[DependsOn(
typeof(DocsDomainModule),
typeof(DocsAdminApplicationContractsModule),
typeof(AbpCachingModule),
typeof(AbpAutoMapperModule))]
public class DocsAdminApplicationModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<DocsAdminApplicationAutoMapperProfile>(validate: true);
});
}
}
}

95
modules/docs/src/Volo.Docs.Admin.Application/Volo/Docs/Admin/Projects/ProjectAdminAppService.cs

@ -0,0 +1,95 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Guids;
using Volo.Docs.Projects;
namespace Volo.Docs.Admin.Projects
{
public class ProjectAdminAppService : ApplicationService, IProjectAdminAppService
{
private readonly IProjectRepository _projectRepository;
private readonly IGuidGenerator _guidGenerator;
public ProjectAdminAppService(
IProjectRepository projectRepository, IGuidGenerator guidGenerator)
{
_projectRepository = projectRepository;
_guidGenerator = guidGenerator;
}
public async Task<PagedResultDto<ProjectDto>> GetListAsync(PagedAndSortedResultRequestDto input)
{
var blogs = await _projectRepository.GetListAsync(input.Sorting, input.MaxResultCount, input.SkipCount);
var totalCount = await _projectRepository.GetTotalProjectCount();
var dtos = ObjectMapper.Map<List<Project>, List<ProjectDto>>(blogs);
return new PagedResultDto<ProjectDto>(totalCount, dtos);
}
public async Task<ProjectDto> GetAsync(Guid id)
{
var project = await _projectRepository.GetAsync(id);
return ObjectMapper.Map<Project, ProjectDto>(project);
}
public async Task<ProjectDto> CreateAsync(CreateProjectDto input)
{
var project = new Project(_guidGenerator.Create(),
input.Name,
input.ShortName,
input.DocumentStoreType,
input.Format,
input.DefaultDocumentName,
input.NavigationDocumentName
)
{
MinimumVersion = input.MinimumVersion,
MainWebsiteUrl = input.MainWebsiteUrl,
LatestVersionBranchName = input.LatestVersionBranchName
};
foreach (var extraProperty in input.ExtraProperties)
{
project.ExtraProperties.Add(extraProperty.Key,extraProperty.Value);
}
project = await _projectRepository.InsertAsync(project);
return ObjectMapper.Map<Project, ProjectDto>(project);
}
public async Task<ProjectDto> UpdateAsync(Guid id, UpdateProjectDto input)
{
var project = await _projectRepository.GetAsync(id);
project.SetName(input.Name);
project.SetFormat(input.Format);
project.SetNavigationDocumentName(input.NavigationDocumentName);
project.SetDefaultDocumentName(input.DefaultDocumentName);
project.MinimumVersion = input.MinimumVersion;
project.MainWebsiteUrl = input.MainWebsiteUrl;
project.LatestVersionBranchName = input.LatestVersionBranchName;
foreach (var extraProperty in input.ExtraProperties)
{
project.ExtraProperties[extraProperty.Key] = extraProperty.Value;
}
project = await _projectRepository.UpdateAsync(project);
return ObjectMapper.Map<Project, ProjectDto>(project);
}
public async Task DeleteAsync(Guid id)
{
await _projectRepository.DeleteAsync(id);
}
}
}

16
modules/docs/src/Volo.Docs.Admin.HttpApi.Client/Volo.Docs.Admin.HttpApi.Client.csproj

@ -0,0 +1,16 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>Volo.Docs.Admin.HttpApi.Client</AssemblyName>
<PackageId>Volo.Docs.Admin.HttpApi.Client</PackageId>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Docs.Admin.Application.Contracts\Volo.Docs.Admin.Application.Contracts.csproj" />
</ItemGroup>
</Project>

11
modules/docs/src/Volo.Docs.Admin.HttpApi.Client/Volo/Docs/Admin/DocsHttpApiClientModule.cs

@ -0,0 +1,11 @@
using Volo.Abp.Modularity;
namespace Volo.Docs.Admin
{
[DependsOn(
typeof(DocsAdminApplicationContractsModule))]
public class DocsAdminHttpApiClientModule : AbpModule
{
}
}

17
modules/docs/src/Volo.Docs.Admin.HttpApi/Volo.Docs.Admin.HttpApi.csproj

@ -0,0 +1,17 @@
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>Volo.Docs.Admin.HttpApi</AssemblyName>
<PackageId>Volo.Docs.Admin.HttpApi</PackageId>
<RootNamespace />
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Volo.Docs.Admin.Application.Contracts\Volo.Docs.Admin.Application.Contracts.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc\Volo.Abp.AspNetCore.Mvc.csproj" />
</ItemGroup>
</Project>

14
modules/docs/src/Volo.Docs.Admin.HttpApi/Volo/Docs/Admin/DocsAdminHttpApiModule.cs

@ -0,0 +1,14 @@
using Volo.Abp.AspNetCore.Mvc;
using Volo.Abp.Modularity;
namespace Volo.Docs.Admin
{
[DependsOn(
typeof(DocsAdminApplicationContractsModule),
typeof(AbpAspNetCoreMvcModule)
)]
public class DocsAdminHttpApiModule : AbpModule
{
}
}

50
modules/docs/src/Volo.Docs.Admin.HttpApi/Volo/Docs/Admin/Projects/DocsAdminProjectController.cs

@ -0,0 +1,50 @@
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AspNetCore.Mvc;
namespace Volo.Docs.Admin.Projects
{
[RemoteService]
[Area("docs")]
[ControllerName("Project")]
[Route("api/docs/admin/projects")]
public class DocsAdminProjectController : AbpController, IProjectAdminAppService
{
protected IProjectAdminAppService ProjectAppService { get; }
public DocsAdminProjectController(IProjectAdminAppService projectAppService)
{
ProjectAppService = projectAppService;
}
public Task<PagedResultDto<ProjectDto>> GetListAsync(PagedAndSortedResultRequestDto input)
{
return ProjectAppService.GetListAsync(input);
}
[HttpGet]
[Route("{id}")]
public Task<ProjectDto> GetAsync(Guid id)
{
return ProjectAppService.GetAsync(id);
}
public Task<ProjectDto> CreateAsync(CreateProjectDto input)
{
return ProjectAppService.CreateAsync(input);
}
public Task<ProjectDto> UpdateAsync(Guid id, UpdateProjectDto input)
{
return ProjectAppService.UpdateAsync(id, input);
}
public Task DeleteAsync(Guid id)
{
return ProjectAppService.DeleteAsync(id);
}
}
}

13
modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebAutoMapperProfile.cs

@ -0,0 +1,13 @@
using AutoMapper;
using Volo.Abp.AutoMapper;
namespace Volo.Docs.Admin
{
public class DocsAdminWebAutoMapperProfile : Profile
{
public DocsAdminWebAutoMapperProfile()
{
}
}
}

37
modules/docs/src/Volo.Docs.Admin.Web/DocsAdminWebModule.cs

@ -0,0 +1,37 @@
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;
namespace Volo.Docs.Admin
{
[DependsOn(
typeof(DocsAdminHttpApiModule),
typeof(AbpAspNetCoreMvcUiBootstrapModule)
)]
public class DocsAdminWebModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
PreConfigure<AbpMvcDataAnnotationsLocalizationOptions>(options =>
{
options.AddAssemblyResource(typeof(DocsResource), typeof(DocsAdminWebModule).Assembly);
});
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<VirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<DocsAdminWebModule>("Volo.Docs.Admin");
});
Configure<AbpAutoMapperOptions>(options =>
{
options.AddProfile<DocsAdminWebAutoMapperProfile>(validate: true);
});
}
}
}

27
modules/docs/src/Volo.Docs.Admin.Web/Properties/launchSettings.json

@ -0,0 +1,27 @@
{
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:51397",
"sslPort": 44346
}
},
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"Volo.Docs.Admin.Web": {
"commandName": "Project",
"launchBrowser": true,
"applicationUrl": "https://localhost:5001;http://localhost:5000",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}

55
modules/docs/src/Volo.Docs.Admin.Web/Volo.Docs.Admin.Web.csproj

@ -0,0 +1,55 @@
<Project Sdk="Microsoft.NET.Sdk.Web">
<Import Project="..\..\..\..\common.props" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<AssemblyName>Volo.Docs.Admin.Web</AssemblyName>
<PackageId>Volo.Docs.Admin.Web</PackageId>
<OutputType>Library</OutputType>
<IsPackable>true</IsPackable>
<RootNamespace>Volo.Docs.Admin</RootNamespace>
<TypeScriptToolsVersion>2.8</TypeScriptToolsVersion>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AutoMapper\Volo.Abp.AutoMapper.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bundling\Volo.Abp.AspNetCore.Mvc.UI.Bundling.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap\Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.csproj" />
<ProjectReference Include="..\..\..\..\framework\src\Volo.Abp.AspNetCore.Mvc.UI.Packages\Volo.Abp.AspNetCore.Mvc.UI.Packages.csproj" />
<ProjectReference Include="..\Volo.Docs.Admin.HttpApi\Volo.Docs.Admin.HttpApi.csproj" />
<PackageReference Include="CommonMark.NET" Version="0.15.1" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="wwwroot\**\*.*" />
<EmbeddedResource Include="Pages\**\*.cshtml" />
<EmbeddedResource Include="Pages\**\*.css" />
<EmbeddedResource Include="Pages\**\*.js" />
<EmbeddedResource Include="Localization\Resources\**\*.json" />
</ItemGroup>
<ItemGroup>
<Content Remove="wwwroot\**\*.*" />
<Content Remove="Pages\**\*.cshtml" />
<Content Remove="Pages\**\*.css" />
<Content Remove="Pages\**\*.js" />
<Content Remove="Localization\Resources\**\*.json" />
<Content Remove="Properties\launchSettings.json" />
<Content Remove="compilerconfig.json" />
<Content Remove="compilerconfig.json.defaults" />
<None Remove="Pages\Documents\Project\bootstrap-toc.js" />
<None Remove="Pages\Documents\Project\index - Copy.css" />
<None Remove="Pages\Documents\Project\index - Copy.min.css" />
<None Remove="Pages\Documents\Project\vs.js" />
<None Include="compilerconfig.json" />
<None Include="Properties\launchSettings.json" />
</ItemGroup>
<ItemGroup>
<Folder Include="wwwroot\" />
</ItemGroup>
</Project>

6
modules/docs/src/Volo.Docs.Application.Contracts/Volo/Docs/Projects/IProjectAppService.cs

@ -10,12 +10,6 @@ namespace Volo.Docs.Projects
Task<ListResultDto<ProjectDto>> GetListAsync();
Task<ProjectDto> GetAsync(string shortName);
Task<ProjectDto> CreateAsync(CreateProjectDto input);
Task<ProjectDto> UpdateAsync(Guid id, UpdateProjectDto input);
Task DeleteAsync(Guid id);
Task<ListResultDto<VersionInfoDto>> GetVersionsAsync(string shortName);
}

54
modules/docs/src/Volo.Docs.Application/Volo/Docs/Projects/ProjectAppService.cs

@ -45,60 +45,6 @@ namespace Volo.Docs.Projects
return ObjectMapper.Map<Project, ProjectDto>(project);
}
public async Task<ProjectDto> CreateAsync(CreateProjectDto input)
{
var project = new Project(_guidGenerator.Create(),
input.Name,
input.ShortName,
input.DocumentStoreType,
input.Format,
input.DefaultDocumentName,
input.NavigationDocumentName
)
{
MinimumVersion = input.MinimumVersion,
MainWebsiteUrl = input.MainWebsiteUrl,
LatestVersionBranchName = input.LatestVersionBranchName
};
foreach (var extraProperty in input.ExtraProperties)
{
project.ExtraProperties.Add(extraProperty.Key,extraProperty.Value);
}
project = await _projectRepository.InsertAsync(project);
return ObjectMapper.Map<Project, ProjectDto>(project);
}
public async Task<ProjectDto> UpdateAsync(Guid id, UpdateProjectDto input)
{
var project = await _projectRepository.GetAsync(id);
project.SetName(input.Name);
project.SetFormat(input.Format);
project.SetNavigationDocumentName(input.NavigationDocumentName);
project.SetDefaultDocumentName(input.DefaultDocumentName);
project.MinimumVersion = input.MinimumVersion;
project.MainWebsiteUrl = input.MainWebsiteUrl;
project.LatestVersionBranchName = input.LatestVersionBranchName;
foreach (var extraProperty in input.ExtraProperties)
{
project.ExtraProperties[extraProperty.Key] = extraProperty.Value;
}
project = await _projectRepository.UpdateAsync(project);
return ObjectMapper.Map<Project, ProjectDto>(project);
}
public async Task DeleteAsync(Guid id)
{
await _projectRepository.DeleteAsync(id);
}
public async Task<ListResultDto<VersionInfoDto>> GetVersionsAsync(string shortName)
{
var project = await _projectRepository.GetByShortNameAsync(shortName);

5
modules/docs/src/Volo.Docs.Domain/Volo/Docs/Projects/IProjectRepository.cs

@ -1,4 +1,5 @@
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Volo.Abp.Domain.Repositories;
@ -6,6 +7,10 @@ namespace Volo.Docs.Projects
{
public interface IProjectRepository : IBasicRepository<Project, Guid>
{
Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount);
Task<int> GetTotalProjectCount();
Task<Project> GetByShortNameAsync(string shortName);
}
}

17
modules/docs/src/Volo.Docs.EntityFrameworkCore/Volo/Docs/Projects/EfCoreProjectRepository.cs

@ -1,4 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Dynamic.Core;
using System.Threading.Tasks;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Domain.Entities;
@ -16,6 +19,20 @@ namespace Volo.Docs.Projects
}
public async Task<List<Project>> GetListAsync(string sorting, int maxResultCount, int skipCount)
{
var projects = await DbSet.OrderBy(sorting ?? "creationTime desc")
.PageBy(skipCount, maxResultCount)
.ToListAsync();
return projects;
}
public async Task<int> GetTotalProjectCount()
{
return await DbSet.CountAsync();
}
public async Task<Project> GetByShortNameAsync(string shortName)
{
var project = await DbSet.FirstOrDefaultAsync(p => p.ShortName == shortName);

15
modules/docs/src/Volo.Docs.HttpApi/Volo/Docs/Projects/DocsProjectController.cs

@ -34,21 +34,6 @@ namespace Volo.Docs.Projects
return ProjectAppService.GetAsync(shortName);
}
public Task<ProjectDto> CreateAsync(CreateProjectDto input)
{
return ProjectAppService.CreateAsync(input);
}
public Task<ProjectDto> UpdateAsync(Guid id, UpdateProjectDto input)
{
return ProjectAppService.UpdateAsync(id, input);
}
public Task DeleteAsync(Guid id)
{
return ProjectAppService.DeleteAsync(id);
}
[HttpGet]
[Route("{shortName}/versions")]
public virtual Task<ListResultDto<VersionInfoDto>> GetVersionsAsync(string shortName)

Loading…
Cancel
Save