From bb4688b7864332885ddd66c508b12fc9f39a2b8b Mon Sep 17 00:00:00 2001 From: maliming Date: Tue, 17 Mar 2020 13:14:42 +0800 Subject: [PATCH 01/55] Upgrade Microsoft.* package to 3.12. --- ....AspNetCore.Authentication.JwtBearer.csproj | 2 +- .../Volo.Abp.AspNetCore.Mvc.csproj | 4 ++-- .../Volo.Abp.AspNetCore.TestBase.csproj | 2 +- .../Volo.Abp.Authorization.csproj | 2 +- .../Volo.Abp.Autofac/Volo.Abp.Autofac.csproj | 2 +- .../Volo.Abp.Caching/Volo.Abp.Caching.csproj | 2 +- .../src/Volo.Abp.Core/Volo.Abp.Core.csproj | 18 +++++++++--------- ...lo.Abp.EntityFrameworkCore.SqlServer.csproj | 2 +- .../Volo.Abp.EntityFrameworkCore.Sqlite.csproj | 2 +- .../Volo.Abp.EntityFrameworkCore.csproj | 4 ++-- .../Volo.Abp.Http.Client.csproj | 2 +- .../Volo.Abp.IdentityModel.csproj | 2 +- .../Volo.Abp.VirtualFileSystem.csproj | 4 ++-- ...lo.Abp.BackgroundJobs.DemoApp.Shared.csproj | 2 +- .../Volo.Abp.BackgroundJobs.DemoApp.csproj | 2 +- .../Volo.BloggingTestApp.csproj | 4 ++-- .../Volo.Docs.Domain/Volo.Docs.Domain.csproj | 2 +- .../Volo.Abp.Identity.Domain.csproj | 2 +- .../Acme.BookStore.DbMigrator.csproj | 2 +- .../Acme.BookStore.HttpApi.Host.csproj | 2 +- .../Acme.BookStore.DbMigrator.csproj | 2 +- ...ore.EntityFrameworkCore.DbMigrations.csproj | 2 +- .../Acme.BookStore.Web.csproj | 2 +- ...ookStore.BookManagement.HttpApi.Host.csproj | 4 ++-- ...kStore.BookManagement.IdentityServer.csproj | 6 +++--- ...me.BookStore.BookManagement.Web.Host.csproj | 6 +++--- ...BookStore.BookManagement.Web.Unified.csproj | 2 +- .../Acme.BookStore.DbMigrator.csproj | 2 +- ...ore.EntityFrameworkCore.DbMigrations.csproj | 2 +- .../Acme.BookStore.Web.csproj | 4 ++-- .../DashboardDemo.DbMigrator.csproj | 2 +- ...emo.EntityFrameworkCore.DbMigrations.csproj | 2 +- .../Acme.BookStore.DbMigrator.csproj | 2 +- ...ore.EntityFrameworkCore.DbMigrations.csproj | 2 +- ...rameworkCore.DbMigrationsForSecondDb.csproj | 2 +- .../Acme.BookStore.Web.csproj | 2 +- .../AuthServer.Host/AuthServer.Host.csproj | 6 +++--- .../BackendAdminApp.Host.csproj | 6 +++--- .../PublicWebSite.Host.csproj | 6 +++--- .../BackendAdminAppGateway.Host.csproj | 4 ++-- .../InternalGateway.Host.csproj | 4 ++-- .../PublicWebSiteGateway.Host.csproj | 4 ++-- .../BloggingService.Host.csproj | 4 ++-- .../IdentityService.Host.csproj | 4 ++-- .../ProductService.Host.csproj | 6 +++--- .../TenantManagementService.Host.csproj | 4 ++-- ...roductManagement.EntityFrameworkCore.csproj | 2 +- ...CompanyName.MyProjectName.DbMigrator.csproj | 2 +- ...ame.EntityFrameworkCore.DbMigrations.csproj | 2 +- ...mpanyName.MyProjectName.HttpApi.Host.csproj | 6 +++--- ...me.MyProjectName.HttpApi.HostWithIds.csproj | 2 +- ...anyName.MyProjectName.IdentityServer.csproj | 6 +++--- ...MyCompanyName.MyProjectName.Web.Host.csproj | 6 +++--- .../MyCompanyName.MyProjectName.Web.csproj | 2 +- ...mpanyName.MyProjectName.HttpApi.Host.csproj | 6 +++--- ...anyName.MyProjectName.IdentityServer.csproj | 6 +++--- ...MyCompanyName.MyProjectName.Web.Host.csproj | 6 +++--- ...ompanyName.MyProjectName.Web.Unified.csproj | 2 +- 58 files changed, 102 insertions(+), 102 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Authentication.JwtBearer/Volo.Abp.AspNetCore.Authentication.JwtBearer.csproj b/framework/src/Volo.Abp.AspNetCore.Authentication.JwtBearer/Volo.Abp.AspNetCore.Authentication.JwtBearer.csproj index e2392c2b53..544099c653 100644 --- a/framework/src/Volo.Abp.AspNetCore.Authentication.JwtBearer/Volo.Abp.AspNetCore.Authentication.JwtBearer.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Authentication.JwtBearer/Volo.Abp.AspNetCore.Authentication.JwtBearer.csproj @@ -19,7 +19,7 @@ - + diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj index dabe2e30d4..90500a456b 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo.Abp.AspNetCore.Mvc.csproj @@ -26,9 +26,9 @@ - + - + diff --git a/framework/src/Volo.Abp.AspNetCore.TestBase/Volo.Abp.AspNetCore.TestBase.csproj b/framework/src/Volo.Abp.AspNetCore.TestBase/Volo.Abp.AspNetCore.TestBase.csproj index 38d9a34867..2ff1d539a6 100644 --- a/framework/src/Volo.Abp.AspNetCore.TestBase/Volo.Abp.AspNetCore.TestBase.csproj +++ b/framework/src/Volo.Abp.AspNetCore.TestBase/Volo.Abp.AspNetCore.TestBase.csproj @@ -24,7 +24,7 @@ - + diff --git a/framework/src/Volo.Abp.Authorization/Volo.Abp.Authorization.csproj b/framework/src/Volo.Abp.Authorization/Volo.Abp.Authorization.csproj index 8c6482837f..e5183688df 100644 --- a/framework/src/Volo.Abp.Authorization/Volo.Abp.Authorization.csproj +++ b/framework/src/Volo.Abp.Authorization/Volo.Abp.Authorization.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj b/framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj index 868f7e6719..45cc6e2d94 100644 --- a/framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj +++ b/framework/src/Volo.Abp.Autofac/Volo.Abp.Autofac.csproj @@ -17,7 +17,7 @@ - + diff --git a/framework/src/Volo.Abp.Caching/Volo.Abp.Caching.csproj b/framework/src/Volo.Abp.Caching/Volo.Abp.Caching.csproj index f59d9fe116..db744f410e 100644 --- a/framework/src/Volo.Abp.Caching/Volo.Abp.Caching.csproj +++ b/framework/src/Volo.Abp.Caching/Volo.Abp.Caching.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj b/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj index 0ccc8990d4..50fb328387 100644 --- a/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj +++ b/framework/src/Volo.Abp.Core/Volo.Abp.Core.csproj @@ -16,15 +16,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo.Abp.EntityFrameworkCore.SqlServer.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo.Abp.EntityFrameworkCore.SqlServer.csproj index bc88ef83d1..74d9e15537 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo.Abp.EntityFrameworkCore.SqlServer.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.SqlServer/Volo.Abp.EntityFrameworkCore.SqlServer.csproj @@ -19,7 +19,7 @@ - + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo.Abp.EntityFrameworkCore.Sqlite.csproj b/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo.Abp.EntityFrameworkCore.Sqlite.csproj index 7747d7faf2..385ad9068a 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo.Abp.EntityFrameworkCore.Sqlite.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo.Abp.EntityFrameworkCore.Sqlite.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo.Abp.EntityFrameworkCore.csproj b/framework/src/Volo.Abp.EntityFrameworkCore/Volo.Abp.EntityFrameworkCore.csproj index d0d0c58601..a1418c84d3 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo.Abp.EntityFrameworkCore.csproj +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo.Abp.EntityFrameworkCore.csproj @@ -20,8 +20,8 @@ - - + + diff --git a/framework/src/Volo.Abp.Http.Client/Volo.Abp.Http.Client.csproj b/framework/src/Volo.Abp.Http.Client/Volo.Abp.Http.Client.csproj index 99f480ee63..8607f32a35 100644 --- a/framework/src/Volo.Abp.Http.Client/Volo.Abp.Http.Client.csproj +++ b/framework/src/Volo.Abp.Http.Client/Volo.Abp.Http.Client.csproj @@ -15,7 +15,7 @@ - + diff --git a/framework/src/Volo.Abp.IdentityModel/Volo.Abp.IdentityModel.csproj b/framework/src/Volo.Abp.IdentityModel/Volo.Abp.IdentityModel.csproj index afda5e0002..ce26fe7bea 100644 --- a/framework/src/Volo.Abp.IdentityModel/Volo.Abp.IdentityModel.csproj +++ b/framework/src/Volo.Abp.IdentityModel/Volo.Abp.IdentityModel.csproj @@ -16,7 +16,7 @@ - + diff --git a/framework/src/Volo.Abp.VirtualFileSystem/Volo.Abp.VirtualFileSystem.csproj b/framework/src/Volo.Abp.VirtualFileSystem/Volo.Abp.VirtualFileSystem.csproj index 2ba15cae3d..46995e4eb4 100644 --- a/framework/src/Volo.Abp.VirtualFileSystem/Volo.Abp.VirtualFileSystem.csproj +++ b/framework/src/Volo.Abp.VirtualFileSystem/Volo.Abp.VirtualFileSystem.csproj @@ -15,8 +15,8 @@ - - + + diff --git a/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.Shared/Volo.Abp.BackgroundJobs.DemoApp.Shared.csproj b/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.Shared/Volo.Abp.BackgroundJobs.DemoApp.Shared.csproj index 582cc3d634..3c942ccf89 100644 --- a/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.Shared/Volo.Abp.BackgroundJobs.DemoApp.Shared.csproj +++ b/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp.Shared/Volo.Abp.BackgroundJobs.DemoApp.Shared.csproj @@ -7,7 +7,7 @@ - + diff --git a/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp/Volo.Abp.BackgroundJobs.DemoApp.csproj b/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp/Volo.Abp.BackgroundJobs.DemoApp.csproj index b3bc53a2ed..062db7437c 100644 --- a/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp/Volo.Abp.BackgroundJobs.DemoApp.csproj +++ b/modules/background-jobs/app/Volo.Abp.BackgroundJobs.DemoApp/Volo.Abp.BackgroundJobs.DemoApp.csproj @@ -6,7 +6,7 @@ - + all runtime; build; native; contentfiles; analyzers diff --git a/modules/blogging/app/Volo.BloggingTestApp/Volo.BloggingTestApp.csproj b/modules/blogging/app/Volo.BloggingTestApp/Volo.BloggingTestApp.csproj index 918c42c1ad..16fc44f6e3 100644 --- a/modules/blogging/app/Volo.BloggingTestApp/Volo.BloggingTestApp.csproj +++ b/modules/blogging/app/Volo.BloggingTestApp/Volo.BloggingTestApp.csproj @@ -17,8 +17,8 @@ - - + + 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 c2540754a3..e3bc883c85 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj +++ b/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj @@ -16,7 +16,7 @@ - + diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj b/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj index f6eb1df909..41fbc25274 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj @@ -29,7 +29,7 @@ - + diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj index e3f23bc85e..04e4195209 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj @@ -22,7 +22,7 @@ - + diff --git a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Acme.BookStore.HttpApi.Host.csproj b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Acme.BookStore.HttpApi.Host.csproj index 6119146712..31094a272a 100644 --- a/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Acme.BookStore.HttpApi.Host.csproj +++ b/samples/BookStore-Angular-MongoDb/aspnet-core/src/Acme.BookStore.HttpApi.Host/Acme.BookStore.HttpApi.Host.csproj @@ -15,7 +15,7 @@ - + diff --git a/samples/BookStore-Modular/application/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj b/samples/BookStore-Modular/application/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj index 7b08e55bda..548d856562 100644 --- a/samples/BookStore-Modular/application/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj +++ b/samples/BookStore-Modular/application/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj @@ -22,7 +22,7 @@ - + diff --git a/samples/BookStore-Modular/application/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj b/samples/BookStore-Modular/application/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj index b38c71d1d4..13a171d216 100644 --- a/samples/BookStore-Modular/application/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj +++ b/samples/BookStore-Modular/application/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj @@ -12,7 +12,7 @@ - + diff --git a/samples/BookStore-Modular/application/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj b/samples/BookStore-Modular/application/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj index d378f9ff00..25e40ef243 100644 --- a/samples/BookStore-Modular/application/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj +++ b/samples/BookStore-Modular/application/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj @@ -37,7 +37,7 @@ - + diff --git a/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.HttpApi.Host/Acme.BookStore.BookManagement.HttpApi.Host.csproj b/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.HttpApi.Host/Acme.BookStore.BookManagement.HttpApi.Host.csproj index 60c2276bb4..3e88d83236 100644 --- a/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.HttpApi.Host/Acme.BookStore.BookManagement.HttpApi.Host.csproj +++ b/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.HttpApi.Host/Acme.BookStore.BookManagement.HttpApi.Host.csproj @@ -14,8 +14,8 @@ - - + + diff --git a/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.IdentityServer/Acme.BookStore.BookManagement.IdentityServer.csproj b/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.IdentityServer/Acme.BookStore.BookManagement.IdentityServer.csproj index c0b6996719..5b6fd46c1e 100644 --- a/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.IdentityServer/Acme.BookStore.BookManagement.IdentityServer.csproj +++ b/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.IdentityServer/Acme.BookStore.BookManagement.IdentityServer.csproj @@ -12,9 +12,9 @@ - - - + + + diff --git a/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.Web.Host/Acme.BookStore.BookManagement.Web.Host.csproj b/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.Web.Host/Acme.BookStore.BookManagement.Web.Host.csproj index d2022bb48f..485cc3c1e9 100644 --- a/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.Web.Host/Acme.BookStore.BookManagement.Web.Host.csproj +++ b/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.Web.Host/Acme.BookStore.BookManagement.Web.Host.csproj @@ -13,9 +13,9 @@ - - - + + + diff --git a/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.Web.Unified/Acme.BookStore.BookManagement.Web.Unified.csproj b/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.Web.Unified/Acme.BookStore.BookManagement.Web.Unified.csproj index d54a64710b..3d47595d2d 100644 --- a/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.Web.Unified/Acme.BookStore.BookManagement.Web.Unified.csproj +++ b/samples/BookStore-Modular/modules/book-management/host/Acme.BookStore.BookManagement.Web.Unified/Acme.BookStore.BookManagement.Web.Unified.csproj @@ -13,7 +13,7 @@ - + diff --git a/samples/BookStore/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj b/samples/BookStore/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj index c77b3ae1eb..4c1a2612c8 100644 --- a/samples/BookStore/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj +++ b/samples/BookStore/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj @@ -19,7 +19,7 @@ - + all runtime; build; native; contentfiles; analyzers; buildtransitive diff --git a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj index f8594c4ef9..6feb319c5e 100644 --- a/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj +++ b/samples/BookStore/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj @@ -8,7 +8,7 @@ - + diff --git a/samples/BookStore/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj b/samples/BookStore/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj index 61c73a3da8..984804f4be 100644 --- a/samples/BookStore/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj +++ b/samples/BookStore/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj @@ -27,8 +27,8 @@ - - + + diff --git a/samples/DashboardDemo/src/DashboardDemo.DbMigrator/DashboardDemo.DbMigrator.csproj b/samples/DashboardDemo/src/DashboardDemo.DbMigrator/DashboardDemo.DbMigrator.csproj index 469d5a2773..cad80311b8 100644 --- a/samples/DashboardDemo/src/DashboardDemo.DbMigrator/DashboardDemo.DbMigrator.csproj +++ b/samples/DashboardDemo/src/DashboardDemo.DbMigrator/DashboardDemo.DbMigrator.csproj @@ -16,7 +16,7 @@ - + diff --git a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/DashboardDemo.EntityFrameworkCore.DbMigrations.csproj b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/DashboardDemo.EntityFrameworkCore.DbMigrations.csproj index c43e011cba..325fca41c4 100644 --- a/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/DashboardDemo.EntityFrameworkCore.DbMigrations.csproj +++ b/samples/DashboardDemo/src/DashboardDemo.EntityFrameworkCore.DbMigrations/DashboardDemo.EntityFrameworkCore.DbMigrations.csproj @@ -12,7 +12,7 @@ - + diff --git a/samples/EfCoreMigrationDemo/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj b/samples/EfCoreMigrationDemo/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj index c2ed0c2edd..a1fb858a3e 100644 --- a/samples/EfCoreMigrationDemo/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj +++ b/samples/EfCoreMigrationDemo/src/Acme.BookStore.DbMigrator/Acme.BookStore.DbMigrator.csproj @@ -22,7 +22,7 @@ - + diff --git a/samples/EfCoreMigrationDemo/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj b/samples/EfCoreMigrationDemo/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj index b38c71d1d4..13a171d216 100644 --- a/samples/EfCoreMigrationDemo/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj +++ b/samples/EfCoreMigrationDemo/src/Acme.BookStore.EntityFrameworkCore.DbMigrations/Acme.BookStore.EntityFrameworkCore.DbMigrations.csproj @@ -12,7 +12,7 @@ - + diff --git a/samples/EfCoreMigrationDemo/src/Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb/Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb.csproj b/samples/EfCoreMigrationDemo/src/Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb/Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb.csproj index 820dc9e4d0..b1223793b2 100644 --- a/samples/EfCoreMigrationDemo/src/Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb/Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb.csproj +++ b/samples/EfCoreMigrationDemo/src/Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb/Acme.BookStore.EntityFrameworkCore.DbMigrationsForSecondDb.csproj @@ -12,7 +12,7 @@ - + \ No newline at end of file diff --git a/samples/EfCoreMigrationDemo/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj b/samples/EfCoreMigrationDemo/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj index 53faab21b7..04ba040321 100644 --- a/samples/EfCoreMigrationDemo/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj +++ b/samples/EfCoreMigrationDemo/src/Acme.BookStore.Web/Acme.BookStore.Web.csproj @@ -37,7 +37,7 @@ - + diff --git a/samples/MicroserviceDemo/applications/AuthServer.Host/AuthServer.Host.csproj b/samples/MicroserviceDemo/applications/AuthServer.Host/AuthServer.Host.csproj index eaded7f020..7f5dad3178 100644 --- a/samples/MicroserviceDemo/applications/AuthServer.Host/AuthServer.Host.csproj +++ b/samples/MicroserviceDemo/applications/AuthServer.Host/AuthServer.Host.csproj @@ -15,9 +15,9 @@ - - - + + + diff --git a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/BackendAdminApp.Host.csproj b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/BackendAdminApp.Host.csproj index 4b24e5d584..ad98cbd55a 100644 --- a/samples/MicroserviceDemo/applications/BackendAdminApp.Host/BackendAdminApp.Host.csproj +++ b/samples/MicroserviceDemo/applications/BackendAdminApp.Host/BackendAdminApp.Host.csproj @@ -16,9 +16,9 @@ - - - + + + diff --git a/samples/MicroserviceDemo/applications/PublicWebSite.Host/PublicWebSite.Host.csproj b/samples/MicroserviceDemo/applications/PublicWebSite.Host/PublicWebSite.Host.csproj index 685038d9c8..8171af3273 100644 --- a/samples/MicroserviceDemo/applications/PublicWebSite.Host/PublicWebSite.Host.csproj +++ b/samples/MicroserviceDemo/applications/PublicWebSite.Host/PublicWebSite.Host.csproj @@ -15,9 +15,9 @@ - - - + + + diff --git a/samples/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/BackendAdminAppGateway.Host.csproj b/samples/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/BackendAdminAppGateway.Host.csproj index f0f2624e46..b8833d8984 100644 --- a/samples/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/BackendAdminAppGateway.Host.csproj +++ b/samples/MicroserviceDemo/gateways/BackendAdminAppGateway.Host/BackendAdminAppGateway.Host.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/samples/MicroserviceDemo/gateways/InternalGateway.Host/InternalGateway.Host.csproj b/samples/MicroserviceDemo/gateways/InternalGateway.Host/InternalGateway.Host.csproj index c393685128..581b56fb96 100644 --- a/samples/MicroserviceDemo/gateways/InternalGateway.Host/InternalGateway.Host.csproj +++ b/samples/MicroserviceDemo/gateways/InternalGateway.Host/InternalGateway.Host.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/samples/MicroserviceDemo/gateways/PublicWebSiteGateway.Host/PublicWebSiteGateway.Host.csproj b/samples/MicroserviceDemo/gateways/PublicWebSiteGateway.Host/PublicWebSiteGateway.Host.csproj index fb06bcea05..99844c1619 100644 --- a/samples/MicroserviceDemo/gateways/PublicWebSiteGateway.Host/PublicWebSiteGateway.Host.csproj +++ b/samples/MicroserviceDemo/gateways/PublicWebSiteGateway.Host/PublicWebSiteGateway.Host.csproj @@ -18,8 +18,8 @@ - - + + diff --git a/samples/MicroserviceDemo/microservices/BloggingService.Host/BloggingService.Host.csproj b/samples/MicroserviceDemo/microservices/BloggingService.Host/BloggingService.Host.csproj index 1a107bcf40..ce45a91a66 100644 --- a/samples/MicroserviceDemo/microservices/BloggingService.Host/BloggingService.Host.csproj +++ b/samples/MicroserviceDemo/microservices/BloggingService.Host/BloggingService.Host.csproj @@ -17,8 +17,8 @@ - - + + diff --git a/samples/MicroserviceDemo/microservices/IdentityService.Host/IdentityService.Host.csproj b/samples/MicroserviceDemo/microservices/IdentityService.Host/IdentityService.Host.csproj index ec96f1ead6..5dd6961898 100644 --- a/samples/MicroserviceDemo/microservices/IdentityService.Host/IdentityService.Host.csproj +++ b/samples/MicroserviceDemo/microservices/IdentityService.Host/IdentityService.Host.csproj @@ -17,8 +17,8 @@ - - + + diff --git a/samples/MicroserviceDemo/microservices/ProductService.Host/ProductService.Host.csproj b/samples/MicroserviceDemo/microservices/ProductService.Host/ProductService.Host.csproj index 21750c55de..d07775748f 100644 --- a/samples/MicroserviceDemo/microservices/ProductService.Host/ProductService.Host.csproj +++ b/samples/MicroserviceDemo/microservices/ProductService.Host/ProductService.Host.csproj @@ -17,9 +17,9 @@ - - - + + + diff --git a/samples/MicroserviceDemo/microservices/TenantManagementService.Host/TenantManagementService.Host.csproj b/samples/MicroserviceDemo/microservices/TenantManagementService.Host/TenantManagementService.Host.csproj index 653eee189b..24d6fb8588 100644 --- a/samples/MicroserviceDemo/microservices/TenantManagementService.Host/TenantManagementService.Host.csproj +++ b/samples/MicroserviceDemo/microservices/TenantManagementService.Host/TenantManagementService.Host.csproj @@ -17,8 +17,8 @@ - - + + diff --git a/samples/MicroserviceDemo/modules/product/src/ProductManagement.EntityFrameworkCore/ProductManagement.EntityFrameworkCore.csproj b/samples/MicroserviceDemo/modules/product/src/ProductManagement.EntityFrameworkCore/ProductManagement.EntityFrameworkCore.csproj index 1e7d3e5cfe..d91a9c8358 100644 --- a/samples/MicroserviceDemo/modules/product/src/ProductManagement.EntityFrameworkCore/ProductManagement.EntityFrameworkCore.csproj +++ b/samples/MicroserviceDemo/modules/product/src/ProductManagement.EntityFrameworkCore/ProductManagement.EntityFrameworkCore.csproj @@ -6,7 +6,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj index a4e6b5adb1..7c76be2c36 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.DbMigrator/MyCompanyName.MyProjectName.DbMigrator.csproj @@ -22,7 +22,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj index cc8c7876ee..1bf1570157 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations/MyCompanyName.MyProjectName.EntityFrameworkCore.DbMigrations.csproj @@ -12,7 +12,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index 20d35f5d01..21bd86eaca 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -15,9 +15,9 @@ - - - + + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj index 5b8db548fd..cbf882acc6 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.HttpApi.HostWithIds/MyCompanyName.MyProjectName.HttpApi.HostWithIds.csproj @@ -15,7 +15,7 @@ - + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj index 160fcffc46..ec5209e8a0 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj @@ -35,9 +35,9 @@ - - - + + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index ae37bbd5a1..c0fa4cc23c 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -20,9 +20,9 @@ - - - + + + diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj index ce1087911b..150ede13c7 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Web/MyCompanyName.MyProjectName.Web.csproj @@ -37,7 +37,7 @@ - + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj index c95c5a148f..71ac920b35 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/MyCompanyName.MyProjectName.HttpApi.Host.csproj @@ -14,9 +14,9 @@ - - - + + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj index 946f3156f4..8bfc42e7d2 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.IdentityServer/MyCompanyName.MyProjectName.IdentityServer.csproj @@ -12,9 +12,9 @@ - - - + + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj index d3e5f19e78..25a0b25bc2 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Host/MyCompanyName.MyProjectName.Web.Host.csproj @@ -13,9 +13,9 @@ - - - + + + diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj index 9277615d12..c531dc6474 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/MyCompanyName.MyProjectName.Web.Unified.csproj @@ -13,7 +13,7 @@ - + From 52fc9f4a7217388a13ed69b8321f5245b531b187 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 19 Mar 2020 18:17:37 +0800 Subject: [PATCH 02/55] Encode the returnUrl parameter. Resolve #3202 --- .../Basic/Components/Toolbar/LanguageSwitch/Default.cshtml | 3 ++- .../FodyWeavers.xml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Toolbar/LanguageSwitch/Default.cshtml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Toolbar/LanguageSwitch/Default.cshtml index ae3255abbf..65ca8d940e 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Toolbar/LanguageSwitch/Default.cshtml +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic/Themes/Basic/Components/Toolbar/LanguageSwitch/Default.cshtml @@ -1,4 +1,5 @@ @using System.Linq +@using Microsoft.AspNetCore.Http.Extensions @using Volo.Abp.AspNetCore.Mvc.UI.Theme.Basic.Themes.Basic.Components.Toolbar.LanguageSwitch @model LanguageSwitchViewComponentModel @if (Model.OtherLanguages.Any()) @@ -11,7 +12,7 @@ diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xml b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xml index 00e1d9a1c1..be0de3a908 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xml +++ b/framework/src/Volo.Abp.AspNetCore.Mvc.UI.Theme.Shared.Demo/FodyWeavers.xml @@ -1,3 +1,3 @@  - + \ No newline at end of file From e76338c23a00b6256698b0e006ea21c79b45a372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 13:40:58 +0300 Subject: [PATCH 03/55] identity etos added --- .../Volo/Abp/Identity/IdentityClaimTypeEto.cs | 26 +++++++++++++++++++ .../Volo/Abp/Identity/IdentityRoleEto.cs | 21 +++++++++++++++ .../Volo.Abp.Identity.Domain.csproj | 1 + .../Abp/Identity/AbpIdentityDomainModule.cs | 8 ++++++ .../Identity/IdentityDomainMappingProfile.cs | 13 ++++++++++ 5 files changed, 69 insertions(+) create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeEto.cs create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs create mode 100644 modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeEto.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeEto.cs new file mode 100644 index 0000000000..1fb13047fd --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeEto.cs @@ -0,0 +1,26 @@ +using System; + +namespace Volo.Abp.Identity +{ + [Serializable] + public class IdentityClaimTypeEto + { + public Guid Id { get; set; } + + public Guid? TenantId { get; set; } + + public virtual string Name { get; set; } + + public virtual bool Required { get; set; } + + public virtual bool IsStatic { get; set; } + + public virtual string Regex { get; set; } + + public virtual string RegexDescription { get; set; } + + public virtual string Description { get; set; } + + public virtual IdentityClaimValueType ValueType { get; set; } + } +} diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs new file mode 100644 index 0000000000..3effffce6b --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs @@ -0,0 +1,21 @@ +using System; + +namespace Volo.Abp.Identity +{ + public class IdentityRoleEto + { + public Guid Id { get; set; } + + public Guid? TenantId { get; set; } + + public virtual string Name { get; protected internal set; } + + public virtual string NormalizedName { get; protected internal set; } + + public virtual bool IsDefault { get; set; } + + public virtual bool IsStatic { get; set; } + + public virtual bool IsPublic { get; set; } + } +} \ No newline at end of file diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj b/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj index f6eb1df909..fe364e92fb 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo.Abp.Identity.Domain.csproj @@ -25,6 +25,7 @@ + diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs index 1bb065017e..4bcd2ee234 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/AbpIdentityDomainModule.cs @@ -2,6 +2,7 @@ using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; using Microsoft.Extensions.Options; +using Volo.Abp.AutoMapper; using Volo.Abp.Domain; using Volo.Abp.EventBus.Distributed; using Volo.Abp.Modularity; @@ -21,6 +22,13 @@ namespace Volo.Abp.Identity Configure(options => { options.EtoMappings.Add(); + options.EtoMappings.Add(); + options.EtoMappings.Add(); + }); + + Configure(options => + { + options.AddProfile(validate: true); }); var identityBuilder = context.Services.AddAbpIdentity(options => diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs new file mode 100644 index 0000000000..582e37c6d9 --- /dev/null +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs @@ -0,0 +1,13 @@ +using AutoMapper; + +namespace Volo.Abp.Identity +{ + public class IdentityDomainMappingProfile : Profile + { + public IdentityDomainMappingProfile() + { + CreateMap(); + CreateMap(); + } + } +} \ No newline at end of file From bff490366c35f00d3bb3a2d7bbc857cbec4b6d75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 13:43:25 +0300 Subject: [PATCH 04/55] Update IdentityRoleEto.cs --- .../Volo/Abp/Identity/IdentityRoleEto.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs index 3effffce6b..52b7ff907f 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs @@ -2,6 +2,7 @@ namespace Volo.Abp.Identity { + [Serializable] public class IdentityRoleEto { public Guid Id { get; set; } From 27dd593f460198da2ae8313e6d389fbafe5e2966 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 13:44:16 +0300 Subject: [PATCH 05/55] Update IdentityRoleEto.cs --- .../Volo/Abp/Identity/IdentityRoleEto.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs index 52b7ff907f..4112f03fee 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs @@ -9,9 +9,9 @@ namespace Volo.Abp.Identity public Guid? TenantId { get; set; } - public virtual string Name { get; protected internal set; } + public virtual string Name { get; set; } - public virtual string NormalizedName { get; protected internal set; } + public virtual string NormalizedName { get; set; } public virtual bool IsDefault { get; set; } From 5e9babb6e08e7ed10a0134866925a97fc7d1e510 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 14:03:14 +0300 Subject: [PATCH 06/55] bugfix --- .../Volo/Abp/Identity/IdentityClaimTypeEto.cs | 14 +++++++------- .../Volo/Abp/Identity/IdentityRoleEto.cs | 10 +++++----- .../Abp/Identity/IdentityDomainMappingProfile.cs | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeEto.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeEto.cs index 1fb13047fd..794d576ce5 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeEto.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityClaimTypeEto.cs @@ -9,18 +9,18 @@ namespace Volo.Abp.Identity public Guid? TenantId { get; set; } - public virtual string Name { get; set; } + public string Name { get; set; } - public virtual bool Required { get; set; } + public bool Required { get; set; } - public virtual bool IsStatic { get; set; } + public bool IsStatic { get; set; } - public virtual string Regex { get; set; } + public string Regex { get; set; } - public virtual string RegexDescription { get; set; } + public string RegexDescription { get; set; } - public virtual string Description { get; set; } + public string Description { get; set; } - public virtual IdentityClaimValueType ValueType { get; set; } + public IdentityClaimValueType ValueType { get; set; } } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs index 4112f03fee..3247b86691 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentityRoleEto.cs @@ -9,14 +9,14 @@ namespace Volo.Abp.Identity public Guid? TenantId { get; set; } - public virtual string Name { get; set; } + public string Name { get; set; } - public virtual string NormalizedName { get; set; } + public string NormalizedName { get; set; } - public virtual bool IsDefault { get; set; } + public bool IsDefault { get; set; } - public virtual bool IsStatic { get; set; } + public bool IsStatic { get; set; } - public virtual bool IsPublic { get; set; } + public bool IsPublic { get; set; } } } \ No newline at end of file diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs index 582e37c6d9..8b7296242b 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentityDomainMappingProfile.cs @@ -7,7 +7,7 @@ namespace Volo.Abp.Identity public IdentityDomainMappingProfile() { CreateMap(); - CreateMap(); + CreateMap(); } } } \ No newline at end of file From 3ae4621a70cf870186cc4ff5970fb573b5733e0d Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Thu, 19 Mar 2020 15:35:35 +0300 Subject: [PATCH 07/55] feat: add optional apiName to Rest.Config --- npm/ng-packs/packages/core/src/lib/models/rest.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/models/rest.ts b/npm/ng-packs/packages/core/src/lib/models/rest.ts index a494bbbc63..2f0e175002 100644 --- a/npm/ng-packs/packages/core/src/lib/models/rest.ts +++ b/npm/ng-packs/packages/core/src/lib/models/rest.ts @@ -1,10 +1,11 @@ import { HttpHeaders, HttpParams } from '@angular/common/http'; export namespace Rest { - export interface Config { - skipHandleError?: boolean; - observe?: Observe; - } + export type Config = Partial<{ + apiName: string; + skipHandleError: boolean; + observe: Observe; + }>; export const enum Observe { Body = 'body', From edcd7882337aaaaa2a481d5673cfaee4059cefba Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Thu, 19 Mar 2020 16:45:21 +0300 Subject: [PATCH 08/55] feat(core): improve Config.Environment interface --- .../packages/core/src/lib/models/config.ts | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/models/config.ts b/npm/ng-packs/packages/core/src/lib/models/config.ts index 321a542097..337ebe6201 100644 --- a/npm/ng-packs/packages/core/src/lib/models/config.ts +++ b/npm/ng-packs/packages/core/src/lib/models/config.ts @@ -1,5 +1,5 @@ -import { AuthConfig } from 'angular-oauth2-oidc'; import { Type } from '@angular/core'; +import { AuthConfig } from 'angular-oauth2-oidc'; import { ApplicationConfiguration } from './application-configuration'; import { ABP } from './common'; @@ -13,6 +13,7 @@ export namespace Config { export interface Environment { application: Application; production: boolean; + hmr?: boolean; oAuthConfig: AuthConfig; apis: Apis; localization: { defaultResourceName: string }; @@ -23,9 +24,15 @@ export namespace Config { logoUrl?: string; } - export interface Apis { - [key: string]: { [key: string]: string }; - } + export type ApiConfig = { + [key: string]: string; + url: string; + }; + + export type Apis = { + [key: string]: ApiConfig; + default: ApiConfig; + }; export interface Requirements { layouts: Type[]; From 5bab2dabfc5be17e12192ada6f5a11edfdcde9d3 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Thu, 19 Mar 2020 16:46:25 +0300 Subject: [PATCH 09/55] feat(core): get apiName from config parameter and use it in request --- .../core/src/lib/services/rest.service.ts | 12 +++- .../core/src/lib/tests/rest.service.spec.ts | 56 +++++++++++++++---- 2 files changed, 54 insertions(+), 14 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/services/rest.service.ts b/npm/ng-packs/packages/core/src/lib/services/rest.service.ts index 0ad32ba010..15cc13cf50 100644 --- a/npm/ng-packs/packages/core/src/lib/services/rest.service.ts +++ b/npm/ng-packs/packages/core/src/lib/services/rest.service.ts @@ -19,10 +19,15 @@ export class RestService { return throwError(err); } - request(request: HttpRequest | Rest.Request, config?: Rest.Config, api?: string): Observable { + request( + request: HttpRequest | Rest.Request, + config?: Rest.Config, + api?: string, + ): Observable { config = config || ({} as Rest.Config); const { observe = Rest.Observe.Body, skipHandleError } = config; - const url = (api || this.store.selectSnapshot(ConfigState.getApiUrl())) + request.url; + const url = + (api || this.store.selectSnapshot(ConfigState.getApiUrl(config.apiName))) + request.url; const { method, params, ...options } = request; return this.http @@ -32,7 +37,8 @@ export class RestService { params: Object.keys(params).reduce( (acc, key) => ({ ...acc, - ...(typeof params[key] !== 'undefined' && params[key] !== '' && { [key]: params[key] }), + ...(typeof params[key] !== 'undefined' && + params[key] !== '' && { [key]: params[key] }), }), {}, ), diff --git a/npm/ng-packs/packages/core/src/lib/tests/rest.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/rest.service.spec.ts index 3d5cc11287..ecc8e9dce8 100644 --- a/npm/ng-packs/packages/core/src/lib/tests/rest.service.spec.ts +++ b/npm/ng-packs/packages/core/src/lib/tests/rest.service.spec.ts @@ -1,40 +1,71 @@ +import { ConfigState } from '@abp/ng.core'; import { createHttpFactory, HttpMethod, SpectatorHttp, SpyObject } from '@ngneat/spectator/jest'; -import { Store } from '@ngxs/store'; -import { Subscription, timer, interval, throwError, of } from 'rxjs'; -import { mapTo, catchError } from 'rxjs/operators'; -import { RestService } from '../services/rest.service'; -import { Rest } from '../models'; +import { NgxsModule, Store } from '@ngxs/store'; +import { interval, of, Subscription, throwError, timer } from 'rxjs'; +import { catchError } from 'rxjs/operators'; import { RestOccurError } from '../actions'; +import { Rest } from '../models'; +import { RestService } from '../services/rest.service'; describe('HttpClient testing', () => { let spectator: SpectatorHttp; let store: SpyObject; const api = 'https://abp.io'; - const createHttp = createHttpFactory({ dataService: RestService, mocks: [Store] }); + const createHttp = createHttpFactory({ + dataService: RestService, + imports: [NgxsModule.forRoot([ConfigState])], + }); beforeEach(() => { spectator = createHttp(); store = spectator.get(Store); - store.selectSnapshot.andReturn(api); + store.reset({ + ConfigState: { + environment: { + apis: { + default: { + url: api, + }, + foo: { + url: 'bar', + }, + }, + }, + }, + }); }); test('should send a GET request with params', () => { - spectator.service.request({ method: HttpMethod.GET, url: '/test', params: { id: 1 } }).subscribe(); + spectator.service + .request({ method: HttpMethod.GET, url: '/test', params: { id: 1 } }) + .subscribe(); spectator.expectOne(api + '/test?id=1', HttpMethod.GET); }); test('should send a POST request with body', () => { - spectator.service.request({ method: HttpMethod.POST, url: '/test', body: { id: 1 } }).subscribe(); + spectator.service + .request({ method: HttpMethod.POST, url: '/test', body: { id: 1 } }) + .subscribe(); const req = spectator.expectOne(api + '/test', HttpMethod.POST); expect(req.request.body['id']).toEqual(1); }); test('should use the specific api', () => { - spectator.service.request({ method: HttpMethod.GET, url: '/test' }, null, 'http://test.api').subscribe(); + spectator.service + .request({ method: HttpMethod.GET, url: '/test' }, null, 'http://test.api') + .subscribe(); spectator.expectOne('http://test.api' + '/test', HttpMethod.GET); }); + test('should use the url of a specific API when apiName is given', () => { + spectator.service + .request({ method: HttpMethod.GET, url: '/test' }, { apiName: 'foo' }) + .subscribe(); + + spectator.expectOne('bar' + '/test', HttpMethod.GET); + }); + test('should close the subscriber when observe equal to body', done => { jest.spyOn(spectator.httpClient, 'request').mockReturnValue(interval(50)); @@ -82,7 +113,10 @@ describe('HttpClient testing', () => { const spy = jest.spyOn(store, 'dispatch'); spectator.service - .request({ method: HttpMethod.GET, url: '/test' }, { observe: Rest.Observe.Events, skipHandleError: true }) + .request( + { method: HttpMethod.GET, url: '/test' }, + { observe: Rest.Observe.Events, skipHandleError: true }, + ) .pipe( catchError(err => { expect(err).toBeTruthy(); From 3c3d227e4e28739e2b9a4e994d9e41025fafd0af Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Thu, 19 Mar 2020 17:06:53 +0300 Subject: [PATCH 10/55] fix(core): use interface instead of type literal for Apis and ApiConfig --- npm/ng-packs/packages/core/src/lib/models/config.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/npm/ng-packs/packages/core/src/lib/models/config.ts b/npm/ng-packs/packages/core/src/lib/models/config.ts index 337ebe6201..0f7405380b 100644 --- a/npm/ng-packs/packages/core/src/lib/models/config.ts +++ b/npm/ng-packs/packages/core/src/lib/models/config.ts @@ -24,15 +24,15 @@ export namespace Config { logoUrl?: string; } - export type ApiConfig = { + export interface ApiConfig { [key: string]: string; url: string; - }; + } - export type Apis = { + export interface Apis { [key: string]: ApiConfig; default: ApiConfig; - }; + } export interface Requirements { layouts: Type[]; From 85ac8a04a07f31434737ef8b071bd07019437fbc Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Thu, 19 Mar 2020 17:18:22 +0300 Subject: [PATCH 11/55] added alerts documentation --- docs/en/UI/AspNetCore/Tag-Helpers/Alerts.md | 82 +++++++++++++++++++++ docs/en/UI/AspNetCore/Tag-Helpers/Index.md | 2 + 2 files changed, 84 insertions(+) create mode 100644 docs/en/UI/AspNetCore/Tag-Helpers/Alerts.md diff --git a/docs/en/UI/AspNetCore/Tag-Helpers/Alerts.md b/docs/en/UI/AspNetCore/Tag-Helpers/Alerts.md new file mode 100644 index 0000000000..cf19e31e29 --- /dev/null +++ b/docs/en/UI/AspNetCore/Tag-Helpers/Alerts.md @@ -0,0 +1,82 @@ +# Alerts + +## Introduction + +`abp-alert` is a main element to create an alert. + +Basic usage: + +````xml + + A simple primary alert—check it out! + +```` + + + +## Demo + +See the [alerts demo page](https://bootstrap-taghelpers.abp.io/Components/Alerts) to see it in action. + +## Attributes + +### alert-type + +A value indicates the type of the alert. Should be one of the following values: + +* `Default` (default value) +* `Primary` +* `Secondary` +* `Success` +* `Danger` +* `Warning` +* `Info` +* `Light` +* `Dark` + +Example: + +````xml + + A simple warning alert—check it out! + +```` + +### alert-link + +A value provides matching colored links within any alert. + +Example: + +````xml + + A simple danger alert with an example link. Give it a click if you like. + +```` + +### dismissible + +A value to make the alert dismissible. + +Example: + +````xml + + Holy guacamole! You should check in on some of those fields below. + +```` + +### Additional content + +`abp-alert` can also contain additional HTML elements like headings, paragraphs and dividers. + +Example: + +````xml + +

Well done!

+

Aww yeah, you successfully read this important alert message. This example text is going to run a bit longer so that you can see how spacing within an alert works with this kind of content.

+
+

Whenever you need to, be sure to use margin utilities to keep things nice and tidy.

+
+```` diff --git a/docs/en/UI/AspNetCore/Tag-Helpers/Index.md b/docs/en/UI/AspNetCore/Tag-Helpers/Index.md index d7e393933e..5f36395c00 100644 --- a/docs/en/UI/AspNetCore/Tag-Helpers/Index.md +++ b/docs/en/UI/AspNetCore/Tag-Helpers/Index.md @@ -13,6 +13,8 @@ ABP Framework also adds some **useful features** to the standard bootstrap compo Here, the list of components those are wrapped by the ABP Framework: * [Buttons](Buttons.md) +* [Cards](Cards.md) +* [Alerts](Alerts.md) * ... > Until all the tag helpers are documented, you can visit https://bootstrap-taghelpers.abp.io/ to see them with live samples. From d72dbb994ef4e0defa6f0dfb4f60490c221bd6d6 Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Thu, 19 Mar 2020 17:28:55 +0300 Subject: [PATCH 12/55] refactor CLI new command for tiered option --- .../Volo/Abp/Cli/Commands/NewCommand.cs | 26 ++++++++++++------- .../ProjectBuilding/TemplateProjectBuilder.cs | 4 +-- 2 files changed, 18 insertions(+), 12 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs index 28fcf4b3f6..3afc32ec4d 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/Commands/NewCommand.cs @@ -55,6 +55,12 @@ namespace Volo.Abp.Cli.Commands Logger.LogInformation("Version: " + version); } + var isTiered = commandLineArgs.Options.ContainsKey(Options.Tiered.Long); + if (isTiered) + { + Logger.LogInformation("Tiered: yes"); + } + var databaseProvider = GetDatabaseProvider(commandLineArgs); if (databaseProvider != DatabaseProvider.NotSpecified) { @@ -96,14 +102,9 @@ namespace Volo.Abp.Cli.Commands var outputFolderRoot = outputFolder != null ? Path.GetFullPath(outputFolder) : Directory.GetCurrentDirectory(); - if (createSolutionFolder) - { - outputFolder = Path.Combine(outputFolderRoot, SolutionName.Parse(projectName).FullName); - } - else - { - outputFolder = outputFolderRoot; - } + outputFolder = createSolutionFolder ? + Path.Combine(outputFolderRoot, SolutionName.Parse(projectName).FullName) : + outputFolderRoot; if (!Directory.Exists(outputFolder)) { @@ -232,7 +233,7 @@ namespace Volo.Abp.Cli.Commands } } - private UiFramework GetUiFramework(CommandLineArgs commandLineArgs) + protected virtual UiFramework GetUiFramework(CommandLineArgs commandLineArgs) { var optionValue = commandLineArgs.Options.GetOrNull(Options.UiFramework.Short, Options.UiFramework.Long); switch (optionValue) @@ -248,7 +249,7 @@ namespace Volo.Abp.Cli.Commands } } - private MobileApp GetMobilePreference(CommandLineArgs commandLineArgs) + protected virtual MobileApp GetMobilePreference(CommandLineArgs commandLineArgs) { var optionValue = commandLineArgs.Options.GetOrNull(Options.Mobile.Short, Options.Mobile.Long); switch (optionValue) @@ -316,6 +317,11 @@ namespace Volo.Abp.Cli.Commands public const string Short = "csf"; public const string Long = "create-solution-folder"; } + + public static class Tiered + { + public const string Long = "tiered"; + } } } } diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs index f7d9eaf3be..6d3fa4b7b8 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs @@ -82,7 +82,7 @@ namespace Volo.Abp.Cli.ProjectBuilding // Exclude unwanted or known options. var options = args.ExtraProperties .Where(x => !x.Key.Equals(CliConsts.Command, StringComparison.InvariantCultureIgnoreCase)) - .Where(x => !x.Key.Equals("tiered", StringComparison.InvariantCultureIgnoreCase)) + .Where(x => !x.Key.Equals(NewCommand.Options.Tiered.Long, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.DatabaseProvider.Long, StringComparison.InvariantCultureIgnoreCase) && !x.Key.Equals(NewCommand.Options.DatabaseProvider.Short, StringComparison.InvariantCultureIgnoreCase)) .Where(x => !x.Key.Equals(NewCommand.Options.OutputFolder.Long, StringComparison.InvariantCultureIgnoreCase) && @@ -102,7 +102,7 @@ namespace Volo.Abp.Cli.ProjectBuilding Tool = Options.ToolName, Command = args.ExtraProperties.ContainsKey(CliConsts.Command) ? args.ExtraProperties[CliConsts.Command] : "", DatabaseProvider = args.DatabaseProvider.ToProviderName(), - IsTiered = args.ExtraProperties.ContainsKey("tiered"), + IsTiered = args.ExtraProperties.ContainsKey(NewCommand.Options.Tiered.Long), UiFramework = args.UiFramework.ToFrameworkName(), Options = JsonSerializer.Serialize(options), ProjectName = args.SolutionName.FullName, From d5c0c8c278f0d54dea5add70c122b57d044980c8 Mon Sep 17 00:00:00 2001 From: Arkat Erol Date: Thu, 19 Mar 2020 17:54:20 +0300 Subject: [PATCH 13/55] preview npm publish version create changed --- npm/preview-publish.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/npm/preview-publish.ps1 b/npm/preview-publish.ps1 index 8f92022378..b1e5d8abe1 100644 --- a/npm/preview-publish.ps1 +++ b/npm/preview-publish.ps1 @@ -8,7 +8,7 @@ param( npm install -$NextVersion = $(node get-version.js) + '-preview' + (Get-Date).tostring("yyyyMMdd") +$NextVersion = $(node get-version.js) $rootFolder = (Get-Item -Path "./" -Verbose).FullName if(-Not $Version) { From 03acf984b08760f5d0b9b62cde2bae6229723b3f Mon Sep 17 00:00:00 2001 From: Galip Tolga Erdem Date: Thu, 19 Mar 2020 18:19:23 +0300 Subject: [PATCH 14/55] added tabls documentation --- docs/en/UI/AspNetCore/Tag-Helpers/Tabs.md | 93 +++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 docs/en/UI/AspNetCore/Tag-Helpers/Tabs.md diff --git a/docs/en/UI/AspNetCore/Tag-Helpers/Tabs.md b/docs/en/UI/AspNetCore/Tag-Helpers/Tabs.md new file mode 100644 index 0000000000..b6fc766753 --- /dev/null +++ b/docs/en/UI/AspNetCore/Tag-Helpers/Tabs.md @@ -0,0 +1,93 @@ +# Tabs + +## Introduction + +`abp-tab` is the basic tab navigation content container derived from bootstrap tab element. + +Basic usage: + +````xml + + + Content_Home + + + + Content_Profile + + + + Content_1_Content + + + Content_2_Content + + + +```` + + + +## Demo + +See the [cards demo page](https://bootstrap-taghelpers.abp.io/Components/Cards) to see it in action. + +## abp-tab Attributes + +- **title**: Sets the text of the tab menu. +- **name:** Sets "id" attribute of generated elements. Default value is a Guid. Not needed unless tabs are changed or modified with Jquery. +- **active**: Sets the active tab. + +Example: + +````xml + + + Content_Home + + + Content_Profile + + + Content_Contact + + +```` + +### Pills + +Example: + +````xml + + + Content_Home + + + Content_Profile + + + Content_Contact + + +```` + +### Vertical + +**vertical-header-size**: Sets the column width of tab headers. + +Example: + +````xml + + + Content_Home + + + Content_Profile + + + Content_Contact + + +```` From 36991b91223706ede49a0055458e229951d03694 Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Thu, 19 Mar 2020 19:10:33 +0300 Subject: [PATCH 15/55] fixes volosoft/volo#1559 --- .../Cli/ProjectBuilding/TemplateProjectBuilder.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs index 6d3fa4b7b8..924fdaf2c9 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/TemplateProjectBuilder.cs @@ -8,6 +8,7 @@ using Volo.Abp.Cli.Commands; using Volo.Abp.Cli.Licensing; using Volo.Abp.Cli.ProjectBuilding.Analyticses; using Volo.Abp.Cli.ProjectBuilding.Building; +using Volo.Abp.Cli.ProjectBuilding.Templates.App; using Volo.Abp.DependencyInjection; using Volo.Abp.Json; @@ -55,9 +56,16 @@ namespace Volo.Abp.Cli.ProjectBuilding ); var apiKeyResult = await ApiKeyService.GetApiKeyOrNullAsync(); - if (apiKeyResult?.ApiKey != null) + if (apiKeyResult != null) { - args.ExtraProperties["api-key"] = apiKeyResult.ApiKey; + if (apiKeyResult.ApiKey != null) + { + args.ExtraProperties["api-key"] = apiKeyResult.ApiKey; + } + else if (templateInfo.Name == AppProTemplate.TemplateName) + { + throw new UserFriendlyException(apiKeyResult.ErrorMessage); + } } if (apiKeyResult?.LicenseCode != null) From d934a7fc214f570f645bf5c95dc52ca073274208 Mon Sep 17 00:00:00 2001 From: Alper Ebicoglu Date: Thu, 19 Mar 2020 19:11:38 +0300 Subject: [PATCH 16/55] Refactor AbpIoSourceCodeStore --- .../ProjectBuilding/AbpIoSourceCodeStore.cs | 91 ++++++++++++------- 1 file changed, 56 insertions(+), 35 deletions(-) diff --git a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs index 263b675a2a..1ffdefbe61 100644 --- a/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs +++ b/framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/AbpIoSourceCodeStore.cs @@ -94,36 +94,48 @@ namespace Volo.Abp.Cli.ProjectBuilding private async Task GetLatestSourceCodeVersionAsync(string name, string type) { - using (var client = new CliHttpClient()) + var url = $"{CliUrls.WwwAbpIo}api/download/{type}/get-version/"; + + try { - var response = await client.PostAsync( - $"{CliUrls.WwwAbpIo}api/download/{type}/get-version/", - new StringContent( - JsonSerializer.Serialize( - new GetLatestSourceCodeVersionDto { Name = name } + using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) + { + var response = await client.PostAsync( + url, + new StringContent( + JsonSerializer.Serialize( + new GetLatestSourceCodeVersionDto { Name = name } + ), + Encoding.UTF8, + MimeTypes.Application.Json ), - Encoding.UTF8, - MimeTypes.Application.Json - ), - CancellationTokenProvider.Token - ); + CancellationTokenProvider.Token + ); - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(response); - var result = await response.Content.ReadAsStringAsync(); + var result = await response.Content.ReadAsStringAsync(); - return JsonSerializer.Deserialize(result).Version; + return JsonSerializer.Deserialize(result).Version; + } + } + catch (Exception ex) + { + Console.WriteLine("Error occured while getting the latest version from {0} : {1}", url, ex.Message); + throw; } } private async Task GetTemplateNugetVersionAsync(string name, string type, string version) { + var url = $"{CliUrls.WwwAbpIo}api/download/{type}/get-nuget-version/"; + try { using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) { var response = await client.PostAsync( - $"{CliUrls.WwwAbpIo}api/download/{type}/get-nuget-version/", + url, new StringContent( JsonSerializer.Serialize( new GetTemplateNugetVersionDto { Name = name, Version = version } @@ -141,40 +153,49 @@ namespace Volo.Abp.Cli.ProjectBuilding return JsonSerializer.Deserialize(result).Version; } } - catch (Exception) + catch (Exception ex) { + Console.WriteLine("Error occured while getting the NuGet version from {0} : {1}", url, ex.Message); return null; } } private async Task DownloadSourceCodeContentAsync(SourceCodeDownloadInputDto input) { - var postData = JsonSerializer.Serialize(input); + var url = $"{CliUrls.WwwAbpIo}api/download/{input.Type}/"; - using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) + try { - HttpResponseMessage responseMessage; - - if (input.TemplateSource.IsNullOrWhiteSpace()) - { - responseMessage = await client.PostAsync( - $"{CliUrls.WwwAbpIo}api/download/{input.Type}/", - new StringContent(postData, Encoding.UTF8, MimeTypes.Application.Json), - CancellationTokenProvider.Token - ); - } - else + using (var client = new CliHttpClient(TimeSpan.FromMinutes(10))) { - responseMessage = await client.GetAsync(input.TemplateSource, CancellationTokenProvider.Token); + HttpResponseMessage responseMessage; + + if (input.TemplateSource.IsNullOrWhiteSpace()) + { + responseMessage = await client.PostAsync( + url, + new StringContent(JsonSerializer.Serialize(input), Encoding.UTF8, MimeTypes.Application.Json), + CancellationTokenProvider.Token + ); + } + else + { + responseMessage = await client.GetAsync(input.TemplateSource, CancellationTokenProvider.Token); + } + + await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); + + return await responseMessage.Content.ReadAsByteArrayAsync(); } - - await RemoteServiceExceptionHandler.EnsureSuccessfulHttpResponseAsync(responseMessage); - - return await responseMessage.Content.ReadAsByteArrayAsync(); + } + catch (Exception ex) + { + Console.WriteLine("Error occured while downloading source-code from {0} : {1}", url, ex.Message); + throw; } } - private bool IsNetworkSource(string source) + private static bool IsNetworkSource(string source) { return source.ToLower().StartsWith("http"); } From a1bf9980d0a1e32dcf64a8f52c51b974c9f4d657 Mon Sep 17 00:00:00 2001 From: Arman Ozak Date: Thu, 19 Mar 2020 19:14:49 +0300 Subject: [PATCH 17/55] feat(core): add a utility service for easy TrackByFunction implementation --- .../core/src/lib/services/track-by.service.ts | 18 ++++++++++ .../src/lib/tests/track-by.service.spec.ts | 33 +++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 npm/ng-packs/packages/core/src/lib/services/track-by.service.ts create mode 100644 npm/ng-packs/packages/core/src/lib/tests/track-by.service.spec.ts diff --git a/npm/ng-packs/packages/core/src/lib/services/track-by.service.ts b/npm/ng-packs/packages/core/src/lib/services/track-by.service.ts new file mode 100644 index 0000000000..ca2b92db5f --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/services/track-by.service.ts @@ -0,0 +1,18 @@ +import { Injectable, TrackByFunction } from '@angular/core'; + +@Injectable({ + providedIn: 'root', +}) +export class TrackByService { + by(key: keyof T): TrackByFunction { + return ({}, item) => item[key]; + } + + byDeep(...keys: (string | number)[]): TrackByFunction { + return ({}, item) => keys.reduce((acc, key) => acc[key], item); + } + + bySelf(): TrackByFunction { + return ({}, item) => item; + } +} diff --git a/npm/ng-packs/packages/core/src/lib/tests/track-by.service.spec.ts b/npm/ng-packs/packages/core/src/lib/tests/track-by.service.spec.ts new file mode 100644 index 0000000000..19868e8ad5 --- /dev/null +++ b/npm/ng-packs/packages/core/src/lib/tests/track-by.service.spec.ts @@ -0,0 +1,33 @@ +import { TrackByService } from '../services/track-by.service'; + +describe('TrackByService', () => { + const service = new TrackByService(); + + describe('#by', () => { + it('should return a function which tracks a property', () => { + expect(service.by('x')(284, { x: 1036 })).toBe(1036); + }); + }); + + describe('#byDeep', () => { + it('should return a function which tracks a deeply-nested property', () => { + expect( + service.byDeep( + 'a', + 'b', + 'c', + 1, + 'x', + )(284, { + a: { b: { c: [{ x: 1035 }, { x: 1036 }, { x: 1037 }] } }, + }), + ).toBe(1036); + }); + }); + + describe('#bySelf', () => { + it('should return a function which tracks the item', () => { + expect(service.bySelf()(284, 'X')).toBe('X'); + }); + }); +}); From 5ff6a7e1b70878268868f974d33e43f00bdd0692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 19 Mar 2020 19:21:30 +0300 Subject: [PATCH 18/55] Added blog post: ABP Framework v2.3.0 Has Been Released --- .../2020-03-19 v2_3_Release/Post.md | 142 ++++++++++++++++++ .../2020-03-19 v2_3_Release/mobile-ui.png | Bin 0 -> 56841 bytes 2 files changed, 142 insertions(+) create mode 100644 docs/en/Blog-Posts/2020-03-19 v2_3_Release/Post.md create mode 100644 docs/en/Blog-Posts/2020-03-19 v2_3_Release/mobile-ui.png diff --git a/docs/en/Blog-Posts/2020-03-19 v2_3_Release/Post.md b/docs/en/Blog-Posts/2020-03-19 v2_3_Release/Post.md new file mode 100644 index 0000000000..a1d1623988 --- /dev/null +++ b/docs/en/Blog-Posts/2020-03-19 v2_3_Release/Post.md @@ -0,0 +1,142 @@ +# ABP Framework v2.3.0 Has Been Released + +In the days of **coronavirus**, we have a good news: We've released **ABP Framework v2.3** and this post will explain **what's new** with this release and **what we've done** in the last two weeks. + +## About the Coronavirus & Our Team + +**We are very sad** about the coronavirus case. As [Volosoft](https://volosoft.com/) team, we have **remote workers** working in their home in different countries. Beginning from the last week, we've **completely started to work remotely** from home including our main office employees. + +We believe in and pray for that the World will overcome this issue in a short time. + +## About the Release Cycle + +Beginning from the ABP v2.1.0, we have started to release feature versions once **in two weeks**, on Thursdays. This is the 3rd release after that decision and we see that it works fine for now and improved our agility. + +We will continue to release **feature versions** (like v2.4, v2.5) in every two weeks. In addition, we may release **hotfix versions** (like v2.3.1, v2.3.2) whenever needed. + +## What's New in ABP Framework v2.3.0 + +We've completed & merged **[104](https://github.com/abpframework/abp/milestone/30?closed=1) issues and pull requests** with **393 commits** in this two weeks development period. + +I will introduce some new features and enhancements introduced with this release. + +### React Native Mobile Application + +We have finally completed the **react native mobile application**. It currently allows you to **login**, manage your **users** and **tenants**. It utilizes the same setting, authorization and localization systems of the ABP Framework. + +A few screenshots from the application: + +![mobile-ui](mobile-ui.png) + +It doesn't have much functionality but it is a **perfect starting point** for your own mobile application since it is completely integrated to the backend. + +### Angular TypeScript Proxy Generator + +It is common to call a REST endpoint in the server from our Angular applications. In this case, we generally create **services** (those have methods for each service method on he server side) and **model objects** (matches to [DTOs](https://docs.abp.io/en/abp/latest/Data-Transfer-Objects) in the server side). + +In addition to manually creating such server-interacting services, we could use tools like [NSWAG](https://github.com/RicoSuter/NSwag) to generate service proxies for us. But NSWAG has the following problems we've experienced: + +* It generates a **big, single** .ts file which has some problems; + * It get **too large** when your application grows. + * It doesn't fit into the **[modular](https://docs.abp.io/en/abp/latest/Module-Development-Basics) approach** of the ABP framework. +* It creates a bit **ugly code**. We want to have a clean code (just like if we write manually). +* It can not generate the same **method signature** declared in the server side (because swagger.json doesn't exactly reflect the method signature of the backend service). We've created an endpoint that exposes server side method contacts to allow clients generate a better aligned client proxies. + +So, we've decided to create an ABP CLI command to automatically generate the typescript client proxies ([#2222](https://github.com/abpframework/abp/issues/2222)) for your REST API developed with the ABP Framework. + +It is easy to use. Just run the following command in the **root folder** of the angular application: + +````bash +abp generate-proxy +```` + +It only creates proxies only for your own application's services. It doesn't create proxies for the services of the application modules you're using (by default). There are several options. See the [CLI documentation](https://docs.abp.io/en/abp/latest/CLI). + +### CRUD Application Services for Entities with Composite Keys + +` CrudAppService ` is a useful base class to create CRUD application services for your entities. But it doesn't support entities with **composite primary keys**. `AbstractKeyCrudAppService` is the new base class that is developed to support entities with composite primary keys. See [the documentation](https://docs.abp.io/en/abp/latest/Application-Services#abstractkeycrudappservice) for more. + +### Add Source Code of the Modules + +The application startup template comes with some [application modules](https://docs.abp.io/en/abp/latest/Modules/Index) **pre-installed** as **NuGet & NPM packages**. This have a few important advantages: + +* You can **easily [upgrade](https://docs.abp.io/en/abp/latest/CLI#update)** these modules when a new version is available. +* Your solution becomes **cleaner**, so you can focus on your own code. + +However, when you need to make **major customizations** for a depended module, it is not easy as its source code is in your applications. To solve this problem, we've introduces a new command to the [ABP CLI](https://docs.abp.io/en/abp/latest/CLI) that **replaces** NuGet packages with their **source code** in your solution. The usage is simple: + +````bash +abp add-module --with-source-code +```` + +This command adds a module with source code or replaces with its source code if it is already added as package references. + +> It is suggested to **save your changes** to your source control system before using this command since it makes a lot of changes in your source code. + +In addition, we've documented how to customize depended modules without changing their source code (see the section below). It is suggested to use modules as packages to easily upgrade them in the future. + +> Source code of the free modules are licensed under **MIT**, so you can freely change them and add into your solution. + +### Switch to Preview + +ABP Framework is rapidly evolving and we are frequently releasing new versions. However, if you want to follow it closer, you can use the **daily preview packages**. + +We've created an ABP CLI command to easily **update to the latest preview packages** for your solution. Run the following command in the root folder of your solution: + +````bash +abp switch-to-preview +```` + +It will change the versions of all ABP related NuGet and NPM packages. You can **switch back to the latest stable** when you want: + +````bash +abp switch-to-stable +```` + +See the [ABP CLI document](https://docs.abp.io/en/abp/latest/CLI#switch-to-preview) fore more. + +### Documentation Improvements + +#### Extending/Customizing Depended Application Modules + +We've created a huge documentation that explains how to customize a depended module without changing its source code. See [the documentation](https://docs.abp.io/en/abp/latest/Customizing-Application-Modules-Guide). + +In addition to the documentation, we've revised all the modules ([#3166](https://github.com/abpframework/abp/issues/3166)) to make their services easily extensible & customizable. + +#### EF Core Migration Guide + +We've recently created a guide to explain the migration system that is used by the ABP startup templates. [This guide](https://docs.abp.io/en/abp/latest/Entity-Framework-Core-Migrations) also explains how to customize the migration structure, split your modules across multiple databases, reusing a module's table and son on. + +#### Migration from the ASP.NET Boilerplate + +If you have a solution built on the ASP.NET Boilerplate, we've [created a guide](https://docs.abp.io/en/abp/latest/AspNet-Boilerplate-Migration-Guide) that tries to help you if you want to migrate your solution to the new ABP Framework. + +### Some Other Features + +#### The Framework + +* Add `IRepository.GetAsync` and `IRepository.FindAsync` methods ([#3184](https://github.com/abpframework/abp/issues/3148)). + +#### Modules + +* Get password & email address of the admin while creating a new tenant, for the tenant management module ([#3088](https://github.com/abpframework/abp/issues/3088)). +* Elastic search integrated full text search for the docs module ([#2901](https://github.com/abpframework/abp/pull/2901)). +* New Quartz background worker module ([#2762](https://github.com/abpframework/abp/issues/2762)) + +#### Samples + +* Add multi-tenancy support to the microservice demo ([#3032](https://github.com/abpframework/abp/pull/3032)). + +See [the release notes](https://github.com/abpframework/abp/releases/tag/2.3.0) for all feature, enhancement and bugfixes. + +## What's Next? + +We have the following goals for the next few months: + +* Complete the documentation and samples, write more tutorials. +* Make the framework and existing modules more customizable and extensible. +* Integrate to gRPC & implement gRPC endpoint for pre-built modules ([#2882](https://github.com/abpframework/abp/issues/2882)). +* Create a Blazor UI for the ABP Framework & implement it for all the modules and startup templates ([#394](https://github.com/abpframework/abp/issues/394)). +* Add new features to pre-built modules and create new modules for the [ABP Commercial](https://commercial.abp.io/). + +See [the GitHub milestones](https://github.com/abpframework/abp/milestones) for details. \ No newline at end of file diff --git a/docs/en/Blog-Posts/2020-03-19 v2_3_Release/mobile-ui.png b/docs/en/Blog-Posts/2020-03-19 v2_3_Release/mobile-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..ba16f6af1d45eef3e161d331dd45ba47a62f055e GIT binary patch literal 56841 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 Date: Thu, 19 Mar 2020 19:33:12 +0300 Subject: [PATCH 19/55] Update CLI.md --- docs/en/CLI.md | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/en/CLI.md b/docs/en/CLI.md index 837ba26a11..2b4864efc7 100644 --- a/docs/en/CLI.md +++ b/docs/en/CLI.md @@ -22,7 +22,7 @@ dotnet tool update -g Volo.Abp.Cli Generates a new solution based on the ABP [startup templates](Startup-Templates/Index.md). -Basic usage: +Usage: ````bash abp new [options] @@ -94,7 +94,7 @@ Adds a [multi-package application module](Modules/Index) to a solution by findin > A business module generally consists of several packages (because of layering, different database provider options or other reasons). Using `add-module` command dramatically simplifies adding a module to a solution. However, each module may require some additional configurations which is generally indicated in the documentation of the related module. -Basic usage: +Usage ````bash abp add-module [options] @@ -180,26 +180,26 @@ abp logout ### generate-proxy -Generates typescript service proxies and DTOs +Generates client proxies for your HTTP APIs to make easy to consume your services from the client side. -Basic usage: +Usage: ````bash abp generate-proxy [options] ```` -Example: +#### Options + +* `--apiUrl` or `-a`: Specifies the root URL of the HTTP API. The default value is retrieved from the `environment.ts` file for an Angular application. +* `--ui` or `-u`: Specifies the UI framework. Default value is `angular` and it is the only UI framework supported for now. Creates TypeScript code. +* `--module` or `-m`: Specifies the module name. Default module name is `app`, which indicates your own application (you typically want this since every module is responsible to maintain its own client proxies). Set `all` for to generate proxies for all the modules. + +Example usage with the options: ````bash abp generate-proxy --apiUrl https://localhost:44305 --ui angular --module all ```` -#### Options - -* `--apiUrl` or `-a`: If you don't give this option, the default api url in your environment.ts file is used, but you can always use a specific api source with this option. -* `--ui` or `-u`: Specifies the UI framework. Default framework is angular. Currently there is only angular option, but we will increase the options with our new cli updates. Stay tuned! -* `--module` or `-m`: Specifies the module name. Default module name is app. If you want to all modules. You can give `--module all` command. - ### help From d8f8589a051dea1920b7ca2f415d6a21e5e0f4ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 19:42:37 +0300 Subject: [PATCH 20/55] etos' implemented --- .../Volo.Blogging.Domain.csproj | 1 + .../Blogging/BloggingDomainMappingProfile.cs | 19 ++++++++++++ .../Volo/Blogging/BloggingDomainModule.cs | 16 +++++++++- .../Volo/Blogging/Blogs/BlogEto.cs | 19 ++++++++++++ .../Volo/Blogging/Comments/CommentEto.cs | 15 ++++++++++ .../Volo/Blogging/Posts/PostEto.cs | 29 +++++++++++++++++++ .../Volo/Blogging/Tagging/TagEto.cs | 19 ++++++++++++ 7 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappingProfile.cs create mode 100644 modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/BlogEto.cs create mode 100644 modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/CommentEto.cs create mode 100644 modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/PostEto.cs create mode 100644 modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/TagEto.cs diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.csproj b/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.csproj index a7cbc2c7c6..73cf0498c5 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.csproj +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo.Blogging.Domain.csproj @@ -13,6 +13,7 @@ + diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappingProfile.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappingProfile.cs new file mode 100644 index 0000000000..da36b39049 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainMappingProfile.cs @@ -0,0 +1,19 @@ +using AutoMapper; +using Volo.Blogging.Blogs; +using Volo.Blogging.Comments; +using Volo.Blogging.Posts; +using Volo.Blogging.Tagging; + +namespace Volo.Blogging +{ + public class BloggingDomainMappingProfile : Profile + { + public BloggingDomainMappingProfile() + { + CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); + } + } +} \ No newline at end of file diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs index 4690546a7e..5a853cf894 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs @@ -1,5 +1,10 @@ using Volo.Abp.Domain; +using Volo.Abp.EventBus.Distributed; using Volo.Abp.Modularity; +using Volo.Blogging.Blogs; +using Volo.Blogging.Comments; +using Volo.Blogging.Posts; +using Volo.Blogging.Tagging; namespace Volo.Blogging { @@ -8,6 +13,15 @@ namespace Volo.Blogging typeof(AbpDddDomainModule))] public class BloggingDomainModule : AbpModule { - + public override void ConfigureServices(ServiceConfigurationContext context) + { + Configure(options => + { + options.EtoMappings.Add(); + options.EtoMappings.Add(); + options.EtoMappings.Add(); + options.EtoMappings.Add(); + }); + } } } diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/BlogEto.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/BlogEto.cs new file mode 100644 index 0000000000..3fb3af4e08 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/BlogEto.cs @@ -0,0 +1,19 @@ +using System; +using JetBrains.Annotations; + +namespace Volo.Blogging.Blogs +{ + public class BlogEto + { + public Guid Id { get; set; } + + [NotNull] + public string Name { get; set; } + + [NotNull] + public string ShortName { get; set; } + + [CanBeNull] + public string Description { get; set; } + } +} \ No newline at end of file diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/CommentEto.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/CommentEto.cs new file mode 100644 index 0000000000..fff54780be --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/CommentEto.cs @@ -0,0 +1,15 @@ +using System; + +namespace Volo.Blogging.Comments +{ + public class CommentEto + { + public Guid Id { get; set; } + + public Guid PostId { get; set; } + + public Guid? RepliedCommentId { get; set; } + + public string Text { get; set; } + } +} \ No newline at end of file diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/PostEto.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/PostEto.cs new file mode 100644 index 0000000000..d3ef0d0f76 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/PostEto.cs @@ -0,0 +1,29 @@ +using JetBrains.Annotations; +using System; +using System.Collections.Generic; + +namespace Volo.Blogging.Posts +{ + public class PostEto + { + public Guid Id { get; set; } + + public Guid BlogId { get; set; } + + [NotNull] + public string Url { get; set; } + + [NotNull] + public string CoverImage { get; set; } + + [NotNull] + public string Title { get; set; } + + [CanBeNull] + public string Content { get; set; } + + public int ReadCount { get; set; } + + public ICollection Tags { get; set; } + } +} \ No newline at end of file diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/TagEto.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/TagEto.cs new file mode 100644 index 0000000000..3a83631885 --- /dev/null +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/TagEto.cs @@ -0,0 +1,19 @@ +using System; +using JetBrains.Annotations; + +namespace Volo.Blogging.Tagging +{ + public class TagEto + { + public Guid Id { get; set; } + + public Guid BlogId { get; set; } + + [NotNull] + public string Name { get; set; } + + public string Description { get; set; } + + public int UsageCount { get; set; } + } +} \ No newline at end of file From 7c8166ce379f24d02c8c792be2f595717bd6fca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 19:49:47 +0300 Subject: [PATCH 21/55] Update BloggingDomainModule.cs --- .../Volo/Blogging/BloggingDomainModule.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs index 5a853cf894..81c3cd3a3c 100644 --- a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs +++ b/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/BloggingDomainModule.cs @@ -1,4 +1,5 @@ -using Volo.Abp.Domain; +using Volo.Abp.AutoMapper; +using Volo.Abp.Domain; using Volo.Abp.EventBus.Distributed; using Volo.Abp.Modularity; using Volo.Blogging.Blogs; @@ -22,6 +23,11 @@ namespace Volo.Blogging options.EtoMappings.Add(); options.EtoMappings.Add(); }); + + Configure(options => + { + options.AddProfile(validate: true); + }); } } } From 47fb18c19871d849d3aace070cdabeb45d0fa3f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 19:56:40 +0300 Subject: [PATCH 22/55] put files in correct place --- .../Volo/Blogging/Blogs/BlogEto.cs | 0 .../Volo/Blogging/Comments/CommentEto.cs | 0 .../Volo/Blogging/Posts/PostEto.cs | 0 .../Volo/Blogging/Tagging/TagEto.cs | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename modules/blogging/src/{Volo.Blogging.Domain => Volo.Blogging.Domain.Shared}/Volo/Blogging/Blogs/BlogEto.cs (100%) rename modules/blogging/src/{Volo.Blogging.Domain => Volo.Blogging.Domain.Shared}/Volo/Blogging/Comments/CommentEto.cs (100%) rename modules/blogging/src/{Volo.Blogging.Domain => Volo.Blogging.Domain.Shared}/Volo/Blogging/Posts/PostEto.cs (100%) rename modules/blogging/src/{Volo.Blogging.Domain => Volo.Blogging.Domain.Shared}/Volo/Blogging/Tagging/TagEto.cs (100%) diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/BlogEto.cs b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Blogs/BlogEto.cs similarity index 100% rename from modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Blogs/BlogEto.cs rename to modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Blogs/BlogEto.cs diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/CommentEto.cs b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Comments/CommentEto.cs similarity index 100% rename from modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Comments/CommentEto.cs rename to modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Comments/CommentEto.cs diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/PostEto.cs b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostEto.cs similarity index 100% rename from modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Posts/PostEto.cs rename to modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostEto.cs diff --git a/modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/TagEto.cs b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Tagging/TagEto.cs similarity index 100% rename from modules/blogging/src/Volo.Blogging.Domain/Volo/Blogging/Tagging/TagEto.cs rename to modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Tagging/TagEto.cs From d56e1613b592c8b3da63f34fef737780e9336160 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 19:58:30 +0300 Subject: [PATCH 23/55] Update PostEto.cs --- .../Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostEto.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostEto.cs b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostEto.cs index d3ef0d0f76..d01293b025 100644 --- a/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostEto.cs +++ b/modules/blogging/src/Volo.Blogging.Domain.Shared/Volo/Blogging/Posts/PostEto.cs @@ -1,6 +1,7 @@ using JetBrains.Annotations; using System; using System.Collections.Generic; +using Volo.Blogging.Tagging; namespace Volo.Blogging.Posts { @@ -24,6 +25,6 @@ namespace Volo.Blogging.Posts public int ReadCount { get; set; } - public ICollection Tags { get; set; } + public ICollection Tags { get; set; } } } \ No newline at end of file From a438ba61745ece5d75d9be33132b6dbf8e031d45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 20:15:59 +0300 Subject: [PATCH 24/55] etos' added --- .../Volo/Docs/Documents/DocumentEto.cs | 40 +++++++++++++++++++ .../Volo/Docs/Projects/ProjectEto.cs | 29 ++++++++++++++ .../Volo.Docs.Domain/Volo.Docs.Domain.csproj | 1 + .../Volo/Docs/DocsDomainMappingProfile.cs | 15 +++++++ .../Volo/Docs/DocsDomainModule.cs | 15 +++++++ 5 files changed, 100 insertions(+) create mode 100644 modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs create mode 100644 modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs create mode 100644 modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs 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..342ad59bcb --- /dev/null +++ b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; + +namespace Volo.Docs.Documents +{ + 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..110e497b43 --- /dev/null +++ b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs @@ -0,0 +1,29 @@ +using System; + +namespace Volo.Docs.Projects +{ + 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 c2540754a3..3fc2eafb9d 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..f392ca8875 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,6 +14,7 @@ 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 { @@ -23,6 +26,18 @@ namespace Volo.Docs { public override void ConfigureServices(ServiceConfigurationContext context) { + Configure(options => + { + options.EtoMappings.Add(); + options.EtoMappings.Add(); + }); + + + Configure(options => + { + options.AddProfile(validate: true); + }); + Configure(options => { options.FileSets From 08f89512538ff49a0cb13e9b916874f38d7d2be5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 20:17:40 +0300 Subject: [PATCH 25/55] Revert "etos' added" This reverts commit a438ba61745ece5d75d9be33132b6dbf8e031d45. --- .../Volo/Docs/Documents/DocumentEto.cs | 40 ------------------- .../Volo/Docs/Projects/ProjectEto.cs | 29 -------------- .../Volo.Docs.Domain/Volo.Docs.Domain.csproj | 1 - .../Volo/Docs/DocsDomainMappingProfile.cs | 15 ------- .../Volo/Docs/DocsDomainModule.cs | 15 ------- 5 files changed, 100 deletions(-) delete mode 100644 modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs delete mode 100644 modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs delete mode 100644 modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs 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 deleted file mode 100644 index 342ad59bcb..0000000000 --- a/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs +++ /dev/null @@ -1,40 +0,0 @@ -using System; -using System.Collections.Generic; - -namespace Volo.Docs.Documents -{ - 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 deleted file mode 100644 index 110e497b43..0000000000 --- a/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; - -namespace Volo.Docs.Projects -{ - 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 3fc2eafb9d..c2540754a3 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj +++ b/modules/docs/src/Volo.Docs.Domain/Volo.Docs.Domain.csproj @@ -25,7 +25,6 @@ - diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs deleted file mode 100644 index 74f7224ea6..0000000000 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs +++ /dev/null @@ -1,15 +0,0 @@ -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 f392ca8875..ba2ee6018d 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainModule.cs @@ -2,9 +2,7 @@ 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; @@ -14,7 +12,6 @@ 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 { @@ -26,18 +23,6 @@ namespace Volo.Docs { public override void ConfigureServices(ServiceConfigurationContext context) { - Configure(options => - { - options.EtoMappings.Add(); - options.EtoMappings.Add(); - }); - - - Configure(options => - { - options.AddProfile(validate: true); - }); - Configure(options => { options.FileSets From 0fce3b672ea557d2477ef29c64b3ea888b98cabb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=87otur?= Date: Thu, 19 Mar 2020 20:18:40 +0300 Subject: [PATCH 26/55] etos' added --- .../Volo/Docs/Documents/DocumentEto.cs | 40 +++++++++++++++++++ .../Volo/Docs/Projects/ProjectEto.cs | 29 ++++++++++++++ .../Volo.Docs.Domain/Volo.Docs.Domain.csproj | 1 + .../Volo/Docs/DocsDomainMappingProfile.cs | 15 +++++++ .../Volo/Docs/DocsDomainModule.cs | 15 +++++++ 5 files changed, 100 insertions(+) create mode 100644 modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs create mode 100644 modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs create mode 100644 modules/docs/src/Volo.Docs.Domain/Volo/Docs/DocsDomainMappingProfile.cs 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..342ad59bcb --- /dev/null +++ b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Documents/DocumentEto.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; + +namespace Volo.Docs.Documents +{ + 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..110e497b43 --- /dev/null +++ b/modules/docs/src/Volo.Docs.Domain.Shared/Volo/Docs/Projects/ProjectEto.cs @@ -0,0 +1,29 @@ +using System; + +namespace Volo.Docs.Projects +{ + 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 c2540754a3..3fc2eafb9d 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..f392ca8875 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,6 +14,7 @@ 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 { @@ -23,6 +26,18 @@ namespace Volo.Docs { public override void ConfigureServices(ServiceConfigurationContext context) { + Configure(options => + { + options.EtoMappings.Add(); + options.EtoMappings.Add(); + }); + + + Configure(options => + { + options.AddProfile(validate: true); + }); + Configure(options => { options.FileSets From 7855d8ed2ac0bf7d117b1197ce278ffddc68cb73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Thu, 19 Mar 2020 21:12:55 +0300 Subject: [PATCH 27/55] Update the blog post --- .../2020-03-19 v2_3_Release/Post.md | 20 +++++++++--------- .../2020-03-19 v2_3_Release/mobile-ui.png | Bin 56841 -> 0 bytes .../react-native-ui.png | Bin 0 -> 183395 bytes 3 files changed, 10 insertions(+), 10 deletions(-) delete mode 100644 docs/en/Blog-Posts/2020-03-19 v2_3_Release/mobile-ui.png create mode 100644 docs/en/Blog-Posts/2020-03-19 v2_3_Release/react-native-ui.png diff --git a/docs/en/Blog-Posts/2020-03-19 v2_3_Release/Post.md b/docs/en/Blog-Posts/2020-03-19 v2_3_Release/Post.md index a1d1623988..dd081f38e5 100644 --- a/docs/en/Blog-Posts/2020-03-19 v2_3_Release/Post.md +++ b/docs/en/Blog-Posts/2020-03-19 v2_3_Release/Post.md @@ -1,12 +1,12 @@ -# ABP Framework v2.3.0 Has Been Released +# ABP Framework v2.3.0 Has Been Released! -In the days of **coronavirus**, we have a good news: We've released **ABP Framework v2.3** and this post will explain **what's new** with this release and **what we've done** in the last two weeks. +In the days of **coronavirus**, we have released **ABP Framework v2.3** and this post will explain **what's new** with this release and **what we've done** in the last two weeks. ## About the Coronavirus & Our Team **We are very sad** about the coronavirus case. As [Volosoft](https://volosoft.com/) team, we have **remote workers** working in their home in different countries. Beginning from the last week, we've **completely started to work remotely** from home including our main office employees. -We believe in and pray for that the World will overcome this issue in a short time. +We believe in and pray for that the humanity will overcome this issue in a short time. ## About the Release Cycle @@ -26,9 +26,9 @@ We have finally completed the **react native mobile application**. It currently A few screenshots from the application: -![mobile-ui](mobile-ui.png) +![mobile-ui](react-native-ui.png) -It doesn't have much functionality but it is a **perfect starting point** for your own mobile application since it is completely integrated to the backend. +It doesn't have much functionality but it is a **perfect starting point** for your own mobile application since it is completely integrated to the backend and supports multi-tenancy. ### Angular TypeScript Proxy Generator @@ -133,10 +133,10 @@ See [the release notes](https://github.com/abpframework/abp/releases/tag/2.3.0) We have the following goals for the next few months: -* Complete the documentation and samples, write more tutorials. -* Make the framework and existing modules more customizable and extensible. -* Integrate to gRPC & implement gRPC endpoint for pre-built modules ([#2882](https://github.com/abpframework/abp/issues/2882)). -* Create a Blazor UI for the ABP Framework & implement it for all the modules and startup templates ([#394](https://github.com/abpframework/abp/issues/394)). -* Add new features to pre-built modules and create new modules for the [ABP Commercial](https://commercial.abp.io/). +* Complete the **documentation and samples**, write more tutorials. +* Make the framework and existing modules more **customizable and extensible**. +* Integrate to **gRPC** & implement gRPC endpoint for pre-built modules ([#2882](https://github.com/abpframework/abp/issues/2882)). +* Create a **Blazor UI** for the ABP Framework & implement it for all the modules and startup templates ([#394](https://github.com/abpframework/abp/issues/394)). +* Add **new features** to pre-built modules and create new modules for the [ABP Commercial](https://commercial.abp.io/). See [the GitHub milestones](https://github.com/abpframework/abp/milestones) for details. \ No newline at end of file diff --git a/docs/en/Blog-Posts/2020-03-19 v2_3_Release/mobile-ui.png b/docs/en/Blog-Posts/2020-03-19 v2_3_Release/mobile-ui.png deleted file mode 100644 index ba16f6af1d45eef3e161d331dd45ba47a62f055e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 56841 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≻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