From 6d18519653f370b55655d0a9c11c7185d5554803 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 26 Aug 2024 15:29:36 +0800 Subject: [PATCH 01/29] Upgrade `datatables.net` to `2.1.x`. Resolve #20546 --- npm/packs/datatables.net-bs5/package.json | 2 +- npm/packs/datatables.net/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/npm/packs/datatables.net-bs5/package.json b/npm/packs/datatables.net-bs5/package.json index 98ea97556a..dfdf30e3df 100644 --- a/npm/packs/datatables.net-bs5/package.json +++ b/npm/packs/datatables.net-bs5/package.json @@ -6,7 +6,7 @@ }, "dependencies": { "@abp/datatables.net": "~8.3.0-rc.2", - "datatables.net-bs5": "^2.0.8" + "datatables.net-bs5": "^2.1.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", diff --git a/npm/packs/datatables.net/package.json b/npm/packs/datatables.net/package.json index 443ea6b6af..cf747021a0 100644 --- a/npm/packs/datatables.net/package.json +++ b/npm/packs/datatables.net/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@abp/jquery": "~8.3.0-rc.2", - "datatables.net": "^2.0.8" + "datatables.net": "^2.1.4" }, "gitHead": "bb4ea17d5996f01889134c138d00b6c8f858a431", "homepage": "https://abp.io", From 07fd8906f1d7f4e15a8562dabb212bbdcb06edc2 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 29 Aug 2024 09:33:32 +0800 Subject: [PATCH 02/29] Remove audit properties from `OpenIddictAuthorization and `OpenIddictToken`. Resolve #20657 --- ....cs => 20240829013142_Initial.Designer.cs} | 64 +------------------ ...3_Initial.cs => 20240829013142_Initial.cs} | 18 +----- .../ServerDbContextModelSnapshot.cs | 62 +----------------- .../Authorizations/OpenIddictAuthorization.cs | 4 +- .../Abp/OpenIddict/Tokens/OpenIddictToken.cs | 4 +- 5 files changed, 9 insertions(+), 143 deletions(-) rename modules/openiddict/app/OpenIddict.Demo.Server/Migrations/{20240427010513_Initial.Designer.cs => 20240829013142_Initial.Designer.cs} (95%) rename modules/openiddict/app/OpenIddict.Demo.Server/Migrations/{20240427010513_Initial.cs => 20240829013142_Initial.cs} (97%) diff --git a/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240427010513_Initial.Designer.cs b/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240829013142_Initial.Designer.cs similarity index 95% rename from modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240427010513_Initial.Designer.cs rename to modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240829013142_Initial.Designer.cs index dfea4e41ba..158f345fbe 100644 --- a/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240427010513_Initial.Designer.cs +++ b/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240829013142_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace OpenIddict.Demo.Server.Migrations { [DbContext(typeof(ServerDbContext))] - [Migration("20240427010513_Initial")] + [Migration("20240829013142_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace OpenIddict.Demo.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -990,41 +990,11 @@ namespace OpenIddict.Demo.Server.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1149,22 +1119,6 @@ namespace OpenIddict.Demo.Server.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1173,20 +1127,6 @@ namespace OpenIddict.Demo.Server.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240427010513_Initial.cs b/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240829013142_Initial.cs similarity index 97% rename from modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240427010513_Initial.cs rename to modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240829013142_Initial.cs index dabfc5ffa3..537745685f 100644 --- a/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240427010513_Initial.cs +++ b/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/20240829013142_Initial.cs @@ -614,14 +614,7 @@ namespace OpenIddict.Demo.Server.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { @@ -650,14 +643,7 @@ namespace OpenIddict.Demo.Server.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/ServerDbContextModelSnapshot.cs b/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/ServerDbContextModelSnapshot.cs index a2be3405db..bdbb1fca9b 100644 --- a/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/ServerDbContextModelSnapshot.cs +++ b/modules/openiddict/app/OpenIddict.Demo.Server/Migrations/ServerDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace OpenIddict.Demo.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -987,41 +987,11 @@ namespace OpenIddict.Demo.Server.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1146,22 +1116,6 @@ namespace OpenIddict.Demo.Server.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1170,20 +1124,6 @@ namespace OpenIddict.Demo.Server.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Authorizations/OpenIddictAuthorization.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Authorizations/OpenIddictAuthorization.cs index 76ea7d5d51..25870174ff 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Authorizations/OpenIddictAuthorization.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Authorizations/OpenIddictAuthorization.cs @@ -1,10 +1,10 @@ using System; -using Volo.Abp.Domain.Entities.Auditing; +using Volo.Abp.Domain.Entities; using Volo.Abp.Timing; namespace Volo.Abp.OpenIddict.Authorizations; -public class OpenIddictAuthorization : FullAuditedAggregateRoot +public class OpenIddictAuthorization : AggregateRoot { public OpenIddictAuthorization() { diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Tokens/OpenIddictToken.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Tokens/OpenIddictToken.cs index 76d76c4bfc..e08bd4dc23 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Tokens/OpenIddictToken.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Tokens/OpenIddictToken.cs @@ -1,10 +1,10 @@ using System; -using Volo.Abp.Domain.Entities.Auditing; +using Volo.Abp.Domain.Entities; using Volo.Abp.Timing; namespace Volo.Abp.OpenIddict.Tokens; -public class OpenIddictToken : FullAuditedAggregateRoot +public class OpenIddictToken : AggregateRoot { public OpenIddictToken() { From 64e744d770806861490ea5877286e62d26857a57 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 29 Aug 2024 10:24:46 +0800 Subject: [PATCH 03/29] Fix unit test. --- .../Tokens/AbpOpenIddictTokenStore.cs | 2 +- .../Tokens/AbpOpenIddictTokenStore_Tests.cs | 29 ++++++++++--------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Tokens/AbpOpenIddictTokenStore.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Tokens/AbpOpenIddictTokenStore.cs index c8d1f0895c..7e2bf3dff3 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Tokens/AbpOpenIddictTokenStore.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.Domain/Volo/Abp/OpenIddict/Tokens/AbpOpenIddictTokenStore.cs @@ -63,7 +63,7 @@ public class AbpOpenIddictTokenStore : AbpOpenIddictStoreBase>(); _testData = ServiceProvider.GetRequiredService(); } - + [Fact] public async Task CountAsync() { @@ -30,18 +30,18 @@ public class AbpOpenIddictTokenStore_Tests : OpenIddictDomainTestBase [Fact] public async Task CreateAsync() { - await _tokenStore.CreateAsync(new OpenIddictTokenModel + await _tokenStore.CreateAsync(new OpenIddictTokenModel { ApplicationId = _testData.App1Id, Payload = "TestPayload3", Subject = "TestSubject3", Type = "TestType3", Status = OpenIddictConstants.Statuses.Inactive, - + }, CancellationToken.None); var tokens = await _tokenStore.FindBySubjectAsync("TestSubject3", CancellationToken.None).ToListAsync(); - + tokens.Count.ShouldBe(1); var token = tokens.First(); token.ApplicationId.ShouldBe(_testData.App1Id); @@ -50,11 +50,12 @@ public class AbpOpenIddictTokenStore_Tests : OpenIddictDomainTestBase token.Type.ShouldBe("TestType3"); token.Status.ShouldBe(OpenIddictConstants.Statuses.Inactive); } - + [Fact] public async Task DeleteAsync() { var token = await _tokenStore.FindByIdAsync(_testData.Token1Id.ToString(), CancellationToken.None); + token.ShouldNotBeNull(); await _tokenStore.DeleteAsync(token, CancellationToken.None); token = await _tokenStore.FindByIdAsync(_testData.Token1Id.ToString(), CancellationToken.None); @@ -65,15 +66,15 @@ public class AbpOpenIddictTokenStore_Tests : OpenIddictDomainTestBase public async Task FindAsync_Should_Return_Empty_If_Not_Found() { var tokens = await _tokenStore.FindAsync("non_existing_subject", _testData.App1Id.ToString(), "non_existing_status", "non_existing_type", CancellationToken.None).ToListAsync(); - + tokens.Count.ShouldBe(0); } - + [Fact] public async Task FindAsync_Should_Return_Tokens_If_Found() { var tokens = await _tokenStore.FindAsync("TestSubject1", _testData.App1Id.ToString(),OpenIddictConstants.Statuses.Redeemed, "TestType1", CancellationToken.None).ToListAsync(); - + tokens.Count.ShouldBe(1); } @@ -81,15 +82,15 @@ public class AbpOpenIddictTokenStore_Tests : OpenIddictDomainTestBase public async Task FindByApplicationIdAsync_Should_Return_Empty_If_Not_Found() { var tokens = await _tokenStore.FindByApplicationIdAsync(Guid.NewGuid().ToString(), CancellationToken.None).ToListAsync(); - + tokens.Count.ShouldBe(0); } - + [Fact] public async Task FindByApplicationIdAsync_Should_Return_Tokens_If_Found() { var tokens = await _tokenStore.FindByApplicationIdAsync(_testData.App1Id.ToString(), CancellationToken.None).ToListAsync(); - + tokens.Count.ShouldBe(1); } @@ -121,7 +122,7 @@ public class AbpOpenIddictTokenStore_Tests : OpenIddictDomainTestBase var token = await _tokenStore.FindByReferenceIdAsync(Guid.NewGuid().ToString(), CancellationToken.None); token.ShouldBeNull(); } - + [Fact] public async Task FindByReferenceIdAsync_Should_Return_Token_If_Found() { @@ -145,7 +146,7 @@ public class AbpOpenIddictTokenStore_Tests : OpenIddictDomainTestBase await _tokenStore.UpdateAsync(token, CancellationToken.None); token = await _tokenStore.FindByIdAsync(_testData.Token1Id.ToString(), CancellationToken.None); - + token.ApplicationId.ShouldBe(_testData.App2Id); token.Payload.ShouldBe("New payload"); token.Subject.ShouldBe("New subject"); @@ -153,4 +154,4 @@ public class AbpOpenIddictTokenStore_Tests : OpenIddictDomainTestBase token.Status.ShouldBe(OpenIddictConstants.Statuses.Revoked); token.ExpirationDate.ShouldBe(now); } -} \ No newline at end of file +} From 82e481a0016d09f20abeba2f9dbe0a62ecd16032 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 29 Aug 2024 10:51:33 +0800 Subject: [PATCH 04/29] Use `UrlHelpers's IsSubdomainOf` to check the wildcard domain. --- .../Volo.Abp.Core/Volo/Abp/Http/UrlHelpers.cs | 8 +++++ .../OpenIddictServerModule.cs | 16 ++++++++-- .../AbpOpenIddictWildcardDomainBase.cs | 29 ++++++++----------- .../AbpOpenIddictWildcardDomainOptions.cs | 3 ++ 4 files changed, 37 insertions(+), 19 deletions(-) diff --git a/framework/src/Volo.Abp.Core/Volo/Abp/Http/UrlHelpers.cs b/framework/src/Volo.Abp.Core/Volo/Abp/Http/UrlHelpers.cs index 30e5e81be2..f27fb4c591 100644 --- a/framework/src/Volo.Abp.Core/Volo/Abp/Http/UrlHelpers.cs +++ b/framework/src/Volo.Abp.Core/Volo/Abp/Http/UrlHelpers.cs @@ -6,6 +6,10 @@ public static class UrlHelpers { private const string WildcardSubdomain = "*."; + /// + /// Check if the subdomain is a subdomain of the domain. + /// The Uri must be absolute URI and the scheme, port, and host must be the same. + /// public static bool IsSubdomainOf(string subdomain, string domain) { if (Uri.TryCreate(subdomain, UriKind.Absolute, out var subdomainUri) && @@ -17,6 +21,10 @@ public static class UrlHelpers return false; } + /// + /// Check if the subdomain is a subdomain of the domain. + /// The Uri must be absolute URI and the scheme, port, and host must be the same. + /// public static bool IsSubdomainOf(Uri subdomain, Uri domain) { return subdomain.IsAbsoluteUri diff --git a/modules/openiddict/app/OpenIddict.Demo.Server/OpenIddictServerModule.cs b/modules/openiddict/app/OpenIddict.Demo.Server/OpenIddictServerModule.cs index e73bb0e77f..b6e262ee32 100644 --- a/modules/openiddict/app/OpenIddict.Demo.Server/OpenIddictServerModule.cs +++ b/modules/openiddict/app/OpenIddict.Demo.Server/OpenIddictServerModule.cs @@ -34,6 +34,7 @@ using Volo.Abp.SettingManagement.Web; using Volo.Abp.TenantManagement; using Volo.Abp.TenantManagement.EntityFrameworkCore; using Volo.Abp.TenantManagement.Web; +using Volo.Abp.Uow; namespace OpenIddict.Demo.Server; @@ -116,7 +117,7 @@ public class OpenIddictServerModule : AbpModule PreConfigure(options => { options.EnableWildcardDomainSupport = true; - options.WildcardDomainsFormat.Add("https://{0}.abp.io/signin-oidc"); + options.WildcardDomainsFormat.Add("https://*.abp.io"); }); PreConfigure(builder => @@ -155,8 +156,19 @@ public class OpenIddictServerModule : AbpModule }); } - public async override Task OnApplicationInitializationAsync(ApplicationInitializationContext context) + public async override Task OnPreApplicationInitializationAsync(ApplicationInitializationContext context) { + using var uow = context.ServiceProvider.GetRequiredService().Begin(); + { + var dbContext = await context.ServiceProvider.GetRequiredService>().GetDbContextAsync(); + if ((await dbContext.Database.GetPendingMigrationsAsync()).Any()) + { + await dbContext.Database.MigrateAsync(); + } + + await uow.CompleteAsync(); + } + await context.ServiceProvider .GetRequiredService() .SeedAsync(); diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs index c3ba2c6bce..7525d75d47 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs @@ -1,10 +1,11 @@ -using System; +using System.Linq; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Microsoft.Extensions.Options; +using Microsoft.IdentityModel.Tokens; using OpenIddict.Server; -using Volo.Abp.Text.Formatting; +using Volo.Abp.Http; namespace Volo.Abp.OpenIddict.WildcardDomains; @@ -29,30 +30,24 @@ public abstract class AbpOpenIddictWildcardDomainBase CheckWildcardDomainAsync(string url) { - Logger.LogDebug("Checking wildcard domain for url: {url}", url); - - foreach (var domainFormat in WildcardDomainOptions.WildcardDomainsFormat) + if (WildcardDomainOptions.WildcardDomainsFormat.IsNullOrEmpty()) { - Logger.LogDebug("Checking wildcard domain format: {domainFormat}", domainFormat); - var extractResult = FormattedStringValueExtracter.Extract(url, domainFormat, ignoreCase: true); - if (extractResult.IsMatch) - { - Logger.LogDebug("Wildcard domain found for url: {url}", url); - return Task.FromResult(true); - } + Logger.LogDebug("No wildcard domain format configured."); + return Task.FromResult(false); } - foreach (var domainFormat in WildcardDomainOptions.WildcardDomainsFormat) + Logger.LogDebug("Checking wildcard domain for url: {url}", url); + foreach (var domain in WildcardDomainOptions.WildcardDomainsFormat.Select(domainFormat => domainFormat.Replace("{0}", "*"))) { - Logger.LogDebug("Checking wildcard domain format: {domainFormat}", domainFormat); - if (domainFormat.Replace("{0}.", "").Equals(url, StringComparison.OrdinalIgnoreCase)) + Logger.LogDebug("Checking wildcard domain format: {newDomainFormat}", domain); + if (UrlHelpers.IsSubdomainOf(url, domain)) { - Logger.LogDebug("Wildcard domain found for url: {url}", url); + Logger.LogDebug("The url: {url} is a wildcard domain of: {domain}", url, domain); return Task.FromResult(true); } } - Logger.LogDebug("Wildcard domain not found for url: {url}", url); + Logger.LogDebug("No wildcard domain found for url: {url}", url); return Task.FromResult(false); } } diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainOptions.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainOptions.cs index 358974e3d6..54c56178f9 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainOptions.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainOptions.cs @@ -6,6 +6,9 @@ public class AbpOpenIddictWildcardDomainOptions { public bool EnableWildcardDomainSupport { get; set; } + /// + /// Wildcard domains format. For example: https://*.abp.io + /// public HashSet WildcardDomainsFormat { get; } public AbpOpenIddictWildcardDomainOptions() From b009146df7e6861494d76419c7b72974e903ae48 Mon Sep 17 00:00:00 2001 From: maliming Date: Thu, 29 Aug 2024 10:52:08 +0800 Subject: [PATCH 05/29] Update AbpOpenIddictWildcardDomainBase.cs --- .../WildcardDomains/AbpOpenIddictWildcardDomainBase.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs index 7525d75d47..9ecf4b3219 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs @@ -39,7 +39,7 @@ public abstract class AbpOpenIddictWildcardDomainBase domainFormat.Replace("{0}", "*"))) { - Logger.LogDebug("Checking wildcard domain format: {newDomainFormat}", domain); + Logger.LogDebug("Checking wildcard domain format: {domain}", domain); if (UrlHelpers.IsSubdomainOf(url, domain)) { Logger.LogDebug("The url: {url} is a wildcard domain of: {domain}", url, domain); From 5200aab98039616e853c5c0ec69a0fd86d39253b Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 30 Aug 2024 13:34:05 +0800 Subject: [PATCH 06/29] Update migrations of template projects. --- ....cs => 20240830053016_Initial.Designer.cs} | 64 +------------------ ...1_Initial.cs => 20240830053016_Initial.cs} | 18 +----- .../MyProjectNameDbContextModelSnapshot.cs | 62 +----------------- ....cs => 20240830053219_Initial.Designer.cs} | 64 +------------------ .../Migrations/20240830053219_Initial.cs} | 18 +----- .../MyProjectNameDbContextModelSnapshot.cs | 62 +----------------- ....cs => 20240830052932_Initial.Designer.cs} | 64 +------------------ ...3_Initial.cs => 20240830052932_Initial.cs} | 18 +----- .../MyProjectNameDbContextModelSnapshot.cs | 62 +----------------- ....cs => 20240830052952_Initial.Designer.cs} | 64 +------------------ ...8_Initial.cs => 20240830052952_Initial.cs} | 18 +----- .../MyProjectNameDbContextModelSnapshot.cs | 62 +----------------- ....cs => 20240830053025_Initial.Designer.cs} | 64 +------------------ ...4_Initial.cs => 20240830053025_Initial.cs} | 18 +----- .../MyProjectNameDbContextModelSnapshot.cs | 62 +----------------- ....cs => 20240830053109_Initial.Designer.cs} | 64 +------------------ .../Migrations/20240830053109_Initial.cs} | 18 +----- .../AuthServerDbContextModelSnapshot.cs | 62 +----------------- ....cs => 20240830053049_Initial.Designer.cs} | 4 +- ...8_Initial.cs => 20240830053049_Initial.cs} | 0 .../UnifiedDbContextModelSnapshot.cs | 2 +- ....cs => 20240830053124_Initial.Designer.cs} | 4 +- ...7_Initial.cs => 20240830053124_Initial.cs} | 0 ...ApiHostMigrationsDbContextModelSnapshot.cs | 2 +- ....cs => 20240830053146_Initial.Designer.cs} | 4 +- ...0_Initial.cs => 20240830053146_Initial.cs} | 0 .../UnifiedDbContextModelSnapshot.cs | 2 +- 27 files changed, 39 insertions(+), 843 deletions(-) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/{20240312033651_Initial.Designer.cs => 20240830053016_Initial.Designer.cs} (96%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/{20240312033651_Initial.cs => 20240830053016_Initial.cs} (97%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/{20240312033906_Initial.Designer.cs => 20240830053219_Initial.Designer.cs} (96%) rename templates/{module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.cs => app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240830053219_Initial.cs} (97%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/{20240321011533_Initial.Designer.cs => 20240830052932_Initial.Designer.cs} (96%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/{20240321011533_Initial.cs => 20240830052932_Initial.cs} (97%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/{20240312033558_Initial.Designer.cs => 20240830052952_Initial.Designer.cs} (96%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/{20240312033558_Initial.cs => 20240830052952_Initial.cs} (97%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/{20240322114004_Initial.Designer.cs => 20240830053025_Initial.Designer.cs} (96%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/{20240322114004_Initial.cs => 20240830053025_Initial.cs} (97%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/{20240321011622_Initial.Designer.cs => 20240830053109_Initial.Designer.cs} (96%) rename templates/{app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.cs => module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240830053109_Initial.cs} (97%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/{20240312033728_Initial.Designer.cs => 20240830053049_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/{20240312033728_Initial.cs => 20240830053049_Initial.cs} (100%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/{20240312033807_Initial.Designer.cs => 20240830053124_Initial.Designer.cs} (90%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/{20240312033807_Initial.cs => 20240830053124_Initial.cs} (100%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20240312033830_Initial.Designer.cs => 20240830053146_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20240312033830_Initial.cs => 20240830053146_Initial.cs} (100%) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240830053016_Initial.Designer.cs similarity index 96% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240830053016_Initial.Designer.cs index b97eb71e95..4263d2d562 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240830053016_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240312033651_Initial")] + [Migration("20240830053016_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1253,41 +1253,11 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1412,22 +1382,6 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1436,20 +1390,6 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240830053016_Initial.cs similarity index 97% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240830053016_Initial.cs index 39c3b550b9..ff42a86883 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240830053016_Initial.cs @@ -698,14 +698,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { @@ -757,14 +750,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs index 0a52057acc..4be93299de 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1250,41 +1250,11 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1409,22 +1379,6 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1433,20 +1387,6 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240830053219_Initial.Designer.cs similarity index 96% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240830053219_Initial.Designer.cs index 84ee9411af..0abf9d1709 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240830053219_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240312033906_Initial")] + [Migration("20240830053219_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1253,41 +1253,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1412,22 +1382,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1436,20 +1390,6 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240830053219_Initial.cs similarity index 97% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240830053219_Initial.cs index a3dbf4a768..97a596c07a 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240830053219_Initial.cs @@ -698,14 +698,7 @@ namespace MyCompanyName.MyProjectName.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { @@ -757,14 +750,7 @@ namespace MyCompanyName.MyProjectName.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs index d74eefbde1..e77170e827 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1250,41 +1250,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1409,22 +1379,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1433,20 +1387,6 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240830052932_Initial.Designer.cs similarity index 96% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240830052932_Initial.Designer.cs index 309ac9f973..1db0cae691 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240830052932_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Host.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240321011533_Initial")] + [Migration("20240830052932_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1253,41 +1253,11 @@ namespace MyCompanyName.MyProjectName.Host.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1412,22 +1382,6 @@ namespace MyCompanyName.MyProjectName.Host.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1436,20 +1390,6 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240830052932_Initial.cs similarity index 97% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240830052932_Initial.cs index e36cf69df7..53f6cca879 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240830052932_Initial.cs @@ -698,14 +698,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { @@ -757,14 +750,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs index f2ef0d1071..0e8bebb9f7 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1250,41 +1250,11 @@ namespace MyCompanyName.MyProjectName.Host.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1409,22 +1379,6 @@ namespace MyCompanyName.MyProjectName.Host.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1433,20 +1387,6 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240830052952_Initial.Designer.cs similarity index 96% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240830052952_Initial.Designer.cs index fc604df03b..1743414706 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240830052952_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Mvc.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240312033558_Initial")] + [Migration("20240830052952_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1253,41 +1253,11 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1412,22 +1382,6 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1436,20 +1390,6 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240830052952_Initial.cs similarity index 97% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240830052952_Initial.cs index 88e57c1ebb..9568515796 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240830052952_Initial.cs @@ -698,14 +698,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { @@ -757,14 +750,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs index 17a23b24a7..b3ad8ed586 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1250,41 +1250,11 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1409,22 +1379,6 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1433,20 +1387,6 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.Designer.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240830053025_Initial.Designer.cs similarity index 96% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.Designer.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240830053025_Initial.Designer.cs index bd99dc092f..bd5cc6bd27 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.Designer.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240830053025_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240322114004_Initial")] + [Migration("20240830053025_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1305,41 +1305,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1464,22 +1434,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1488,20 +1442,6 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240830053025_Initial.cs similarity index 97% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240830053025_Initial.cs index 3c914f3225..47b7c82064 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240830053025_Initial.cs @@ -719,14 +719,7 @@ namespace MyCompanyName.MyProjectName.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { @@ -778,14 +771,7 @@ namespace MyCompanyName.MyProjectName.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs index 6aca735728..19a18e104a 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1302,41 +1302,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1461,22 +1431,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1485,20 +1439,6 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240830053109_Initial.Designer.cs similarity index 96% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240830053109_Initial.Designer.cs index 6e7456f3ba..ea21527649 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240830053109_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(AuthServerDbContext))] - [Migration("20240321011622_Initial")] + [Migration("20240830053109_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1253,41 +1253,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1412,22 +1382,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1436,20 +1390,6 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240830053109_Initial.cs similarity index 97% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240830053109_Initial.cs index a3dbf4a768..97a596c07a 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240830053109_Initial.cs @@ -698,14 +698,7 @@ namespace MyCompanyName.MyProjectName.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { @@ -757,14 +750,7 @@ namespace MyCompanyName.MyProjectName.Migrations Subject = table.Column(type: "nvarchar(400)", maxLength: 400, nullable: true), Type = table.Column(type: "nvarchar(50)", maxLength: 50, nullable: true), ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), - ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false), - CreationTime = table.Column(type: "datetime2", nullable: false), - CreatorId = table.Column(type: "uniqueidentifier", nullable: true), - LastModificationTime = table.Column(type: "datetime2", nullable: true), - LastModifierId = table.Column(type: "uniqueidentifier", nullable: true), - IsDeleted = table.Column(type: "bit", nullable: false, defaultValue: false), - DeleterId = table.Column(type: "uniqueidentifier", nullable: true), - DeletionTime = table.Column(type: "datetime2", nullable: true) + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs index 4da168ec59..138ecd5e7c 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -1250,41 +1250,11 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExtraProperties") .IsRequired() .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Properties") .HasColumnType("nvarchar(max)"); @@ -1409,22 +1379,6 @@ namespace MyCompanyName.MyProjectName.Migrations b.Property("CreationDate") .HasColumnType("datetime2"); - b.Property("CreationTime") - .HasColumnType("datetime2") - .HasColumnName("CreationTime"); - - b.Property("CreatorId") - .HasColumnType("uniqueidentifier") - .HasColumnName("CreatorId"); - - b.Property("DeleterId") - .HasColumnType("uniqueidentifier") - .HasColumnName("DeleterId"); - - b.Property("DeletionTime") - .HasColumnType("datetime2") - .HasColumnName("DeletionTime"); - b.Property("ExpirationDate") .HasColumnType("datetime2"); @@ -1433,20 +1387,6 @@ namespace MyCompanyName.MyProjectName.Migrations .HasColumnType("nvarchar(max)") .HasColumnName("ExtraProperties"); - b.Property("IsDeleted") - .ValueGeneratedOnAdd() - .HasColumnType("bit") - .HasDefaultValue(false) - .HasColumnName("IsDeleted"); - - b.Property("LastModificationTime") - .HasColumnType("datetime2") - .HasColumnName("LastModificationTime"); - - b.Property("LastModifierId") - .HasColumnType("uniqueidentifier") - .HasColumnName("LastModifierId"); - b.Property("Payload") .HasColumnType("nvarchar(max)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240830053049_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240830053049_Initial.Designer.cs index cc7dab7c4b..fc26ceceae 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240830053049_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20240312033728_Initial")] + [Migration("20240830053049_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240830053049_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240830053049_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs index 8c80cc940f..662a03fc63 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240830053124_Initial.Designer.cs similarity index 90% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240830053124_Initial.Designer.cs index 3407609e8f..dd62348cae 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240830053124_Initial.Designer.cs @@ -12,7 +12,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameHttpApiHostMigrationsDbContext))] - [Migration("20240312033807_Initial")] + [Migration("20240830053124_Initial")] partial class Initial { /// @@ -21,7 +21,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240830053124_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240830053124_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/MyProjectNameHttpApiHostMigrationsDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/MyProjectNameHttpApiHostMigrationsDbContextModelSnapshot.cs index 30b1ab980c..82d40047cc 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/MyProjectNameHttpApiHostMigrationsDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/MyProjectNameHttpApiHostMigrationsDbContextModelSnapshot.cs @@ -18,7 +18,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240830053146_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240830053146_Initial.Designer.cs index 618206a870..79e881e58b 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240830053146_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20240312033830_Initial")] + [Migration("20240830053146_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240830053146_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240830053146_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs index 59eae27537..a73173e12a 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); From c733a2c0c15db7511953400a33531533c3463680 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 9 Sep 2024 11:27:51 +0800 Subject: [PATCH 07/29] Make `IdentitySession` entity extensible. --- .../IdentityModuleExtensionConfiguration.cs | 9 +++++++++ .../Abp/ObjectExtending/IdentityModuleExtensionConsts.cs | 2 ++ .../Volo/Abp/Identity/AbpIdentityDomainModule.cs | 6 ++++++ .../Volo/Abp/Identity/IdentitySession.cs | 2 +- 4 files changed, 18 insertions(+), 1 deletion(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConfiguration.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConfiguration.cs index 4bcf4f01e3..bb8386dda9 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConfiguration.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConfiguration.cs @@ -40,4 +40,13 @@ public class IdentityModuleExtensionConfiguration : ModuleExtensionConfiguration configureAction ); } + + public IdentityModuleExtensionConfiguration ConfigureIdentitySession( + Action configureAction) + { + return this.ConfigureEntity( + IdentityModuleExtensionConsts.EntityNames.IdentitySession, + configureAction + ); + } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConsts.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConsts.cs index 5135cf22b8..4e3c5ab4a2 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConsts.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/ObjectExtending/IdentityModuleExtensionConsts.cs @@ -13,6 +13,8 @@ public static class IdentityModuleExtensionConsts public const string ClaimType = "ClaimType"; public const string OrganizationUnit = "OrganizationUnit"; + + public const string IdentitySession = "IdentitySession"; } public static class ConfigurationNames 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 49f353153b..baf0871c58 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 @@ -99,6 +99,12 @@ public class AbpIdentityDomainModule : AbpModule IdentityModuleExtensionConsts.EntityNames.OrganizationUnit, typeof(OrganizationUnit) ); + + ModuleExtensionConfigurationHelper.ApplyEntityConfigurationToEntity( + IdentityModuleExtensionConsts.ModuleName, + IdentityModuleExtensionConsts.EntityNames.IdentitySession, + typeof(IdentitySession) + ); }); } } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs index c25a6b2e82..d16977a4d1 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs @@ -5,7 +5,7 @@ using Volo.Abp.MultiTenancy; namespace Volo.Abp.Identity; -public class IdentitySession : BasicAggregateRoot, IMultiTenant +public class IdentitySession : AggregateRoot, IMultiTenant { public virtual string SessionId { get; protected set; } From 089141bac600f3c188e951697bbd28ba90a973bc Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 9 Sep 2024 11:39:27 +0800 Subject: [PATCH 08/29] Update template migrations. --- ...ner.cs => 20240909033112_Initial.Designer.cs} | 16 ++++++++++++++-- ...3651_Initial.cs => 20240909033112_Initial.cs} | 4 +++- .../MyProjectNameDbContextModelSnapshot.cs | 14 +++++++++++++- ...ner.cs => 20240909033342_Initial.Designer.cs} | 16 ++++++++++++++-- .../Server/Migrations/20240909033342_Initial.cs} | 4 +++- .../MyProjectNameDbContextModelSnapshot.cs | 14 +++++++++++++- ...ner.cs => 20240909032958_Initial.Designer.cs} | 16 ++++++++++++++-- ...1533_Initial.cs => 20240909032958_Initial.cs} | 4 +++- .../MyProjectNameDbContextModelSnapshot.cs | 14 +++++++++++++- ...ner.cs => 20240909033028_Initial.Designer.cs} | 16 ++++++++++++++-- ...3558_Initial.cs => 20240909033028_Initial.cs} | 4 +++- .../MyProjectNameDbContextModelSnapshot.cs | 14 +++++++++++++- ...ner.cs => 20240909033138_Initial.Designer.cs} | 16 ++++++++++++++-- ...4004_Initial.cs => 20240909033138_Initial.cs} | 4 +++- .../MyProjectNameDbContextModelSnapshot.cs | 14 +++++++++++++- ...ner.cs => 20240909033238_Initial.Designer.cs} | 16 ++++++++++++++-- .../Migrations/20240909033238_Initial.cs} | 4 +++- .../AuthServerDbContextModelSnapshot.cs | 14 +++++++++++++- ...ner.cs => 20240909033215_Initial.Designer.cs} | 16 ++++++++++++++-- ...3728_Initial.cs => 20240909033215_Initial.cs} | 4 +++- .../Migrations/UnifiedDbContextModelSnapshot.cs | 14 +++++++++++++- ...ner.cs => 20240909033251_Initial.Designer.cs} | 4 ++-- ...3807_Initial.cs => 20240909033251_Initial.cs} | 0 ...ttpApiHostMigrationsDbContextModelSnapshot.cs | 2 +- ...ner.cs => 20240909033311_Initial.Designer.cs} | 16 ++++++++++++++-- ...3830_Initial.cs => 20240909033311_Initial.cs} | 4 +++- .../Migrations/UnifiedDbContextModelSnapshot.cs | 14 +++++++++++++- 27 files changed, 243 insertions(+), 35 deletions(-) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/{20240312033651_Initial.Designer.cs => 20240909033112_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/{20240312033651_Initial.cs => 20240909033112_Initial.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/{20240312033906_Initial.Designer.cs => 20240909033342_Initial.Designer.cs} (99%) rename templates/{module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.cs => app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240909033342_Initial.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/{20240321011533_Initial.Designer.cs => 20240909032958_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/{20240321011533_Initial.cs => 20240909032958_Initial.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/{20240312033558_Initial.Designer.cs => 20240909033028_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/{20240312033558_Initial.cs => 20240909033028_Initial.cs} (99%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/{20240322114004_Initial.Designer.cs => 20240909033138_Initial.Designer.cs} (99%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/{20240322114004_Initial.cs => 20240909033138_Initial.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/{20240321011622_Initial.Designer.cs => 20240909033238_Initial.Designer.cs} (99%) rename templates/{app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.cs => module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240909033238_Initial.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/{20240312033728_Initial.Designer.cs => 20240909033215_Initial.Designer.cs} (98%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/{20240312033728_Initial.cs => 20240909033215_Initial.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/{20240312033807_Initial.Designer.cs => 20240909033251_Initial.Designer.cs} (90%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/{20240312033807_Initial.cs => 20240909033251_Initial.cs} (100%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20240312033830_Initial.Designer.cs => 20240909033311_Initial.Designer.cs} (98%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20240312033830_Initial.cs => 20240909033311_Initial.cs} (99%) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240909033112_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240909033112_Initial.Designer.cs index b97eb71e95..53b3e0da00 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240909033112_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240312033651_Initial")] + [Migration("20240909033112_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -657,6 +657,13 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -666,6 +673,11 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240909033112_Initial.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240909033112_Initial.cs index 39c3b550b9..b8fa977ec4 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240312033651_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20240909033112_Initial.cs @@ -268,7 +268,9 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), IpAddresses = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true) + LastAccessed = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs index 0a52057acc..6fab4360d9 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -654,6 +654,13 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -663,6 +670,11 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240909033342_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240909033342_Initial.Designer.cs index 84ee9411af..1b17caa376 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240909033342_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240312033906_Initial")] + [Migration("20240909033342_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -657,6 +657,13 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -666,6 +673,11 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240909033342_Initial.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240909033342_Initial.cs index a3dbf4a768..15106cf92a 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240909033342_Initial.cs @@ -268,7 +268,9 @@ namespace MyCompanyName.MyProjectName.Migrations ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), IpAddresses = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true) + LastAccessed = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs index d74eefbde1..da0297b200 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -654,6 +654,13 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -663,6 +670,11 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240909032958_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240909032958_Initial.Designer.cs index 309ac9f973..2cef4e3c9e 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240909032958_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Host.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240321011533_Initial")] + [Migration("20240909032958_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -657,6 +657,13 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -666,6 +673,11 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240909032958_Initial.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240909032958_Initial.cs index e36cf69df7..e298692bf7 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240321011533_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20240909032958_Initial.cs @@ -268,7 +268,9 @@ namespace MyCompanyName.MyProjectName.Host.Migrations ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), IpAddresses = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true) + LastAccessed = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs index f2ef0d1071..cfd5b361ca 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -654,6 +654,13 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -663,6 +670,11 @@ namespace MyCompanyName.MyProjectName.Host.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240909033028_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240909033028_Initial.Designer.cs index fc604df03b..af7164358f 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240909033028_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Mvc.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240312033558_Initial")] + [Migration("20240909033028_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -657,6 +657,13 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -666,6 +673,11 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240909033028_Initial.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240909033028_Initial.cs index 88e57c1ebb..653bfb65b5 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240312033558_Initial.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20240909033028_Initial.cs @@ -268,7 +268,9 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), IpAddresses = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true) + LastAccessed = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs index 17a23b24a7..277fa644c1 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -654,6 +654,13 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -663,6 +670,11 @@ namespace MyCompanyName.MyProjectName.Mvc.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.Designer.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240909033138_Initial.Designer.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.Designer.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240909033138_Initial.Designer.cs index bd99dc092f..a689a31c75 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.Designer.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240909033138_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20240322114004_Initial")] + [Migration("20240909033138_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -712,6 +712,13 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -721,6 +728,11 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240909033138_Initial.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240909033138_Initial.cs index 3c914f3225..4616bd7351 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240322114004_Initial.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20240909033138_Initial.cs @@ -289,7 +289,9 @@ namespace MyCompanyName.MyProjectName.Migrations ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), IpAddresses = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true) + LastAccessed = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs index 6aca735728..4142a13f39 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -709,6 +709,13 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -718,6 +725,11 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240909033238_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240909033238_Initial.Designer.cs index 6e7456f3ba..7a0df4a54b 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240321011622_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240909033238_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(AuthServerDbContext))] - [Migration("20240321011622_Initial")] + [Migration("20240909033238_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -657,6 +657,13 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -666,6 +673,11 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240909033238_Initial.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240909033238_Initial.cs index a3dbf4a768..15106cf92a 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20240312033906_Initial.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20240909033238_Initial.cs @@ -268,7 +268,9 @@ namespace MyCompanyName.MyProjectName.Migrations ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), IpAddresses = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true) + LastAccessed = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs index 4da168ec59..0fc6495dbc 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/AuthServerDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -654,6 +654,13 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -663,6 +670,11 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240909033215_Initial.Designer.cs similarity index 98% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240909033215_Initial.Designer.cs index cc7dab7c4b..61a0b5a343 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240909033215_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20240312033728_Initial")] + [Migration("20240909033215_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -657,6 +657,13 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -666,6 +673,11 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240909033215_Initial.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240909033215_Initial.cs index b79afe38fe..2cc9e84ba6 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240312033728_Initial.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20240909033215_Initial.cs @@ -268,7 +268,9 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), IpAddresses = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true) + LastAccessed = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs index 8c80cc940f..338e67c7ad 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/UnifiedDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -654,6 +654,13 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -663,6 +670,11 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240909033251_Initial.Designer.cs similarity index 90% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240909033251_Initial.Designer.cs index 3407609e8f..1b63d3185e 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240909033251_Initial.Designer.cs @@ -12,7 +12,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameHttpApiHostMigrationsDbContext))] - [Migration("20240312033807_Initial")] + [Migration("20240909033251_Initial")] partial class Initial { /// @@ -21,7 +21,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240909033251_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240312033807_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20240909033251_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/MyProjectNameHttpApiHostMigrationsDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/MyProjectNameHttpApiHostMigrationsDbContextModelSnapshot.cs index 30b1ab980c..82d40047cc 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/MyProjectNameHttpApiHostMigrationsDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/MyProjectNameHttpApiHostMigrationsDbContextModelSnapshot.cs @@ -18,7 +18,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240909033311_Initial.Designer.cs similarity index 98% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240909033311_Initial.Designer.cs index 618206a870..195a507952 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240909033311_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20240312033830_Initial")] + [Migration("20240909033311_Initial")] partial class Initial { /// @@ -22,7 +22,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -657,6 +657,13 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -666,6 +673,11 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240909033311_Initial.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240909033311_Initial.cs index 105890a571..68e8cd9a18 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240312033830_Initial.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20240909033311_Initial.cs @@ -268,7 +268,9 @@ namespace MyCompanyName.MyProjectName.Migrations ClientId = table.Column(type: "nvarchar(64)", maxLength: 64, nullable: true), IpAddresses = table.Column(type: "nvarchar(256)", maxLength: 256, nullable: true), SignedIn = table.Column(type: "datetime2", nullable: false), - LastAccessed = table.Column(type: "datetime2", nullable: true) + LastAccessed = table.Column(type: "datetime2", nullable: true), + ExtraProperties = table.Column(type: "nvarchar(max)", nullable: false), + ConcurrencyStamp = table.Column(type: "nvarchar(40)", maxLength: 40, nullable: false) }, constraints: table => { diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs index 59eae27537..ab3b5d3232 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/UnifiedDbContextModelSnapshot.cs @@ -19,7 +19,7 @@ namespace MyCompanyName.MyProjectName.Migrations #pragma warning disable 612, 618 modelBuilder .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) - .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("ProductVersion", "8.0.4") .HasAnnotation("Relational:MaxIdentifierLength", 128); SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); @@ -654,6 +654,13 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + b.Property("Device") .IsRequired() .HasMaxLength(64) @@ -663,6 +670,11 @@ namespace MyCompanyName.MyProjectName.Migrations .HasMaxLength(64) .HasColumnType("nvarchar(64)"); + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + b.Property("IpAddresses") .HasMaxLength(256) .HasColumnType("nvarchar(256)"); From 4c14a4abb364edc555d46cacd0c6f6d8ed45e3a1 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 18 Sep 2024 15:30:40 +0800 Subject: [PATCH 09/29] Truncate `IpAddresses` of `IdentitySession`. Resolve #20794 --- .../Volo/Abp/Identity/IdentitySessionConsts.cs | 2 +- .../Volo/Abp/Identity/IdentitySession.cs | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentitySessionConsts.cs b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentitySessionConsts.cs index 96cb8df5c9..ca047730ee 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentitySessionConsts.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain.Shared/Volo/Abp/Identity/IdentitySessionConsts.cs @@ -10,5 +10,5 @@ public class IdentitySessionConsts public static int MaxClientIdLength { get; set; } = 64; - public static int MaxIpAddressesLength { get; set; } = 256; + public static int MaxIpAddressesLength { get; set; } = 2048; } diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs index c25a6b2e82..bf0048efe2 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs @@ -80,7 +80,22 @@ public class IdentitySession : BasicAggregateRoot, IMultiTenant private static string JoinAsString(IEnumerable list) { var serialized = string.Join(",", list); - return serialized.IsNullOrWhiteSpace() ? null : serialized; + if (serialized.IsNullOrWhiteSpace()) + { + return null; + } + + while (serialized.Length > IdentitySessionConsts.MaxIpAddressesLength) + { + var lastCommaIndex = serialized.LastIndexOf(','); + if (lastCommaIndex < 0) + { + return serialized; + } + serialized = serialized.Substring(0, lastCommaIndex); + } + + return serialized; } private string[] GetArrayFromString(string str) From 05fd7beacda002ca42458e43dceeaf4cf657b9f6 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 18 Sep 2024 15:36:00 +0800 Subject: [PATCH 10/29] Truncate the ip string from the beginning. --- .../Volo/Abp/Identity/IdentitySession.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs index bf0048efe2..60ece05502 100644 --- a/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs +++ b/modules/identity/src/Volo.Abp.Identity.Domain/Volo/Abp/Identity/IdentitySession.cs @@ -87,12 +87,12 @@ public class IdentitySession : BasicAggregateRoot, IMultiTenant while (serialized.Length > IdentitySessionConsts.MaxIpAddressesLength) { - var lastCommaIndex = serialized.LastIndexOf(','); + var lastCommaIndex = serialized.IndexOf(','); if (lastCommaIndex < 0) { return serialized; } - serialized = serialized.Substring(0, lastCommaIndex); + serialized = serialized.Substring(lastCommaIndex + 1); } return serialized; From 1b11f2de8f6f4059a81c3e7dbf00467485e3edc2 Mon Sep 17 00:00:00 2001 From: maliming Date: Mon, 23 Sep 2024 10:52:35 +0800 Subject: [PATCH 11/29] Add `AbpHybridCache`. --- Directory.Packages.props | 1 + .../Volo.Abp.Caching/Volo.Abp.Caching.csproj | 1 + .../Volo/Abp/Caching/AbpCachingModule.cs | 7 + .../Volo/Abp/Caching/Hybrid/AbpHybridCache.cs | 459 ++++++++++++++++ .../Hybrid/AbpHybridCacheJsonSerializer.cs | 27 + .../AbpHybridCacheJsonSerializerFactory.cs | 27 + .../Caching/Hybrid/AbpHybridCacheOptions.cs | 51 ++ .../Volo/Abp/Caching/Hybrid/IHybridCache.cs | 93 ++++ .../Volo/Abp/Caching/AbpCachingTestModule.cs | 25 + .../Volo/Abp/Caching/HybridCache_Tests.cs | 519 ++++++++++++++++++ 10 files changed, 1210 insertions(+) create mode 100644 framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs create mode 100644 framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheJsonSerializer.cs create mode 100644 framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheJsonSerializerFactory.cs create mode 100644 framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheOptions.cs create mode 100644 framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/IHybridCache.cs create mode 100644 framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/HybridCache_Tests.cs diff --git a/Directory.Packages.props b/Directory.Packages.props index 594c861bc6..3759f383af 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -80,6 +80,7 @@ + diff --git a/framework/src/Volo.Abp.Caching/Volo.Abp.Caching.csproj b/framework/src/Volo.Abp.Caching/Volo.Abp.Caching.csproj index 74a41a5507..7163d3ce6c 100644 --- a/framework/src/Volo.Abp.Caching/Volo.Abp.Caching.csproj +++ b/framework/src/Volo.Abp.Caching/Volo.Abp.Caching.csproj @@ -17,6 +17,7 @@ + diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/AbpCachingModule.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/AbpCachingModule.cs index 769cc75a8d..de5f60ee4e 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/AbpCachingModule.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/AbpCachingModule.cs @@ -1,5 +1,8 @@ using Microsoft.Extensions.DependencyInjection; using System; +using Microsoft.Extensions.Caching.Hybrid; +using Microsoft.Extensions.DependencyInjection.Extensions; +using Volo.Abp.Caching.Hybrid; using Volo.Abp.Json; using Volo.Abp.Modularity; using Volo.Abp.MultiTenancy; @@ -25,6 +28,10 @@ public class AbpCachingModule : AbpModule context.Services.AddSingleton(typeof(IDistributedCache<>), typeof(DistributedCache<>)); context.Services.AddSingleton(typeof(IDistributedCache<,>), typeof(DistributedCache<,>)); + context.Services.AddHybridCache().AddSerializerFactory(); + context.Services.AddSingleton(typeof(IHybridCache<>), typeof(AbpHybridCache<>)); + context.Services.AddSingleton(typeof(IHybridCache<,>), typeof(AbpHybridCache<,>)); + context.Services.Configure(cacheOptions => { cacheOptions.GlobalCacheEntryOptions.SlidingExpiration = TimeSpan.FromMinutes(20); diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs new file mode 100644 index 0000000000..a679802703 --- /dev/null +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs @@ -0,0 +1,459 @@ +using System; +using System.Buffers; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using Microsoft.Extensions.Caching.Distributed; +using Microsoft.Extensions.Caching.Hybrid; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; +using Microsoft.Extensions.Logging.Abstractions; +using Microsoft.Extensions.Options; +using Volo.Abp.ExceptionHandling; +using Volo.Abp.MultiTenancy; +using Volo.Abp.Threading; +using Volo.Abp.Uow; + +namespace Volo.Abp.Caching.Hybrid; + +/// +/// Represents a hybrid cache of items. +/// +/// The type of the cache item being cached. +public class AbpHybridCache : IHybridCache + where TCacheItem : class +{ + public IHybridCache InternalCache { get; } + + public AbpHybridCache(IHybridCache internalCache) + { + InternalCache = internalCache; + } + + public virtual async Task GetOrCreateAsync(string key, Func> factory, Func? optionsFactory = null, bool? hideErrors = null, bool considerUow = false, CancellationToken token = default) + { + return await InternalCache.GetOrCreateAsync(key, factory, optionsFactory, hideErrors, considerUow, token); + } + + public virtual async Task SetAsync(string key, TCacheItem value, HybridCacheEntryOptions? options = null, bool? hideErrors = null, bool considerUow = false, CancellationToken token = default) + { + await InternalCache.SetAsync(key, value, options, hideErrors, considerUow, token); + } + + public virtual async Task RemoveAsync(string key, bool? hideErrors = null, bool considerUow = false, CancellationToken token = default) + { + await InternalCache.RemoveAsync(key, hideErrors, considerUow, token); + } + + public virtual async Task RemoveManyAsync(IEnumerable keys, bool? hideErrors = null, bool considerUow = false, CancellationToken token = default) + { + await InternalCache.RemoveManyAsync(keys, hideErrors, considerUow, token); + } +} + +/// +/// Represents a hybrid cache of items. +/// Uses as the key type. +/// +/// The type of cache item being cached. +/// The type of cache key being used. +public class AbpHybridCache : IHybridCache + where TCacheItem : class + where TCacheKey : notnull +{ + public const string UowCacheName = "AbpHybridCache"; + + public ILogger> Logger { get; set; } + + protected string CacheName { get; set; } = default!; + + protected bool IgnoreMultiTenancy { get; set; } + + protected IServiceProvider ServiceProvider { get; } + + protected HybridCache HybridCache { get; } + + protected IDistributedCache DistributedCacheCache { get; } + + protected ICancellationTokenProvider CancellationTokenProvider { get; } + + protected IDistributedCacheKeyNormalizer KeyNormalizer { get; } + + protected IServiceScopeFactory ServiceScopeFactory { get; } + + protected IUnitOfWorkManager UnitOfWorkManager { get; } + + protected SemaphoreSlim SyncSemaphore { get; } + + protected HybridCacheEntryOptions DefaultCacheOptions = default!; + + protected AbpHybridCacheOptions DistributedCacheOption { get; } + + public AbpHybridCache( + IServiceProvider serviceProvider, + IOptions distributedCacheOption, + HybridCache hybridCache, + IDistributedCache distributedCache, + ICancellationTokenProvider cancellationTokenProvider, + IDistributedCacheSerializer serializer, + IDistributedCacheKeyNormalizer keyNormalizer, + IServiceScopeFactory serviceScopeFactory, + IUnitOfWorkManager unitOfWorkManager) + { + ServiceProvider = serviceProvider; + DistributedCacheOption = distributedCacheOption.Value; + HybridCache = hybridCache; + DistributedCacheCache = distributedCache; + CancellationTokenProvider = cancellationTokenProvider; + Logger = NullLogger>.Instance; + KeyNormalizer = keyNormalizer; + ServiceScopeFactory = serviceScopeFactory; + UnitOfWorkManager = unitOfWorkManager; + + SyncSemaphore = new SemaphoreSlim(1, 1); + + SetDefaultOptions(); + } + + protected virtual string NormalizeKey(TCacheKey key) + { + return KeyNormalizer.NormalizeKey( + new DistributedCacheKeyNormalizeArgs( + key.ToString()!, + CacheName, + IgnoreMultiTenancy + ) + ); + } + + protected virtual HybridCacheEntryOptions GetDefaultCacheEntryOptions() + { + foreach (var configure in DistributedCacheOption.CacheConfigurators) + { + var options = configure.Invoke(CacheName); + if (options != null) + { + return options; + } + } + + return DistributedCacheOption.GlobalHybridCacheEntryOptions; + } + + protected virtual void SetDefaultOptions() + { + CacheName = CacheNameAttribute.GetCacheName(typeof(TCacheItem)); + + //IgnoreMultiTenancy + IgnoreMultiTenancy = typeof(TCacheItem).IsDefined(typeof(IgnoreMultiTenancyAttribute), true); + + //Configure default cache entry options + DefaultCacheOptions = GetDefaultCacheEntryOptions(); + } + + /// + /// Gets or Creates a cache item with the given key. If no cache item is found for the given key then adds a cache item + /// provided by delegate and returns the provided cache item. + /// + /// The key of cached item to be retrieved from the cache. + /// The factory delegate is used to provide the cache item when no cache item is found for the given . + /// The cache options for the factory delegate. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The cache item. + public virtual async Task GetOrCreateAsync( + TCacheKey key, + Func> factory, + Func? optionsFactory = null, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default) + { + token = CancellationTokenProvider.FallbackToProvider(token); + hideErrors = hideErrors ?? DistributedCacheOption.HideErrors; + + TCacheItem? value = null; + + if (!considerUow) + { + try + { + value = await HybridCache.GetOrCreateAsync( + key: NormalizeKey(key), + factory: async cancel => await factory(), + options: optionsFactory?.Invoke(), + tags: null, + cancellationToken: token); + } + catch (Exception ex) + { + if (hideErrors == true) + { + await HandleExceptionAsync(ex); + return null; + } + + throw; + } + + return value; + } + + try + { + using (await SyncSemaphore.LockAsync(token)) + { + if (ShouldConsiderUow(considerUow)) + { + value = GetUnitOfWorkCache().GetOrDefault(key)?.GetUnRemovedValueOrNull(); + if (value != null) + { + return value; + } + } + + var bytes = await DistributedCacheCache.GetAsync(NormalizeKey(key), token); + if (bytes != null) + { + return ResolveSerializer().Deserialize(new ReadOnlySequence(bytes, 0, bytes.Length));; + } + + value = await factory(); + + if (ShouldConsiderUow(considerUow)) + { + var uowCache = GetUnitOfWorkCache(); + if (uowCache.TryGetValue(key, out var item)) + { + item.SetValue(value); + } + else + { + uowCache.Add(key, new UnitOfWorkCacheItem(value)); + } + } + + await SetAsync(key, value, optionsFactory?.Invoke(), hideErrors, considerUow, token); + } + } + catch (Exception ex) + { + if (hideErrors == true) + { + await HandleExceptionAsync(ex); + return null; + } + + throw; + } + + return value; + } + + /// + /// Sets the cache item value for the provided key. + /// + /// The key of cached item to be retrieved from the cache. + /// The cache item value to set in the cache. + /// The cache options for the value. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The indicating that the operation is asynchronous. + public virtual async Task SetAsync( + TCacheKey key, + TCacheItem value, + HybridCacheEntryOptions? options = null, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default) + { + async Task SetRealCache() + { + token = CancellationTokenProvider.FallbackToProvider(token); + hideErrors = hideErrors ?? DistributedCacheOption.HideErrors; + + try + { + await HybridCache.SetAsync( + key: NormalizeKey(key), + value: value, + options: options ?? DefaultCacheOptions, + tags: null, + cancellationToken: token + ); + } + catch (Exception ex) + { + if (hideErrors == true) + { + await HandleExceptionAsync(ex); + return; + } + + throw; + } + } + + if (ShouldConsiderUow(considerUow)) + { + var uowCache = GetUnitOfWorkCache(); + if (uowCache.TryGetValue(key, out _)) + { + uowCache[key].SetValue(value); + } + else + { + uowCache.Add(key, new UnitOfWorkCacheItem(value)); + } + + UnitOfWorkManager.Current?.OnCompleted(SetRealCache); + } + else + { + await SetRealCache(); + } + } + + /// + /// Removes the cache item for given key from cache. + /// + /// The key of cached item to be retrieved from the cache. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The indicating that the operation is asynchronous. + public virtual async Task RemoveAsync( + TCacheKey key, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default) + { + await RemoveManyAsync(new[] { key }, hideErrors, considerUow, token); + } + + /// + /// Removes the cache items for given keys from cache. + /// + /// The keys of cached items to be retrieved from the cache. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The indicating that the operation is asynchronous. + public async Task RemoveManyAsync( + IEnumerable keys, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default) + { + var keyArray = keys.ToArray(); + + async Task RemoveRealCache() + { + hideErrors = hideErrors ?? DistributedCacheOption.HideErrors; + + try + { + await HybridCache.RemoveAsync( + keyArray.Select(NormalizeKey), token); + } + catch (Exception ex) + { + if (hideErrors == true) + { + await HandleExceptionAsync(ex); + return; + } + + throw; + } + } + + if (ShouldConsiderUow(considerUow)) + { + var uowCache = GetUnitOfWorkCache(); + + foreach (var key in keyArray) + { + if (uowCache.TryGetValue(key, out _)) + { + uowCache[key].RemoveValue(); + } + } + + UnitOfWorkManager.Current?.OnCompleted(RemoveRealCache); + } + else + { + await RemoveRealCache(); + } + } + + protected virtual async Task HandleExceptionAsync(Exception ex) + { + Logger.LogException(ex, LogLevel.Warning); + + using (var scope = ServiceScopeFactory.CreateScope()) + { + await scope.ServiceProvider + .GetRequiredService() + .NotifyAsync(new ExceptionNotificationContext(ex, LogLevel.Warning)); + } + } + + protected virtual bool ShouldConsiderUow(bool considerUow) + { + return considerUow && UnitOfWorkManager.Current != null; + } + + protected virtual string GetUnitOfWorkCacheKey() + { + return UowCacheName + CacheName; + } + + protected virtual Dictionary> GetUnitOfWorkCache() + { + if (UnitOfWorkManager.Current == null) + { + throw new AbpException($"There is no active UOW."); + } + + return UnitOfWorkManager.Current.GetOrAddItem(GetUnitOfWorkCacheKey(), + key => new Dictionary>()); + } + + private readonly ConcurrentDictionary _serializersCache = new(); + + protected virtual IHybridCacheSerializer ResolveSerializer() + { + if (_serializersCache.TryGetValue(typeof(TCacheItem), out var serializer)) + { + return serializer.As>(); + } + + serializer = ServiceProvider.GetService>(); + if (serializer is null) + { + var factories = ServiceProvider.GetServices().ToArray(); + Array.Reverse(factories); + foreach (var factory in factories) + { + if (factory.TryCreateSerializer(out var current)) + { + serializer = current; + break; + } + } + } + + if (serializer is null) + { + throw new InvalidOperationException($"No {nameof(IHybridCacheSerializer)} configured for type '{typeof(TCacheItem).Name}'"); + } + + return serializer.As>(); + } +} diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheJsonSerializer.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheJsonSerializer.cs new file mode 100644 index 0000000000..b94d1a2ea2 --- /dev/null +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheJsonSerializer.cs @@ -0,0 +1,27 @@ +using System.Buffers; +using System.Text.Json; +using Microsoft.Extensions.Caching.Hybrid; + +namespace Volo.Abp.Caching.Hybrid; + +public class AbpHybridCacheJsonSerializer : IHybridCacheSerializer +{ + protected JsonSerializerOptions JsonSerializerOptions { get; } + + public AbpHybridCacheJsonSerializer(JsonSerializerOptions jsonSerializerOptions) + { + JsonSerializerOptions = jsonSerializerOptions; + } + + public virtual T Deserialize(ReadOnlySequence source) + { + var reader = new Utf8JsonReader(source); + return JsonSerializer.Deserialize(ref reader, JsonSerializerOptions)!; + } + + public virtual void Serialize(T value, IBufferWriter target) + { + using var writer = new Utf8JsonWriter(target); + JsonSerializer.Serialize(writer, value, JsonSerializerOptions); + } +} diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheJsonSerializerFactory.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheJsonSerializerFactory.cs new file mode 100644 index 0000000000..65965ecf87 --- /dev/null +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheJsonSerializerFactory.cs @@ -0,0 +1,27 @@ +using Microsoft.Extensions.Caching.Hybrid; +using Microsoft.Extensions.Options; +using Volo.Abp.Json.SystemTextJson; + +namespace Volo.Abp.Caching.Hybrid; + +public class AbpHybridCacheJsonSerializerFactory : IHybridCacheSerializerFactory +{ + protected IOptions Options { get; } + + public AbpHybridCacheJsonSerializerFactory(IOptions options) + { + Options = options; + } + + public bool TryCreateSerializer(out IHybridCacheSerializer? serializer) + { + if (typeof(T) == typeof(string) || typeof(T) == typeof(byte[])) + { + serializer = null; + return false; + } + + serializer = new AbpHybridCacheJsonSerializer(Options.Value.JsonSerializerOptions); + return true; + } +} diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheOptions.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheOptions.cs new file mode 100644 index 0000000000..039a5e3142 --- /dev/null +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCacheOptions.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using Microsoft.Extensions.Caching.Hybrid; + +namespace Volo.Abp.Caching.Hybrid; + +public class AbpHybridCacheOptions +{ + /// + /// Throw or hide exceptions for the distributed cache. + /// + public bool HideErrors { get; set; } = true; + + /// + /// Cache key prefix. + /// + public string KeyPrefix { get; set; } + + /// + /// Global Cache entry options. + /// + public HybridCacheEntryOptions GlobalHybridCacheEntryOptions { get; set; } + + /// + /// List of all cache configurators. + /// (func argument:Name of cache) + /// + public List> CacheConfigurators { get; set; } //TODO: use a configurator interface instead? + + public AbpHybridCacheOptions() + { + CacheConfigurators = new List>(); + GlobalHybridCacheEntryOptions = new HybridCacheEntryOptions(); + KeyPrefix = ""; + } + + public void ConfigureCache(HybridCacheEntryOptions? options) + { + ConfigureCache(typeof(TCacheItem), options); + } + + public void ConfigureCache(Type cacheItemType, HybridCacheEntryOptions? options) + { + ConfigureCache(CacheNameAttribute.GetCacheName(cacheItemType), options); + } + + public void ConfigureCache(string cacheName, HybridCacheEntryOptions? options) + { + CacheConfigurators.Add(name => cacheName != name ? null : options); + } +} diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/IHybridCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/IHybridCache.cs new file mode 100644 index 0000000000..4fb61a6e75 --- /dev/null +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/IHybridCache.cs @@ -0,0 +1,93 @@ +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using JetBrains.Annotations; +using Microsoft.Extensions.Caching.Hybrid; + +namespace Volo.Abp.Caching.Hybrid; + +/// +/// Represents a hybrid cache of items. +/// +/// The type of the cache item being cached. +public interface IHybridCache : IHybridCache + where TCacheItem : class +{ + IHybridCache InternalCache { get; } +} + +/// +/// Represents a hybrid cache of items. +/// Uses as the key type. +/// +/// The type of cache item being cached. +/// The type of cache key being used. +public interface IHybridCache + where TCacheItem : class +{ + /// + /// Gets or Creates a cache item with the given key. If no cache item is found for the given key then adds a cache item + /// provided by delegate and returns the provided cache item. + /// + /// The key of cached item to be retrieved from the cache. + /// The factory delegate is used to provide the cache item when no cache item is found for the given . + /// The cache options for the factory delegate. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The cache item. + Task GetOrCreateAsync( + [NotNull]TCacheKey key, + Func> factory, + Func? optionsFactory = null, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default); + + /// + /// Sets the cache item value for the provided key. + /// + /// The key of cached item to be retrieved from the cache. + /// The cache item value to set in the cache. + /// The cache options for the value. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The indicating that the operation is asynchronous. + Task SetAsync( + [NotNull]TCacheKey key, + TCacheItem value, + HybridCacheEntryOptions? options = null, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default); + + /// + /// Removes the cache item for given key from cache. + /// + /// The key of cached item to be retrieved from the cache. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The indicating that the operation is asynchronous. + Task RemoveAsync( + [NotNull]TCacheKey key, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default); + + /// + /// Removes the cache items for given keys from cache. + /// + /// The keys of cached items to be retrieved from the cache. + /// Indicates to throw or hide the exceptions for the distributed cache. + /// This will store the cache in the current unit of work until the end of the current unit of work does not really affect the cache. + /// The for the task. + /// The indicating that the operation is asynchronous. + Task RemoveManyAsync( + IEnumerable keys, + bool? hideErrors = null, + bool considerUow = false, + CancellationToken token = default); +} diff --git a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/AbpCachingTestModule.cs b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/AbpCachingTestModule.cs index b45cded03c..21f39bdc77 100644 --- a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/AbpCachingTestModule.cs +++ b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/AbpCachingTestModule.cs @@ -1,7 +1,9 @@ using Microsoft.Extensions.Caching.Distributed; using System; +using Microsoft.Extensions.Caching.Hybrid; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.DependencyInjection.Extensions; +using Volo.Abp.Caching.Hybrid; using Volo.Abp.Modularity; namespace Volo.Abp.Caching; @@ -29,6 +31,29 @@ public class AbpCachingTestModule : AbpModule option.GlobalCacheEntryOptions.SetSlidingExpiration(TimeSpan.FromMinutes(20)); }); + Configure(option => + { + option.CacheConfigurators.Add(cacheName => + { + if (cacheName == CacheNameAttribute.GetCacheName(typeof(Sail.Testing.Caching.PersonCacheItem))) + { + return new HybridCacheEntryOptions() + { + Expiration = TimeSpan.FromMinutes(10), + LocalCacheExpiration = TimeSpan.FromMinutes(5) + }; + } + + return null; + }); + + option.GlobalHybridCacheEntryOptions = new HybridCacheEntryOptions() + { + Expiration = TimeSpan.FromMinutes(20), + LocalCacheExpiration = TimeSpan.FromMinutes(10) + }; + }); + context.Services.Replace(ServiceDescriptor.Singleton()); } } diff --git a/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/HybridCache_Tests.cs b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/HybridCache_Tests.cs new file mode 100644 index 0000000000..04d66903f7 --- /dev/null +++ b/framework/test/Volo.Abp.Caching.Tests/Volo/Abp/Caching/HybridCache_Tests.cs @@ -0,0 +1,519 @@ +using System; +using System.Threading.Tasks; +using Shouldly; +using Volo.Abp.Caching.Hybrid; +using Volo.Abp.Testing; +using Volo.Abp.Uow; +using Xunit; + +namespace Volo.Abp.Caching; + +public class HybridCache_Tests : AbpIntegratedTest +{ + [Fact] + public async Task Should_GetOrCreate_Set_And_Remove_Cache_Items() + { + var personCache = GetRequiredService>(); + + var cacheKey = Guid.NewGuid().ToString(); + + //GetOrCreateAsync + var cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem("john nash"))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe("john nash"); + + //SetAsync + await personCache.SetAsync(cacheKey, new PersonCacheItem("baris")); + + //GetOrCreateAsync + cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem("john nash"))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe("baris"); + + //RemoveAsync + await personCache.RemoveAsync(cacheKey); + + //GetOrCreateAsync + cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem("lucas"))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe("lucas"); + } + + [Fact] + public async Task GetOrCreateAsync() + { + var personCache = GetRequiredService>(); + + var cacheKey = Guid.NewGuid().ToString(); + const string personName = "john nash"; + + //Will execute the factory method to create the cache item + + bool factoryExecuted = false; + + var cacheItem = await personCache.GetOrCreateAsync(cacheKey, + () => + { + factoryExecuted = true; + return Task.FromResult(new PersonCacheItem(personName)); + }); + + factoryExecuted.ShouldBeTrue(); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName); + + //This time, it will not execute the factory + + factoryExecuted = false; + + cacheItem = await personCache.GetOrCreateAsync(cacheKey, + () => + { + factoryExecuted = true; + return Task.FromResult(new PersonCacheItem(personName)); + }); + + factoryExecuted.ShouldBeFalse(); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName); + } + + [Fact] + public async Task SameClassName_But_DiffNamespace_Should_Not_Use_Same_Cache() + { + var personCache = GetRequiredService>(); + var otherPersonCache = GetRequiredService>(); + + var cacheKey = Guid.NewGuid().ToString(); + const string personName = "john nash"; + + var cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName); + var cacheItem1 = await otherPersonCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new Sail.Testing.Caching.PersonCacheItem(personName))); + cacheItem1.ShouldNotBeNull(); + cacheItem1.Name.ShouldBe(personName); + + await personCache.RemoveAsync(cacheKey); + + cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem(personName + "1"))); + cacheItem1 = await otherPersonCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new Sail.Testing.Caching.PersonCacheItem(personName + "1"))); + + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName + "1"); + + cacheItem1.ShouldNotBeNull(); + cacheItem1.Name.ShouldBe(personName); + } + + [Fact] + public async Task Should_Set_Get_And_Remove_Cache_Items_With_Integer_Type_CacheKey() + { + var personCache = GetRequiredService>(); + + var cacheKey = 42; + const string personName = "john nash"; + + //GetOrCreateAsync + var cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName); + + //SetAsync + await personCache.SetAsync(cacheKey, new PersonCacheItem("baris")); + + //GetOrCreateAsync + cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe("baris"); + + //RemoveAsync + await personCache.RemoveAsync(cacheKey); + + //GetOrCreateAsync + cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem("lucas"))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe("lucas"); + } + + [Fact] + public async Task GetOrAddAsync_With_Integer_Type_CacheKey() + { + var personCache = GetRequiredService>(); + + var cacheKey = 42; + const string personName = "john nash"; + + //Will execute the factory method to create the cache item + + bool factoryExecuted = false; + + var cacheItem = await personCache.GetOrCreateAsync(cacheKey, + () => + { + factoryExecuted = true; + return Task.FromResult(new PersonCacheItem(personName)); + }); + + factoryExecuted.ShouldBeTrue(); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName); + + //This time, it will not execute the factory + + factoryExecuted = false; + + cacheItem = await personCache.GetOrCreateAsync(cacheKey, + () => + { + factoryExecuted = true; + return Task.FromResult(new PersonCacheItem(personName)); + }); + + factoryExecuted.ShouldBeFalse(); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName); + } + + [Fact] + public async Task SameClassName_But_DiffNamespace_Should_Not_Use_Same_Cache_With_Integer_CacheKey() + { + var personCache = GetRequiredService>(); + var otherPersonCache = GetRequiredService>(); + + var cacheKey = 42; + const string personName = "john nash"; + + var cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName); + var cacheItem1 = await otherPersonCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new Sail.Testing.Caching.PersonCacheItem(personName))); + cacheItem1.ShouldNotBeNull(); + cacheItem1.Name.ShouldBe(personName); + + await personCache.RemoveAsync(cacheKey); + + cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem(personName + "1"))); + cacheItem1 = await otherPersonCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new Sail.Testing.Caching.PersonCacheItem(personName + "1"))); + + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName + "1"); + + cacheItem1.ShouldNotBeNull(); + cacheItem1.Name.ShouldBe(personName); + } + + [Fact] + public async Task Should_Set_Get_And_Remove_Cache_Items_With_Object_Type_CacheKey() + { + var personCache = GetRequiredService>(); + + var cacheKey = new ComplexObjectAsCacheKey { Name = "DummyData", Age = 42 }; + const string personName = "john nash"; + + //GetOrCreateAsync + var cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe(personName); + + //SetAsync + await personCache.SetAsync(cacheKey, new PersonCacheItem("baris")); + + //GetOrCreateAsync + cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe("baris"); + + //RemoveAsync + await personCache.RemoveAsync(cacheKey); + + //GetOrCreateAsync + cacheItem = await personCache.GetOrCreateAsync(cacheKey, () => Task.FromResult(new PersonCacheItem("lucas"))); + cacheItem.ShouldNotBeNull(); + cacheItem.Name.ShouldBe("lucas"); + } + + [Fact] + public async Task Should_Set_Get_And_Remove_Cache_Items_For_Same_Object_Type_With_Different_CacheKeys() + { + var personCache = GetRequiredService>(); + + var cache1Key = new ComplexObjectAsCacheKey { Name = "John", Age = 42 }; + var cache2Key = new ComplexObjectAsCacheKey { Name = "Jenny", Age = 24 }; + const string personName = "john nash"; + + //GetOrCreateAsync + var cacheItem1 = await personCache.GetOrCreateAsync(cache1Key, () => Task.FromResult(new PersonCacheItem(personName))); + var cacheItem2 = await personCache.GetOrCreateAsync(cache2Key, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem1.ShouldNotBeNull(); + cacheItem1.Name.ShouldBe(personName); + cacheItem2.ShouldNotBeNull(); + cacheItem2.Name.ShouldBe(personName); + + //SetAsync + cacheItem1 = new PersonCacheItem("baris"); + cacheItem2 = new PersonCacheItem("jack"); + await personCache.SetAsync(cache1Key, cacheItem1); + await personCache.SetAsync(cache2Key, cacheItem2); + + //GetOrCreateAsync + cacheItem1 = await personCache.GetOrCreateAsync(cache1Key, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem2 = await personCache.GetOrCreateAsync(cache2Key, () => Task.FromResult(new PersonCacheItem(personName))); + cacheItem1.ShouldNotBeNull(); + cacheItem1.Name.ShouldBe("baris"); + cacheItem2.ShouldNotBeNull(); + cacheItem2.Name.ShouldBe("jack"); + + //Remove + await personCache.RemoveAsync(cache1Key); + await personCache.RemoveAsync(cache2Key); + + //Get (not exists since removed) + cacheItem1 = await personCache.GetOrCreateAsync(cache1Key, () => Task.FromResult(new PersonCacheItem("lucas"))); + cacheItem2 = await personCache.GetOrCreateAsync(cache2Key, () => Task.FromResult(new PersonCacheItem("peter"))); + cacheItem1.ShouldNotBeNull(); + cacheItem1.Name.ShouldBe("lucas"); + cacheItem2.ShouldNotBeNull(); + cacheItem2.Name.ShouldBe("peter"); + } + + [Fact] + public async Task Cache_Should_Only_Available_In_Uow_For_GetOrCreateAsync() + { + const string key = "testkey"; + + using (var uow = GetRequiredService().Begin()) + { + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + await personCache.SetAsync(key, new PersonCacheItem("lucas"), considerUow: true); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john2")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("lucas"); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john3")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john3"); + + uow.OnCompleted(async () => + { + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john4")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("lucas"); + }); + + await uow.CompleteAsync(); + } + } + + [Fact] + public async Task Cache_Should_Rollback_With_Uow_For_GetOrCreateAsync() + { + const string key = "testkey"; + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + using (var uow = GetRequiredService().Begin()) + { + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john2")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + await personCache.SetAsync(key, new PersonCacheItem("john3"), considerUow: true); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john4")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john3"); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john5")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + } + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john6")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + } + + [Fact] + public async Task Cache_Should_Only_Available_In_Uow_For_SetAsync() + { + const string key = "testkey"; + + using (var uow = GetRequiredService().Begin()) + { + var personCache = GetRequiredService>(); + + await personCache.SetAsync(key, new PersonCacheItem("john"), considerUow: true); + + var cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john2")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john3")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john3"); + + uow.OnCompleted(async () => + { + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john4")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + }); + + await uow.CompleteAsync(); + } + } + + [Fact] + public async Task Cache_Should_Rollback_With_Uow_For_SetAsync() + { + const string key = "testkey"; + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + using (var uow = GetRequiredService().Begin()) + { + await personCache.SetAsync(key, new PersonCacheItem("john2"), considerUow: true); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john3")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john2"); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john4")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + } + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john5")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + } + + [Fact] + public async Task Cache_Should_Only_Available_In_Uow_For_RemoveAsync() + { + const string key = "testkey"; + + using (var uow = GetRequiredService().Begin()) + { + var personCache = GetRequiredService>(); + + await personCache.SetAsync(key, new PersonCacheItem("john"), considerUow: true); + + var cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john2")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + await personCache.RemoveAsync(key, considerUow: true); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john3")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john3"); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john4")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john4"); + + uow.OnCompleted(async () => + { + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john5")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john3"); + }); + + await uow.CompleteAsync(); + } + } + + public async Task Cache_Should_Rollback_With_Uow_For_RemoveAsync() + { + const string key = "testkey"; + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + using (var uow = GetRequiredService().Begin()) + { + await personCache.SetAsync(key, new PersonCacheItem("john2"), considerUow: true); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john2"); + + await personCache.RemoveAsync(key, considerUow: true); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john3")), considerUow: true); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john3")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + } + + cacheValue = await personCache.GetOrCreateAsync(key, () => Task.FromResult(new PersonCacheItem("john")), considerUow: false); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + } + + [Fact] + public async Task Should_Remove_Multiple_Items_Async() + { + var testkey = "testkey"; + var testkey2 = "testkey2"; + var testkey3 = new[] { testkey, testkey2 }; + + var personCache = GetRequiredService>(); + + var cacheValue = await personCache.GetOrCreateAsync(testkey, () => Task.FromResult(new PersonCacheItem("john"))); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john"); + + cacheValue = await personCache.GetOrCreateAsync(testkey2, () => Task.FromResult(new PersonCacheItem("jack"))); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("jack"); + + await personCache.RemoveManyAsync(testkey3); + + cacheValue = await personCache.GetOrCreateAsync(testkey, () => Task.FromResult(new PersonCacheItem("john2"))); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("john2"); + + cacheValue = await personCache.GetOrCreateAsync(testkey2, () => Task.FromResult(new PersonCacheItem("jack2"))); + cacheValue.ShouldNotBeNull(); + cacheValue.Name.ShouldBe("jack2"); + } + + [Fact] + public async Task Should_Get_Same_Cache_Set_When_Resolve_With_Or_Without_Key() + { + var cache1 = GetRequiredService>(); + var cache2 = GetRequiredService>(); + + cache1.InternalCache.ShouldBe(cache2); + + await cache1.SetAsync("john", new PersonCacheItem("john")); + + var item1 = await cache1.GetOrCreateAsync("john", () => Task.FromResult(new PersonCacheItem("john2"))); + item1.ShouldNotBeNull(); + item1.Name.ShouldBe("john"); + + var item2 = await cache1.GetOrCreateAsync("john", () => Task.FromResult(new PersonCacheItem("john3"))); + item2.ShouldNotBeNull(); + item2.Name.ShouldBe("john"); + } +} From d82d6a82653880943a75606846e10a9f99a12f16 Mon Sep 17 00:00:00 2001 From: maliming Date: Sat, 28 Sep 2024 09:54:20 +0800 Subject: [PATCH 12/29] Use `ICancellationTokenProvider` to replace the `RequestAborted` token. Resolve #20916 --- .../CookieAuthenticationOptionsExtensions.cs | 4 +++- .../AbpAspNetCoreMultiTenancyOptions.cs | 14 +++++++------ .../AspNetCore/Mvc/Uow/AbpUowActionFilter.cs | 21 +++++++++++-------- .../AspNetCore/Mvc/Uow/AbpUowPageFilter.cs | 21 +++++++++++-------- .../CookieAuthenticationOptionsExtensions.cs | 4 +++- .../AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs | 8 +++++-- 6 files changed, 44 insertions(+), 28 deletions(-) diff --git a/framework/src/Volo.Abp.AspNetCore.Components.Server/Microsoft/AspNetCore/Authentication/Cookies/CookieAuthenticationOptionsExtensions.cs b/framework/src/Volo.Abp.AspNetCore.Components.Server/Microsoft/AspNetCore/Authentication/Cookies/CookieAuthenticationOptionsExtensions.cs index 7852848e30..9d303579da 100644 --- a/framework/src/Volo.Abp.AspNetCore.Components.Server/Microsoft/AspNetCore/Authentication/Cookies/CookieAuthenticationOptionsExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore.Components.Server/Microsoft/AspNetCore/Authentication/Cookies/CookieAuthenticationOptionsExtensions.cs @@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Authentication.OpenIdConnect; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; +using Volo.Abp.Threading; namespace Microsoft.AspNetCore.Authentication.Cookies; @@ -70,7 +71,8 @@ public static class CookieAuthenticationOptionsExtensions var openIdConnectOptions = principalContext.HttpContext.RequestServices.GetRequiredService>().Get(oidcAuthenticationScheme); if (openIdConnectOptions.Configuration == null && openIdConnectOptions.ConfigurationManager != null) { - openIdConnectOptions.Configuration = await openIdConnectOptions.ConfigurationManager.GetConfigurationAsync(principalContext.HttpContext.RequestAborted); + var cancellationTokenProvider = principalContext.HttpContext.RequestServices.GetRequiredService(); + openIdConnectOptions.Configuration = await openIdConnectOptions.ConfigurationManager.GetConfigurationAsync(cancellationTokenProvider.Token); } return openIdConnectOptions; diff --git a/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/AbpAspNetCoreMultiTenancyOptions.cs b/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/AbpAspNetCoreMultiTenancyOptions.cs index 95efaf2d0c..7ac6f41176 100644 --- a/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/AbpAspNetCoreMultiTenancyOptions.cs +++ b/framework/src/Volo.Abp.AspNetCore.MultiTenancy/Volo/Abp/AspNetCore/MultiTenancy/AbpAspNetCoreMultiTenancyOptions.cs @@ -19,6 +19,7 @@ using Microsoft.Net.Http.Headers; using Volo.Abp.Http; using Volo.Abp.Json; using Volo.Abp.MultiTenancy; +using Volo.Abp.Threading; namespace Volo.Abp.AspNetCore.MultiTenancy; @@ -92,15 +93,16 @@ public class AbpAspNetCoreMultiTenancyOptions context.Response.ContentType = resolvedContentType; context.Response.StatusCode = (int)HttpStatusCode.NotFound; + var cancellationTokenProvider = context.RequestServices.GetRequiredService(); var responseStream = context.Response.Body; if (resolvedContentTypeEncoding.CodePage == Encoding.UTF8.CodePage) { try { - await JsonSerializer.SerializeAsync(responseStream, error, error.GetType(), jsonSerializerOptions, context.RequestAborted); - await responseStream.FlushAsync(context.RequestAborted); + await JsonSerializer.SerializeAsync(responseStream, error, error.GetType(), jsonSerializerOptions, cancellationTokenProvider.Token); + await responseStream.FlushAsync(cancellationTokenProvider.Token); } - catch (OperationCanceledException) when (context.RequestAborted.IsCancellationRequested) { } + catch (OperationCanceledException) when (cancellationTokenProvider.Token.IsCancellationRequested) { } } else { @@ -108,10 +110,10 @@ public class AbpAspNetCoreMultiTenancyOptions ExceptionDispatchInfo? exceptionDispatchInfo = null; try { - await JsonSerializer.SerializeAsync(transcodingStream, error, error.GetType(), jsonSerializerOptions, context.RequestAborted); - await transcodingStream.FlushAsync(context.RequestAborted); + await JsonSerializer.SerializeAsync(transcodingStream, error, error.GetType(), jsonSerializerOptions, cancellationTokenProvider.Token); + await transcodingStream.FlushAsync(cancellationTokenProvider.Token); } - catch (OperationCanceledException) when (context.RequestAborted.IsCancellationRequested) { } + catch (OperationCanceledException) when (cancellationTokenProvider.Token.IsCancellationRequested) { } catch (Exception ex) { exceptionDispatchInfo = ExceptionDispatchInfo.Capture(ex); diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Uow/AbpUowActionFilter.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Uow/AbpUowActionFilter.cs index 4a6a04a554..9512a82698 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Uow/AbpUowActionFilter.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Uow/AbpUowActionFilter.cs @@ -1,11 +1,13 @@ using System; using System.Net.Http; +using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc.Abstractions; using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.Extensions.Options; using Volo.Abp.AspNetCore.Filters; using Volo.Abp.DependencyInjection; +using Volo.Abp.Threading; using Volo.Abp.Uow; namespace Volo.Abp.AspNetCore.Mvc.Uow; @@ -37,6 +39,7 @@ public class AbpUowActionFilter : IAsyncActionFilter, IAbpFilter, ITransientDepe var options = CreateOptions(context, unitOfWorkAttr); var unitOfWorkManager = context.GetRequiredService(); + var cancellationTokenProvider = context.GetRequiredService(); //Trying to begin a reserved UOW by AbpUnitOfWorkMiddleware if (unitOfWorkManager.TryBeginReserved(UnitOfWork.UnitOfWorkReservationName, options)) @@ -44,11 +47,11 @@ public class AbpUowActionFilter : IAsyncActionFilter, IAbpFilter, ITransientDepe var result = await next(); if (Succeed(result)) { - await SaveChangesAsync(context, unitOfWorkManager); + await SaveChangesAsync(context, unitOfWorkManager, cancellationTokenProvider.Token); } else { - await RollbackAsync(context, unitOfWorkManager); + await RollbackAsync(context, unitOfWorkManager, cancellationTokenProvider.Token); } return; @@ -59,11 +62,11 @@ public class AbpUowActionFilter : IAsyncActionFilter, IAbpFilter, ITransientDepe var result = await next(); if (Succeed(result)) { - await uow.CompleteAsync(context.HttpContext.RequestAborted); + await uow.CompleteAsync(cancellationTokenProvider.Token); } else { - await uow.RollbackAsync(context.HttpContext.RequestAborted); + await uow.RollbackAsync(cancellationTokenProvider.Token); } } } @@ -85,27 +88,27 @@ public class AbpUowActionFilter : IAsyncActionFilter, IAbpFilter, ITransientDepe return options; } - private async Task RollbackAsync(ActionExecutingContext context, IUnitOfWorkManager unitOfWorkManager) + private async Task RollbackAsync(ActionExecutingContext context, IUnitOfWorkManager unitOfWorkManager, CancellationToken cancellationToken) { var currentUow = unitOfWorkManager.Current; if (currentUow != null) { - await currentUow.RollbackAsync(context.HttpContext.RequestAborted); + await currentUow.RollbackAsync(cancellationToken); } } - private async Task SaveChangesAsync(ActionExecutingContext context, IUnitOfWorkManager unitOfWorkManager) + private async Task SaveChangesAsync(ActionExecutingContext context, IUnitOfWorkManager unitOfWorkManager, CancellationToken cancellationToken) { var currentUow = unitOfWorkManager.Current; if (currentUow != null) { try { - await currentUow.SaveChangesAsync(context.HttpContext.RequestAborted); + await currentUow.SaveChangesAsync(cancellationToken); } catch (Exception e) { - await currentUow.RollbackAsync(context.HttpContext.RequestAborted); + await currentUow.RollbackAsync(cancellationToken); throw; } } diff --git a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Uow/AbpUowPageFilter.cs b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Uow/AbpUowPageFilter.cs index f4a7be3333..5c69c07797 100644 --- a/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Uow/AbpUowPageFilter.cs +++ b/framework/src/Volo.Abp.AspNetCore.Mvc/Volo/Abp/AspNetCore/Mvc/Uow/AbpUowPageFilter.cs @@ -1,5 +1,6 @@ using System; using System.Net.Http; +using System.Threading; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc.Abstractions; using Microsoft.AspNetCore.Mvc.Filters; @@ -7,6 +8,7 @@ using Microsoft.Extensions.Options; using Volo.Abp.AspNetCore.Filters; using Volo.Abp.AspNetCore.Uow; using Volo.Abp.DependencyInjection; +using Volo.Abp.Threading; using Volo.Abp.Uow; namespace Volo.Abp.AspNetCore.Mvc.Uow; @@ -43,6 +45,7 @@ public class AbpUowPageFilter : IAsyncPageFilter, IAbpFilter, ITransientDependen var options = CreateOptions(context, unitOfWorkAttr); var unitOfWorkManager = context.GetRequiredService(); + var cancellationTokenProvider = context.GetRequiredService(); //Trying to begin a reserved UOW by AbpUnitOfWorkMiddleware if (unitOfWorkManager.TryBeginReserved(UnitOfWork.UnitOfWorkReservationName, options)) @@ -50,11 +53,11 @@ public class AbpUowPageFilter : IAsyncPageFilter, IAbpFilter, ITransientDependen var result = await next(); if (Succeed(result)) { - await SaveChangesAsync(context, unitOfWorkManager); + await SaveChangesAsync(context, unitOfWorkManager, cancellationTokenProvider.Token); } else { - await RollbackAsync(context, unitOfWorkManager); + await RollbackAsync(context, unitOfWorkManager, cancellationTokenProvider.Token); } return; @@ -65,11 +68,11 @@ public class AbpUowPageFilter : IAsyncPageFilter, IAbpFilter, ITransientDependen var result = await next(); if (Succeed(result)) { - await uow.CompleteAsync(context.HttpContext.RequestAborted); + await uow.CompleteAsync(cancellationTokenProvider.Token); } else { - await uow.RollbackAsync(context.HttpContext.RequestAborted); + await uow.RollbackAsync(cancellationTokenProvider.Token); } } } @@ -91,27 +94,27 @@ public class AbpUowPageFilter : IAsyncPageFilter, IAbpFilter, ITransientDependen return options; } - private async Task RollbackAsync(PageHandlerExecutingContext context, IUnitOfWorkManager unitOfWorkManager) + private async Task RollbackAsync(PageHandlerExecutingContext context, IUnitOfWorkManager unitOfWorkManager, CancellationToken cancellationToken) { var currentUow = unitOfWorkManager.Current; if (currentUow != null) { - await currentUow.RollbackAsync(context.HttpContext.RequestAborted); + await currentUow.RollbackAsync(cancellationToken); } } - private async Task SaveChangesAsync(PageHandlerExecutingContext context, IUnitOfWorkManager unitOfWorkManager) + private async Task SaveChangesAsync(PageHandlerExecutingContext context, IUnitOfWorkManager unitOfWorkManager, CancellationToken cancellationToken) { var currentUow = unitOfWorkManager.Current; if (currentUow != null) { try { - await currentUow.SaveChangesAsync(context.HttpContext.RequestAborted); + await currentUow.SaveChangesAsync(cancellationToken); } catch (Exception e) { - await currentUow.RollbackAsync(context.HttpContext.RequestAborted); + await currentUow.RollbackAsync(cancellationToken); throw; } } diff --git a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/CookieAuthenticationOptionsExtensions.cs b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/CookieAuthenticationOptionsExtensions.cs index 15e353431e..74def27c8e 100644 --- a/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/CookieAuthenticationOptionsExtensions.cs +++ b/framework/src/Volo.Abp.AspNetCore/Microsoft/Extensions/DependencyInjection/CookieAuthenticationOptionsExtensions.cs @@ -7,6 +7,7 @@ using Microsoft.AspNetCore.Authentication.Cookies; using Microsoft.AspNetCore.Authentication.OpenIdConnect; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; +using Volo.Abp.Threading; namespace Microsoft.Extensions.DependencyInjection; @@ -84,9 +85,10 @@ public static class CookieAuthenticationOptionsExtensions private async static Task GetOpenIdConnectOptions(CookieValidatePrincipalContext principalContext, string oidcAuthenticationScheme) { var openIdConnectOptions = principalContext.HttpContext.RequestServices.GetRequiredService>().Get(oidcAuthenticationScheme); + var cancellationTokenProvider = principalContext.HttpContext.RequestServices.GetRequiredService(); if (openIdConnectOptions.Configuration == null && openIdConnectOptions.ConfigurationManager != null) { - openIdConnectOptions.Configuration = await openIdConnectOptions.ConfigurationManager.GetConfigurationAsync(principalContext.HttpContext.RequestAborted); + openIdConnectOptions.Configuration = await openIdConnectOptions.ConfigurationManager.GetConfigurationAsync(cancellationTokenProvider.Token); } return openIdConnectOptions; diff --git a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs index a3c98978f0..74833bf748 100644 --- a/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs +++ b/framework/src/Volo.Abp.AspNetCore/Volo/Abp/AspNetCore/Uow/AbpUnitOfWorkMiddleware.cs @@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Http; using Microsoft.Extensions.Options; using Volo.Abp.AspNetCore.Middleware; using Volo.Abp.DependencyInjection; +using Volo.Abp.Threading; using Volo.Abp.Uow; namespace Volo.Abp.AspNetCore.Uow; @@ -14,13 +15,16 @@ public class AbpUnitOfWorkMiddleware : AbpMiddlewareBase, ITransientDependency { private readonly IUnitOfWorkManager _unitOfWorkManager; private readonly AbpAspNetCoreUnitOfWorkOptions _options; + private readonly ICancellationTokenProvider _cancellationTokenProvider; public AbpUnitOfWorkMiddleware( IUnitOfWorkManager unitOfWorkManager, - IOptions options) + IOptions options, + ICancellationTokenProvider cancellationTokenProvider) { _unitOfWorkManager = unitOfWorkManager; _options = options.Value; + _cancellationTokenProvider = cancellationTokenProvider; } public async override Task InvokeAsync(HttpContext context, RequestDelegate next) @@ -34,7 +38,7 @@ public class AbpUnitOfWorkMiddleware : AbpMiddlewareBase, ITransientDependency using (var uow = _unitOfWorkManager.Reserve(UnitOfWork.UnitOfWorkReservationName)) { await next(context); - await uow.CompleteAsync(context.RequestAborted); + await uow.CompleteAsync(_cancellationTokenProvider.Token); } } From f657fbe0a84548506a40c8b79486b04a066f8dac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alper=20Ebi=C3=A7o=C4=9Flu?= <9526587+ebicoglu@users.noreply.github.com> Date: Wed, 2 Oct 2024 11:53:20 +0300 Subject: [PATCH 13/29] Update dynamic-claims.md --- docs/en/framework/fundamentals/dynamic-claims.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/en/framework/fundamentals/dynamic-claims.md b/docs/en/framework/fundamentals/dynamic-claims.md index 44bebd2aea..f326ac444d 100644 --- a/docs/en/framework/fundamentals/dynamic-claims.md +++ b/docs/en/framework/fundamentals/dynamic-claims.md @@ -1,8 +1,8 @@ # Dynamic Claims -When a client authenticates and obtains an access token or an authentication cookie, the claims in that token or cookie are not changed unless it re-authenticates. For most of the claims, that may not be a problem since claims are not frequently changing values. However, some claims may be changed and these changes should be reflected to the current session immediately. For example, we can revoke a role from a user and that should be immediately effective, otherwise user will continue to use that role's permissions until re-login to the application. +When a client authenticates and obtains an access token or an authentication cookie, the claims in that token or cookie are not changed unless it re-authenticates. That is not a problem for most claims since the claim values do not frequently change. However, for some claims, it may be required to immediately see the impact after the claim values change in the current session. For example, if a role is revoked from a user, you want to see its effect in the next request. Otherwise, the user will continue to use that role's permissions until re-login to the application. -ABP's dynamic claims feature is used to automatically and dynamically override the configured claim values in the client's authentication token/cookie by the latest values of these claims. +ABP's dynamic claims feature dynamically overrides the configured claim values in the client's authentication token/cookie with the latest values of these claims. ## How to Use @@ -10,7 +10,7 @@ This feature is disabled by default. You should enable it for your application a > **Beginning from the v8.0, all the [startup templates](../../solution-templates) are pre-configured and the dynamic claims feature is enabled by default. So, if you have created a solution with v8.0 and above, you don't need to make any configuration. Follow the instructions only if you've upgraded from a version lower than 8.0.** -### Enabling the Dynamic Claims +### Enabling / Disabling the Dynamic Claims You can enable it by the following code: @@ -19,7 +19,7 @@ public override void ConfigureServices(ServiceConfigurationContext context) { context.Services.Configure(options => { - options.IsDynamicClaimsEnabled = true; + options.IsDynamicClaimsEnabled = true; //set it "true" to enable "Dynamic Claims" or "false" to disable it. }); } ```` From bdffd14c1820e330c9da638271fe3b2145bc6ef0 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 2 Oct 2024 17:38:05 +0800 Subject: [PATCH 14/29] Update migrations for template projects. --- ....cs => 20241002093338_Initial.Designer.cs} | 2 +- ...3_Initial.cs => 20241002093338_Initial.cs} | 0 ....cs => 20241002093531_Initial.Designer.cs} | 2 +- ...8_Initial.cs => 20241002093531_Initial.cs} | 0 ....cs => 20241002093248_Initial.Designer.cs} | 2 +- ...2_Initial.cs => 20241002093248_Initial.cs} | 0 .../MyProjectNameDbContextModelSnapshot.cs | 1908 +++++++++++++++++ ....cs => 20241002093310_Initial.Designer.cs} | 2 +- ...2_Initial.cs => 20241002093310_Initial.cs} | 0 ....cs => 20241002093350_Initial.Designer.cs} | 2 +- ...4_Initial.cs => 20241002093350_Initial.cs} | 0 ....cs => 20241002093429_Initial.Designer.cs} | 2 +- ...6_Initial.cs => 20241002093429_Initial.cs} | 0 ....cs => 20241002093412_Initial.Designer.cs} | 2 +- ...6_Initial.cs => 20241002093412_Initial.cs} | 0 ....cs => 20241002093440_Initial.Designer.cs} | 2 +- ...9_Initial.cs => 20241002093440_Initial.cs} | 0 ....cs => 20241002093456_Initial.Designer.cs} | 2 +- ...7_Initial.cs => 20241002093456_Initial.cs} | 0 19 files changed, 1917 insertions(+), 9 deletions(-) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/{20241002091603_Initial.Designer.cs => 20241002093338_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/{20241002091603_Initial.cs => 20241002093338_Initial.cs} (100%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/{20241002091808_Initial.Designer.cs => 20241002093531_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/{20241002091808_Initial.cs => 20241002093531_Initial.cs} (100%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/{20241002091512_Initial.Designer.cs => 20241002093248_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/{20241002091512_Initial.cs => 20241002093248_Initial.cs} (100%) create mode 100644 templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/{20241002091532_Initial.Designer.cs => 20241002093310_Initial.Designer.cs} (99%) rename templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/{20241002091532_Initial.cs => 20241002093310_Initial.cs} (100%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/{20241002091614_Initial.Designer.cs => 20241002093350_Initial.Designer.cs} (99%) rename templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/{20241002091614_Initial.cs => 20241002093350_Initial.cs} (100%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/{20241002091656_Initial.Designer.cs => 20241002093429_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/{20241002091656_Initial.cs => 20241002093429_Initial.cs} (100%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/{20241002091636_Initial.Designer.cs => 20241002093412_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/{20241002091636_Initial.cs => 20241002093412_Initial.cs} (100%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/{20241002091709_Initial.Designer.cs => 20241002093440_Initial.Designer.cs} (96%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/{20241002091709_Initial.cs => 20241002093440_Initial.cs} (100%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20241002091727_Initial.Designer.cs => 20241002093456_Initial.Designer.cs} (99%) rename templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/{20241002091727_Initial.cs => 20241002093456_Initial.cs} (100%) diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002091603_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002093338_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002091603_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002093338_Initial.Designer.cs index ba70ef18ca..2832a92de9 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002091603_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002093338_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Blazor.Server.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20241002091603_Initial")] + [Migration("20241002093338_Initial")] partial class Initial { /// diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002091603_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002093338_Initial.cs similarity index 100% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002091603_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.Server/Migrations/20241002093338_Initial.cs diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002091808_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002093531_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002091808_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002093531_Initial.Designer.cs index bce9346e86..736b2e7ea5 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002091808_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002093531_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20241002091808_Initial")] + [Migration("20241002093531_Initial")] partial class Initial { /// diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002091808_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002093531_Initial.cs similarity index 100% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002091808_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Blazor.WebAssembly/Server/Migrations/20241002093531_Initial.cs diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002091512_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002093248_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002091512_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002093248_Initial.Designer.cs index dd9de1dea4..dc556121be 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002091512_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002093248_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Host.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20241002091512_Initial")] + [Migration("20241002093248_Initial")] partial class Initial { /// diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002091512_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002093248_Initial.cs similarity index 100% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002091512_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/20241002093248_Initial.cs diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs new file mode 100644 index 0000000000..c85b4c73fa --- /dev/null +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Host/Migrations/MyProjectNameDbContextModelSnapshot.cs @@ -0,0 +1,1908 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Metadata; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using MyCompanyName.MyProjectName.Data; +using Volo.Abp.EntityFrameworkCore; + +#nullable disable + +namespace MyCompanyName.MyProjectName.Host.Migrations +{ + [DbContext(typeof(MyProjectNameDbContext))] + partial class MyProjectNameDbContextModelSnapshot : ModelSnapshot + { + protected override void BuildModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.SqlServer) + .HasAnnotation("ProductVersion", "9.0.0-rc.1.24451.1") + .HasAnnotation("Relational:MaxIdentifierLength", 128); + + SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)") + .HasColumnName("ApplicationName"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("BrowserInfo"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ClientId"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ClientIpAddress"); + + b.Property("ClientName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("ClientName"); + + b.Property("Comments") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Comments"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("CorrelationId"); + + b.Property("Exceptions") + .HasColumnType("nvarchar(max)"); + + b.Property("ExecutionDuration") + .HasColumnType("int") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("HttpMethod") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("HttpMethod"); + + b.Property("HttpStatusCode") + .HasColumnType("int") + .HasColumnName("HttpStatusCode"); + + b.Property("ImpersonatorTenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("ImpersonatorTenantId"); + + b.Property("ImpersonatorTenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("ImpersonatorTenantName"); + + b.Property("ImpersonatorUserId") + .HasColumnType("uniqueidentifier") + .HasColumnName("ImpersonatorUserId"); + + b.Property("ImpersonatorUserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("ImpersonatorUserName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("TenantName"); + + b.Property("Url") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Url"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier") + .HasColumnName("UserId"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "ExecutionTime"); + + b.HasIndex("TenantId", "UserId", "ExecutionTime"); + + b.ToTable("AbpAuditLogs", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AuditLogId") + .HasColumnType("uniqueidentifier") + .HasColumnName("AuditLogId"); + + b.Property("ExecutionDuration") + .HasColumnType("int") + .HasColumnName("ExecutionDuration"); + + b.Property("ExecutionTime") + .HasColumnType("datetime2") + .HasColumnName("ExecutionTime"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("MethodName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("MethodName"); + + b.Property("Parameters") + .HasMaxLength(2000) + .HasColumnType("nvarchar(2000)") + .HasColumnName("Parameters"); + + b.Property("ServiceName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("ServiceName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "ServiceName", "MethodName", "ExecutionTime"); + + b.ToTable("AbpAuditLogActions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AuditLogId") + .HasColumnType("uniqueidentifier") + .HasColumnName("AuditLogId"); + + b.Property("ChangeTime") + .HasColumnType("datetime2") + .HasColumnName("ChangeTime"); + + b.Property("ChangeType") + .HasColumnType("tinyint") + .HasColumnName("ChangeType"); + + b.Property("EntityId") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("EntityId"); + + b.Property("EntityTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("EntityTypeFullName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("EntityTypeFullName"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("AuditLogId"); + + b.HasIndex("TenantId", "EntityTypeFullName", "EntityId"); + + b.ToTable("AbpEntityChanges", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("EntityChangeId") + .HasColumnType("uniqueidentifier"); + + b.Property("NewValue") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("NewValue"); + + b.Property("OriginalValue") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)") + .HasColumnName("OriginalValue"); + + b.Property("PropertyName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("PropertyName"); + + b.Property("PropertyTypeFullName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("PropertyTypeFullName"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("EntityChangeId"); + + b.ToTable("AbpEntityPropertyChanges", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AllowedProviders") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("DefaultValue") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("IsAvailableToHost") + .HasColumnType("bit"); + + b.Property("IsVisibleToClients") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ParentName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ValueType") + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpFeatures", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureGroupDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpFeatureGroups", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.FeatureManagement.FeatureValue", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey") + .IsUnique() + .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); + + b.ToTable("AbpFeatureValues", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityClaimType", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("Description") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsStatic") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("Regex") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("RegexDescription") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Required") + .HasColumnType("bit"); + + b.Property("ValueType") + .HasColumnType("int"); + + b.HasKey("Id"); + + b.ToTable("AbpClaimTypes", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityLinkUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("SourceTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("SourceUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetTenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("TargetUserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("SourceUserId", "SourceTenantId", "TargetUserId", "TargetTenantId") + .IsUnique() + .HasFilter("[SourceTenantId] IS NOT NULL AND [TargetTenantId] IS NOT NULL"); + + b.ToTable("AbpLinkUsers", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("EntityVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDefault") + .HasColumnType("bit") + .HasColumnName("IsDefault"); + + b.Property("IsPublic") + .HasColumnType("bit") + .HasColumnName("IsPublic"); + + b.Property("IsStatic") + .HasColumnType("bit") + .HasColumnName("IsStatic"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName"); + + b.ToTable("AbpRoles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AbpRoleClaims", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySecurityLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Action") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("ApplicationName") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("BrowserInfo") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ClientIpAddress") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CorrelationId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("CreationTime") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Identity") + .HasMaxLength(96) + .HasColumnType("nvarchar(96)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TenantName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Action"); + + b.HasIndex("TenantId", "ApplicationName"); + + b.HasIndex("TenantId", "Identity"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("AbpSecurityLogs", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentitySession", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ClientId") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("Device") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("DeviceInfo") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IpAddresses") + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.Property("LastAccessed") + .HasColumnType("datetime2"); + + b.Property("SessionId") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("SignedIn") + .HasColumnType("datetime2"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("Device"); + + b.HasIndex("SessionId"); + + b.HasIndex("TenantId", "UserId"); + + b.ToTable("AbpSessions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("AccessFailedCount") + .ValueGeneratedOnAdd() + .HasColumnType("int") + .HasDefaultValue(0) + .HasColumnName("AccessFailedCount"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Email") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("Email"); + + b.Property("EmailConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("EmailConfirmed"); + + b.Property("EntityVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsActive") + .HasColumnType("bit") + .HasColumnName("IsActive"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("IsExternal") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsExternal"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LastPasswordChangeTime") + .HasColumnType("datetimeoffset"); + + b.Property("LockoutEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("LockoutEnabled"); + + b.Property("LockoutEnd") + .HasColumnType("datetimeoffset"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Name"); + + b.Property("NormalizedEmail") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedEmail"); + + b.Property("NormalizedUserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("NormalizedUserName"); + + b.Property("PasswordHash") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("PasswordHash"); + + b.Property("PhoneNumber") + .HasMaxLength(16) + .HasColumnType("nvarchar(16)") + .HasColumnName("PhoneNumber"); + + b.Property("PhoneNumberConfirmed") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("PhoneNumberConfirmed"); + + b.Property("SecurityStamp") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("SecurityStamp"); + + b.Property("ShouldChangePasswordOnNextLogin") + .HasColumnType("bit"); + + b.Property("Surname") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)") + .HasColumnName("Surname"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("TwoFactorEnabled") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("TwoFactorEnabled"); + + b.Property("UserName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)") + .HasColumnName("UserName"); + + b.HasKey("Id"); + + b.HasIndex("Email"); + + b.HasIndex("NormalizedEmail"); + + b.HasIndex("NormalizedUserName"); + + b.HasIndex("UserName"); + + b.ToTable("AbpUsers", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .HasColumnType("uniqueidentifier"); + + b.Property("ClaimType") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ClaimValue") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AbpUserClaims", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserDelegation", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("EndTime") + .HasColumnType("datetime2"); + + b.Property("SourceUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("StartTime") + .HasColumnType("datetime2"); + + b.Property("TargetUserId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.ToTable("AbpUserDelegations", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderDisplayName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(196) + .HasColumnType("nvarchar(196)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "LoginProvider"); + + b.HasIndex("LoginProvider", "ProviderKey"); + + b.ToTable("AbpUserLogins", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "UserId"); + + b.HasIndex("UserId", "OrganizationUnitId"); + + b.ToTable("AbpUserOrganizationUnits", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId", "UserId"); + + b.ToTable("AbpUserRoles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("uniqueidentifier"); + + b.Property("LoginProvider") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Name") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.Property("Value") + .HasColumnType("nvarchar(max)"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AbpUserTokens", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Code") + .IsRequired() + .HasMaxLength(95) + .HasColumnType("nvarchar(95)") + .HasColumnName("Code"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)") + .HasColumnName("DisplayName"); + + b.Property("EntityVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("ParentId") + .HasColumnType("uniqueidentifier"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("Code"); + + b.HasIndex("ParentId"); + + b.ToTable("AbpOrganizationUnits", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.Property("OrganizationUnitId") + .HasColumnType("uniqueidentifier"); + + b.Property("RoleId") + .HasColumnType("uniqueidentifier"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("OrganizationUnitId", "RoleId"); + + b.HasIndex("RoleId", "OrganizationUnitId"); + + b.ToTable("AbpOrganizationUnitRoles", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ClientId") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("ClientSecret") + .HasColumnType("nvarchar(max)"); + + b.Property("ClientType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("ClientUri") + .HasColumnType("nvarchar(max)"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("ConsentType") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("DisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayNames") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("JsonWebKeySet") + .HasColumnType("nvarchar(max)"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("LogoUri") + .HasColumnType("nvarchar(max)"); + + b.Property("Permissions") + .HasColumnType("nvarchar(max)"); + + b.Property("PostLogoutRedirectUris") + .HasColumnType("nvarchar(max)"); + + b.Property("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property("RedirectUris") + .HasColumnType("nvarchar(max)"); + + b.Property("Requirements") + .HasColumnType("nvarchar(max)"); + + b.Property("Settings") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("ClientId"); + + b.ToTable("OpenIddictApplications", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property("Scopes") + .HasColumnType("nvarchar(max)"); + + b.Property("Status") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Subject") + .HasMaxLength(400) + .HasColumnType("nvarchar(400)"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("ApplicationId", "Status", "Subject", "Type"); + + b.ToTable("OpenIddictAuthorizations", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Scopes.OpenIddictScope", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("Description") + .HasColumnType("nvarchar(max)"); + + b.Property("Descriptions") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayName") + .HasColumnType("nvarchar(max)"); + + b.Property("DisplayNames") + .HasColumnType("nvarchar(max)"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .HasMaxLength(200) + .HasColumnType("nvarchar(200)"); + + b.Property("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property("Resources") + .HasColumnType("nvarchar(max)"); + + b.HasKey("Id"); + + b.HasIndex("Name"); + + b.ToTable("OpenIddictScopes", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Tokens.OpenIddictToken", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ApplicationId") + .HasColumnType("uniqueidentifier"); + + b.Property("AuthorizationId") + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationDate") + .HasColumnType("datetime2"); + + b.Property("ExpirationDate") + .HasColumnType("datetime2"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Payload") + .HasColumnType("nvarchar(max)"); + + b.Property("Properties") + .HasColumnType("nvarchar(max)"); + + b.Property("RedemptionDate") + .HasColumnType("datetime2"); + + b.Property("ReferenceId") + .HasMaxLength(100) + .HasColumnType("nvarchar(100)"); + + b.Property("Status") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.Property("Subject") + .HasMaxLength(400) + .HasColumnType("nvarchar(400)"); + + b.Property("Type") + .HasMaxLength(50) + .HasColumnType("nvarchar(50)"); + + b.HasKey("Id"); + + b.HasIndex("AuthorizationId"); + + b.HasIndex("ReferenceId"); + + b.HasIndex("ApplicationId", "Status", "Subject", "Type"); + + b.ToTable("OpenIddictTokens", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("GroupName") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("IsEnabled") + .HasColumnType("bit"); + + b.Property("MultiTenancySide") + .HasColumnType("tinyint"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ParentName") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Providers") + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("StateCheckers") + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.HasKey("Id"); + + b.HasIndex("GroupName"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpPermissions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGrant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("TenantId") + .HasColumnType("uniqueidentifier") + .HasColumnName("TenantId"); + + b.HasKey("Id"); + + b.HasIndex("TenantId", "Name", "ProviderName", "ProviderKey") + .IsUnique() + .HasFilter("[TenantId] IS NOT NULL"); + + b.ToTable("AbpPermissionGrants", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.PermissionManagement.PermissionGroupDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpPermissionGroups", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("ProviderKey") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("ProviderName") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.HasKey("Id"); + + b.HasIndex("Name", "ProviderName", "ProviderKey") + .IsUnique() + .HasFilter("[ProviderName] IS NOT NULL AND [ProviderKey] IS NOT NULL"); + + b.ToTable("AbpSettings", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.SettingManagement.SettingDefinitionRecord", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("DefaultValue") + .HasMaxLength(2048) + .HasColumnType("nvarchar(2048)"); + + b.Property("Description") + .HasMaxLength(512) + .HasColumnType("nvarchar(512)"); + + b.Property("DisplayName") + .IsRequired() + .HasMaxLength(256) + .HasColumnType("nvarchar(256)"); + + b.Property("ExtraProperties") + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsEncrypted") + .HasColumnType("bit"); + + b.Property("IsInherited") + .HasColumnType("bit"); + + b.Property("IsVisibleToClients") + .HasColumnType("bit"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(128) + .HasColumnType("nvarchar(128)"); + + b.Property("Providers") + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.HasKey("Id"); + + b.HasIndex("Name") + .IsUnique(); + + b.ToTable("AbpSettingDefinitions", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("uniqueidentifier"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .IsRequired() + .HasMaxLength(40) + .HasColumnType("nvarchar(40)") + .HasColumnName("ConcurrencyStamp"); + + b.Property("CreationTime") + .HasColumnType("datetime2") + .HasColumnName("CreationTime"); + + b.Property("CreatorId") + .HasColumnType("uniqueidentifier") + .HasColumnName("CreatorId"); + + b.Property("DeleterId") + .HasColumnType("uniqueidentifier") + .HasColumnName("DeleterId"); + + b.Property("DeletionTime") + .HasColumnType("datetime2") + .HasColumnName("DeletionTime"); + + b.Property("EntityVersion") + .HasColumnType("int"); + + b.Property("ExtraProperties") + .IsRequired() + .HasColumnType("nvarchar(max)") + .HasColumnName("ExtraProperties"); + + b.Property("IsDeleted") + .ValueGeneratedOnAdd() + .HasColumnType("bit") + .HasDefaultValue(false) + .HasColumnName("IsDeleted"); + + b.Property("LastModificationTime") + .HasColumnType("datetime2") + .HasColumnName("LastModificationTime"); + + b.Property("LastModifierId") + .HasColumnType("uniqueidentifier") + .HasColumnName("LastModifierId"); + + b.Property("Name") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("NormalizedName") + .IsRequired() + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.HasKey("Id"); + + b.HasIndex("Name"); + + b.HasIndex("NormalizedName"); + + b.ToTable("AbpTenants", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.Property("TenantId") + .HasColumnType("uniqueidentifier"); + + b.Property("Name") + .HasMaxLength(64) + .HasColumnType("nvarchar(64)"); + + b.Property("Value") + .IsRequired() + .HasMaxLength(1024) + .HasColumnType("nvarchar(1024)"); + + b.HasKey("TenantId", "Name"); + + b.ToTable("AbpTenantConnectionStrings", (string)null); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLogAction", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("Actions") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.AuditLog", null) + .WithMany("EntityChanges") + .HasForeignKey("AuditLogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityPropertyChange", b => + { + b.HasOne("Volo.Abp.AuditLogging.EntityChange", null) + .WithMany("PropertyChanges") + .HasForeignKey("EntityChangeId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRoleClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany("Claims") + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserClaim", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Claims") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserLogin", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Logins") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserOrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("OrganizationUnits") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b => + { + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Roles") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUserToken", b => + { + b.HasOne("Volo.Abp.Identity.IdentityUser", null) + .WithMany("Tokens") + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany() + .HasForeignKey("ParentId"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnitRole", b => + { + b.HasOne("Volo.Abp.Identity.OrganizationUnit", null) + .WithMany("Roles") + .HasForeignKey("OrganizationUnitId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Volo.Abp.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", b => + { + b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null) + .WithMany() + .HasForeignKey("ApplicationId"); + }); + + modelBuilder.Entity("Volo.Abp.OpenIddict.Tokens.OpenIddictToken", b => + { + b.HasOne("Volo.Abp.OpenIddict.Applications.OpenIddictApplication", null) + .WithMany() + .HasForeignKey("ApplicationId"); + + b.HasOne("Volo.Abp.OpenIddict.Authorizations.OpenIddictAuthorization", null) + .WithMany() + .HasForeignKey("AuthorizationId"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.TenantConnectionString", b => + { + b.HasOne("Volo.Abp.TenantManagement.Tenant", null) + .WithMany("ConnectionStrings") + .HasForeignKey("TenantId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.AuditLog", b => + { + b.Navigation("Actions"); + + b.Navigation("EntityChanges"); + }); + + modelBuilder.Entity("Volo.Abp.AuditLogging.EntityChange", b => + { + b.Navigation("PropertyChanges"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityRole", b => + { + b.Navigation("Claims"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.IdentityUser", b => + { + b.Navigation("Claims"); + + b.Navigation("Logins"); + + b.Navigation("OrganizationUnits"); + + b.Navigation("Roles"); + + b.Navigation("Tokens"); + }); + + modelBuilder.Entity("Volo.Abp.Identity.OrganizationUnit", b => + { + b.Navigation("Roles"); + }); + + modelBuilder.Entity("Volo.Abp.TenantManagement.Tenant", b => + { + b.Navigation("ConnectionStrings"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002091532_Initial.Designer.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002093310_Initial.Designer.cs similarity index 99% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002091532_Initial.Designer.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002093310_Initial.Designer.cs index a3d0500d57..b8f6f48f4b 100644 --- a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002091532_Initial.Designer.cs +++ b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002093310_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Mvc.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20241002091532_Initial")] + [Migration("20241002093310_Initial")] partial class Initial { /// diff --git a/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002091532_Initial.cs b/templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002093310_Initial.cs similarity index 100% rename from templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002091532_Initial.cs rename to templates/app-nolayers/aspnet-core/MyCompanyName.MyProjectName.Mvc/Migrations/20241002093310_Initial.cs diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002091614_Initial.Designer.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002093350_Initial.Designer.cs similarity index 99% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002091614_Initial.Designer.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002093350_Initial.Designer.cs index f298cfc4c9..879497d553 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002091614_Initial.Designer.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002093350_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameDbContext))] - [Migration("20241002091614_Initial")] + [Migration("20241002093350_Initial")] partial class Initial { /// diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002091614_Initial.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002093350_Initial.cs similarity index 100% rename from templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002091614_Initial.cs rename to templates/app/aspnet-core/src/MyCompanyName.MyProjectName.EntityFrameworkCore/Migrations/20241002093350_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002091656_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002093429_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002091656_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002093429_Initial.Designer.cs index 100dc068bd..72a9b78e7c 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002091656_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002093429_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(AuthServerDbContext))] - [Migration("20241002091656_Initial")] + [Migration("20241002093429_Initial")] partial class Initial { /// diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002091656_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002093429_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002091656_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.AuthServer/Migrations/20241002093429_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002091636_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002093412_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002091636_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002093412_Initial.Designer.cs index f8fe6b79e1..84f4aafd94 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002091636_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002093412_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Blazor.Server.Host.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20241002091636_Initial")] + [Migration("20241002093412_Initial")] partial class Initial { /// diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002091636_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002093412_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002091636_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Blazor.Server.Host/Migrations/20241002093412_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002091709_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002093440_Initial.Designer.cs similarity index 96% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002091709_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002093440_Initial.Designer.cs index 2717377036..88559ccc91 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002091709_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002093440_Initial.Designer.cs @@ -12,7 +12,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(MyProjectNameHttpApiHostMigrationsDbContext))] - [Migration("20241002091709_Initial")] + [Migration("20241002093440_Initial")] partial class Initial { /// diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002091709_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002093440_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002091709_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.HttpApi.Host/Migrations/20241002093440_Initial.cs diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002091727_Initial.Designer.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002093456_Initial.Designer.cs similarity index 99% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002091727_Initial.Designer.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002093456_Initial.Designer.cs index a8aa05a47d..c35a1f17a9 100644 --- a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002091727_Initial.Designer.cs +++ b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002093456_Initial.Designer.cs @@ -13,7 +13,7 @@ using Volo.Abp.EntityFrameworkCore; namespace MyCompanyName.MyProjectName.Migrations { [DbContext(typeof(UnifiedDbContext))] - [Migration("20241002091727_Initial")] + [Migration("20241002093456_Initial")] partial class Initial { /// diff --git a/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002091727_Initial.cs b/templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002093456_Initial.cs similarity index 100% rename from templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002091727_Initial.cs rename to templates/module/aspnet-core/host/MyCompanyName.MyProjectName.Web.Unified/Migrations/20241002093456_Initial.cs From 41dbfa23434a89709db0a5ed3484c34ad8229839 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 2 Oct 2024 18:14:38 +0800 Subject: [PATCH 15/29] Update AbpOpenIddictWildcardDomainBase.cs --- .../WildcardDomains/AbpOpenIddictWildcardDomainBase.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs index 9ecf4b3219..ccecad07c1 100644 --- a/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs +++ b/modules/openiddict/src/Volo.Abp.OpenIddict.AspNetCore/Volo/Abp/OpenIddict/WildcardDomains/AbpOpenIddictWildcardDomainBase.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System.Collections.Generic; +using System.Linq; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; From 825ca9b6bfe8ed753fbafc7d8638b7701826e9a6 Mon Sep 17 00:00:00 2001 From: maliming Date: Wed, 2 Oct 2024 18:20:45 +0800 Subject: [PATCH 16/29] Output log if there are items in the entity change list. --- .../Volo/Abp/EntityFrameworkCore/AbpDbContext.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs index 15887933ba..abcdb97a5a 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/AbpDbContext.cs @@ -263,7 +263,10 @@ public abstract class AbpDbContext : DbContext, IAbpEfCoreDbContext, { EntityHistoryHelper.UpdateChangeList(entityChangeList); auditLog!.EntityChanges.AddRange(entityChangeList); - Logger.LogDebug($"Added {entityChangeList.Count} entity changes to the current audit log"); + if (entityChangeList.Count > 0) + { + Logger.LogDebug($"Added {entityChangeList.Count} entity changes to the current audit log"); + } } return result; From 01de75c7ef6bb72cb99d2e1443dbc948768fea82 Mon Sep 17 00:00:00 2001 From: EngincanV Date: Wed, 2 Oct 2024 14:01:31 +0300 Subject: [PATCH 17/29] Update AbpHybridCache.cs --- .../Volo/Abp/Caching/Hybrid/AbpHybridCache.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs index a679802703..2894af9f3d 100644 --- a/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs +++ b/framework/src/Volo.Abp.Caching/Volo/Abp/Caching/Hybrid/AbpHybridCache.cs @@ -173,7 +173,7 @@ public class AbpHybridCache : IHybridCache : IHybridCache : IHybridCache Date: Wed, 2 Oct 2024 19:48:42 +0800 Subject: [PATCH 18/29] Add a `Type` parameter to `ExtraPropertiesValueConverter`. --- .../Modeling/AbpEntityTypeBuilderExtensions.cs | 5 ++++- .../ExtraPropertiesValueConverter.cs | 14 ++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/Modeling/AbpEntityTypeBuilderExtensions.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/Modeling/AbpEntityTypeBuilderExtensions.cs index 5d002e87fa..cfaee16e6a 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/Modeling/AbpEntityTypeBuilderExtensions.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/Modeling/AbpEntityTypeBuilderExtensions.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Volo.Abp.Auditing; using Volo.Abp.Data; using Volo.Abp.Domain.Entities; @@ -60,9 +61,11 @@ public static class AbpEntityTypeBuilderExtensions return; } + var type = typeof(ExtraPropertiesValueConverter<>).MakeGenericType(b.Metadata.ClrType); + var extraPropertiesValueConverter = Activator.CreateInstance(type)!.As>(); b.Property(nameof(IHasExtraProperties.ExtraProperties)) .HasColumnName(nameof(IHasExtraProperties.ExtraProperties)) - .HasConversion(new ExtraPropertiesValueConverter(b.Metadata.ClrType)) + .HasConversion(extraPropertiesValueConverter) .Metadata.SetValueComparer(new ExtraPropertyDictionaryValueComparer()); b.TryConfigureObjectExtensions(); diff --git a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/ExtraPropertiesValueConverter.cs b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/ExtraPropertiesValueConverter.cs index 980d926c3b..a24284356c 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/ExtraPropertiesValueConverter.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore/Volo/Abp/EntityFrameworkCore/ValueConverters/ExtraPropertiesValueConverter.cs @@ -8,22 +8,23 @@ using Volo.Abp.ObjectExtending; namespace Volo.Abp.EntityFrameworkCore.ValueConverters; -public class ExtraPropertiesValueConverter : ValueConverter +public class ExtraPropertiesValueConverter : ValueConverter { - public ExtraPropertiesValueConverter(Type entityType) + public ExtraPropertiesValueConverter() : base( - d => SerializeObject(d, entityType), - s => DeserializeObject(s, entityType)) + d => SerializeObject(d), + s => DeserializeObject(s)) { } public readonly static JsonSerializerOptions SerializeOptions = new JsonSerializerOptions(); - private static string SerializeObject(ExtraPropertyDictionary extraProperties, Type? entityType) + private static string SerializeObject(ExtraPropertyDictionary extraProperties) { var copyDictionary = new Dictionary(extraProperties); + var entityType = typeof(TEntityType); if (entityType != null) { var objectExtension = ObjectExtensionManager.Instance.GetOrNull(entityType); @@ -50,7 +51,7 @@ public class ExtraPropertiesValueConverter : ValueConverter(extraPropertiesAsJson, DeserializeOptions) ?? new ExtraPropertyDictionary(); + var entityType = typeof(TEntityType); if (entityType != null) { var objectExtension = ObjectExtensionManager.Instance.GetOrNull(entityType); From 2feab6a0de124d774cdd31ceea3e658c2616ecad Mon Sep 17 00:00:00 2001 From: Ebicoglu Date: Wed, 2 Oct 2024 19:03:47 +0300 Subject: [PATCH 19/29] aspnet core signalr 9.0 updates article --- .../2024-10-01-SignalR-9-New-Features/Post.md | 93 ++++++++++++++++++ .../cover.png | Bin 0 -> 679118 bytes 2 files changed, 93 insertions(+) create mode 100644 docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md create mode 100644 docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/cover.png diff --git a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md new file mode 100644 index 0000000000..539ebef42c --- /dev/null +++ b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md @@ -0,0 +1,93 @@ +# ASP.NET Core SignalR New Features (Summary) + +In this article, I'll highlight .**NET 9's SignalR updates** for ASP.NET Core 9.0. + +![cover](cover.png) + +## Hub Accept a Base Class + +In this version, your `Hub` class can now get a base class of a polymorphic class. As you see in the below example; I can send `Animal` to my Hub method. Before we could only pass the derived class like `Cat` and `Dog`. + +```csharp +/*** My Base Class is Animal ***/ +[JsonPolymorphic] +[JsonDerivedType(typeof(Cat), nameof(Cat))] +[JsonDerivedType(typeof(Dog), nameof(Dog))] +private class Animal +{ + public string Name { get; set; } +} + +/*** CAT derived from Animal ***/ +private class Cat : Animal +{ + public CatTypes CatType { get; set; } +} + +/*** DOG derived from Animal ***/ +private class Dog : Animal +{ + public DogTypes DogType { get; set; } +} + + +public class MyHub : Hub +{ + /*** We can use the base type Animal here ***/ + public void Process(Animal animal) + { + if (animal is Cat) { ... } + else if (animal is Dog) { ... } + } +} + +``` + + + +## Better Diagnostics and Telemetry + +SignalR now integrates more deeply with the .NET Activity API, which is commonly used for distributed tracing. This enhancement is mostly implemented for better monitoring in [.NET Aspire Dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/overview?tabs=bash#using-the-dashboard-with-net-aspire-projects). To support the improved telemetry feature: + +1- Add these packages to your`csproj`: + +```xml + + + +``` + +2- Add the following startup code to your host project: + +```csharp +builder.Services.AddSignalR(); +/* After AddSignalR use AddOpenTelemetry() */ +builder + .Services + .AddOpenTelemetry() + .WithTracing(tracing => + { + if (builder.Environment.IsDevelopment()) + { + tracing.SetSampler(new AlwaysOnSampler()); //for dev env monitor all traces + } + + tracing.AddAspNetCoreInstrumentation(); + tracing.AddSource("Microsoft.AspNetCore.SignalR.Server"); + }); + +builder.Services.ConfigureOpenTelemetryTracerProvider(tracing => tracing.AddOtlpExporter()); +``` + +And you'll see the SignalR Hub calls at the Aspire Dashboard: + +![image-20241002183315780](C:\Users\alper\AppData\Roaming\Typora\typora-user-images\image-20241002183315780.png) + + + +## Trimming and Native AOT Support + +In this version, **trimming** and native **Ahead Of Time** compilation are **supported**. It'll improve your app's performance. To support AOT, your serialization object needs to be JSON and you must use the `System.Text.Json` Source Generator. Also on the server side, [you shouldn't use](https://github.com/dotnet/aspnetcore/issues/56179) `IAsyncEnumerable` and `ChannelReader` where `T` is a ValueType (`struct`) for Hub method arguments. Besides, [Strongly typed hubs](https://learn.microsoft.com/en-us/aspnet/core/signalr/hubs?view=aspnetcore-8.0#strongly-typed-hubs) aren't supported with Native AOT (`PublishAot`). And you should use only `Task`, `Task`, `ValueTask`, `ValueTask` for `async` return types. + + + diff --git a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/cover.png b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/cover.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e783520a5797760c9110580ffa7a822dec719c GIT binary patch literal 679118 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%0D5J{&=-H5 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 z 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 #Yk3`pAIB*5owej7AE*5d4zGfJ9@mR=G} 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

34%Jt-WY2%{wSaK1pRR>!*o_vQ(f!dF&54 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%0As_C-qHG1=@66}>^LZx> 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�mo;*QW5Uu06T3`O7o@?mCDl**reKGn?mm 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

cty+PRN*c*q7M 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

L6d5WpLtw_clor$%GmDOBQJ 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 Date: Thu, 3 Oct 2024 11:55:28 +0300 Subject: [PATCH 24/29] Update Post.md --- .../2024-10-01-SignalR-9-New-Features/Post.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md index 243447c359..c004d45eba 100644 --- a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md +++ b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md @@ -10,7 +10,7 @@ In this article, I’ll highlight the latest .**NET 9 SignalR updates** for ASP. SignalR `Hub` class can now get a base class of a polymorphic class. As you see in the example below, I can send `Animal` to `Process` method. Before .NET 9, we could only pass the derived classes: `Cat` and `Dog`. -``` +```csharp /*** My Base Class is Animal ***/ [JsonPolymorphic] [JsonDerivedType(typeof(Cat), nameof(Cat))] @@ -53,7 +53,7 @@ Microsoft focuses mainly on .NET Aspire nowadays. That’s why SignalR now integ 1- Add these packages to your`csproj`: -``` +```xml @@ -61,7 +61,7 @@ Microsoft focuses mainly on .NET Aspire nowadays. That’s why SignalR now integ 2- Add the following startup code to your host project: -``` +```csharp builder.Services.AddSignalR(); /* After AddSignalR use AddOpenTelemetry() */ builder From 70bcc63db494230ec95afa9981f783b91749e169 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SAL=C4=B0H=20=C3=96ZKARA?= Date: Thu, 3 Oct 2024 14:41:42 +0300 Subject: [PATCH 25/29] Update sql commands --- docs/en/modules/docs.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/en/modules/docs.md b/docs/en/modules/docs.md index 6ab4f566c0..dc04339e78 100644 --- a/docs/en/modules/docs.md +++ b/docs/en/modules/docs.md @@ -367,7 +367,7 @@ You can use [ABP](https://github.com/abpframework/abp/) GitHub documents to conf For `SQL` databases, you can use the below `T-SQL` command to insert the specified sample into your `DocsProjects` table: ```mssql -INSERT [dbo].[DocsProjects] ([Id], [Name], [ShortName], [Format], [DefaultDocumentName], [NavigationDocumentName], [MinimumVersion], [DocumentStoreType], [ExtraProperties], [MainWebsiteUrl], [LatestVersionBranchName], [ParametersDocumentName], [ConcurrencyStamp]) VALUES (N'12f21123-e08e-4f15-bedb-ae0b2d939659', N'ABP (FileSystem)', N'abp', N'md', N'Index', N'docs-nav.json', NULL, N'FileSystem', N'{"Path":"C:\\Github\\abp\\docs"}', N'/', NULL, N'', N'12f21123e08e4f15bedbae0b2d939659') +INSERT [dbo].[DocsProjects] ([Id], [Name], [ShortName], [Format], [DefaultDocumentName], [NavigationDocumentName], [MinimumVersion], [DocumentStoreType], [ExtraProperties], [MainWebsiteUrl], [LatestVersionBranchName], [ParametersDocumentName], [ConcurrencyStamp]) VALUES (N'12f21123-e08e-4f15-bedb-ae0b2d939659', N'ABP (GitHub)', N'abp', N'md', N'Index', N'docs-nav.json', NULL, N'GitHub', N'{"GitHubRootUrl":"https://github.com/abpframework/abp/tree/{version}/docs","GitHubAccessToken":"","GitHubUserAgent":""}', N'/', N'dev', N'', N'12f21123e08e4f15bedbae0b2d939659') ``` Be aware that `GitHubAccessToken` is masked. It's a private token and you must get your own token and replace the `***` string. @@ -407,7 +407,7 @@ You can use [ABP](https://github.com/abpframework/abp/) GitHub documents to conf For `SQL` databases, you can use the below `T-SQL` command to insert the specified sample into your `DocsProjects` table: ```mssql -INSERT [dbo].[DocsProjects] ([Id], [Name], [ShortName], [Format], [DefaultDocumentName], [NavigationDocumentName], [MinimumVersion], [DocumentStoreType], [ExtraProperties], [MainWebsiteUrl], [LatestVersionBranchName], [ParametersDocumentName]) VALUES (N'12f21123-e08e-4f15-bedb-ae0b2d939659', N'ABP (FileSystem)', N'abp', N'md', N'Index', N'docs-nav.json', NULL, N'FileSystem', N'{"Path":"C:\\Github\\abp\\docs"}', N'/', NULL, N'') +INSERT [dbo].[DocsProjects] ([Id], [Name], [ShortName], [Format], [DefaultDocumentName], [NavigationDocumentName], [MinimumVersion], [DocumentStoreType], [ExtraProperties], [MainWebsiteUrl], [LatestVersionBranchName], [ParametersDocumentName], [ConcurrencyStamp]) VALUES (N'12f21123-e08e-4f15-bedb-ae0b2d939659', N'ABP (FileSystem)', N'abp', N'md', N'Index', N'docs-nav.json', NULL, N'FileSystem', N'{"Path":"C:\\Github\\abp\\docs"}', N'/', NULL, N'', N'12f21123e08e4f15bedbae0b2d939659') ``` Add one of the sample projects above and run the application. In the menu you will see `Documents` link, click the menu link to open the documents page. From 167ae364ed45897695ff2103fe976a9ec41fbaf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SAL=C4=B0H=20=C3=96ZKARA?= Date: Thu, 3 Oct 2024 14:42:10 +0300 Subject: [PATCH 26/29] Update VoloDocs App --- modules/docs/app/VoloDocs.Web/Program.cs | 25 ++++++++++--------- .../Properties/launchSettings.json | 6 ++--- modules/docs/app/VoloDocs.Web/Startup.cs | 22 ---------------- 3 files changed, 16 insertions(+), 37 deletions(-) delete mode 100644 modules/docs/app/VoloDocs.Web/Startup.cs diff --git a/modules/docs/app/VoloDocs.Web/Program.cs b/modules/docs/app/VoloDocs.Web/Program.cs index 5a0860f727..c0373525db 100644 --- a/modules/docs/app/VoloDocs.Web/Program.cs +++ b/modules/docs/app/VoloDocs.Web/Program.cs @@ -1,6 +1,9 @@ using System; using System.IO; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; +using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Serilog; using Serilog.Events; @@ -9,7 +12,7 @@ namespace VoloDocs.Web { public class Program { - public static int Main(string[] args) + public async static Task Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() //TODO: Should be configurable! @@ -22,7 +25,14 @@ namespace VoloDocs.Web try { Log.Information("Starting web host."); - CreateHostBuilder(args).Build().Run(); + var builder = WebApplication.CreateBuilder(args); + builder.Host + .UseAutofac() + .UseSerilog(); + await builder.AddApplicationAsync(); + var app = builder.Build(); + await app.InitializeApplicationAsync(); + await app.RunAsync(); return 0; } catch (Exception ex) @@ -32,17 +42,8 @@ namespace VoloDocs.Web } finally { - Log.CloseAndFlush(); + await Log.CloseAndFlushAsync(); } } - - internal static IHostBuilder CreateHostBuilder(string[] args) => - Host.CreateDefaultBuilder(args) - .ConfigureWebHostDefaults(webBuilder => - { - webBuilder.UseStartup(); - }) - .UseAutofac() - .UseSerilog(); } } diff --git a/modules/docs/app/VoloDocs.Web/Properties/launchSettings.json b/modules/docs/app/VoloDocs.Web/Properties/launchSettings.json index 08e2199ddb..2d88b20c15 100644 --- a/modules/docs/app/VoloDocs.Web/Properties/launchSettings.json +++ b/modules/docs/app/VoloDocs.Web/Properties/launchSettings.json @@ -3,8 +3,8 @@ "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { - "applicationUrl": "https://localhost:44333/", - "sslPort": 0 + "applicationUrl": "https://localhost:5001/", + "sslPort": 5001 } }, "profiles": { @@ -21,7 +21,7 @@ "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }, - "applicationUrl": "https://localhost:44333/" + "applicationUrl": "https://localhost:5001/" } } } diff --git a/modules/docs/app/VoloDocs.Web/Startup.cs b/modules/docs/app/VoloDocs.Web/Startup.cs deleted file mode 100644 index 22d7b980c5..0000000000 --- a/modules/docs/app/VoloDocs.Web/Startup.cs +++ /dev/null @@ -1,22 +0,0 @@ -using System; -using Microsoft.AspNetCore.Builder; -using Microsoft.AspNetCore.Hosting; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Logging; -using Volo.Abp; - -namespace VoloDocs.Web -{ - public class Startup - { - public void ConfigureServices(IServiceCollection services) - { - services.AddApplication(); - } - - public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) - { - app.InitializeApplication(); - } - } -} From 371e6acc61ebb0235dd5c5b8052d8bc875bb582f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?SAL=C4=B0H=20=C3=96ZKARA?= Date: Thu, 3 Oct 2024 14:42:42 +0300 Subject: [PATCH 27/29] Fix version null exception for FileSystemDocumentSource --- .../Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs index aba271272a..e16f81d2c9 100644 --- a/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs +++ b/modules/docs/src/Volo.Docs.Domain/Volo/Docs/FileSystem/Documents/FileSystemDocumentSource.cs @@ -32,6 +32,8 @@ namespace Volo.Docs.FileSystem.Documents localDirectory = documentName.Substring(0, documentName.LastIndexOf('/')); } + version = File.GetLastWriteTime(path).ToString("yyyyMMddHHmmss"); + return new Document(GuidGenerator.Create(), project.Id, documentName, From d3ec0619f22ce658da15f053fd888dbfc475de48 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 4 Oct 2024 09:15:36 +0800 Subject: [PATCH 28/29] Skip `DateTime_Kind_Should_Be_Normalized_In_View_Query_Test` test. --- .../ValueConverters/EFCore_DateTimeKindTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/ValueConverters/EFCore_DateTimeKindTests.cs b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/ValueConverters/EFCore_DateTimeKindTests.cs index c6fd04949a..9cb1c003ba 100644 --- a/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/ValueConverters/EFCore_DateTimeKindTests.cs +++ b/framework/test/Volo.Abp.EntityFrameworkCore.Tests/Volo/Abp/EntityFrameworkCore/ValueConverters/EFCore_DateTimeKindTests.cs @@ -11,7 +11,7 @@ namespace Volo.Abp.EntityFrameworkCore.ValueConverters; public abstract class EFCore_DateTimeKindTests : DateTimeKind_Tests { - [Fact] + [Fact(Skip = "https://github.com/dotnet/efcore/issues/34760")] public async Task DateTime_Kind_Should_Be_Normalized_In_View_Query_Test() { var personName = "bob lee"; From 6b3240136ebea4ebf7faa7663eaa3d103d809280 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 4 Oct 2024 10:07:38 +0800 Subject: [PATCH 29/29] Fix `cms-kit` unit tests. --- .../Comments/CommentPublicAppService_Tests.cs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Comments/CommentPublicAppService_Tests.cs b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Comments/CommentPublicAppService_Tests.cs index e260e3debe..adf650c2ba 100644 --- a/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Comments/CommentPublicAppService_Tests.cs +++ b/modules/cms-kit/test/Volo.CmsKit.Application.Tests/Comments/CommentPublicAppService_Tests.cs @@ -64,7 +64,7 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase .ShouldBeTrue(); }); } - + [Theory] [InlineData("https://abp.io/features")] public async Task CreateAsync_ShouldCreateComment_If_Url_Allowed(string text) @@ -84,8 +84,8 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase } [Theory] - [InlineData("[ABP Community](https://abp.io/community/)")] - [InlineData("abp.io/docs")] + [InlineData("[ABP Community](https://community.abp.io/)")] + [InlineData("docs.abp.io")] public async Task CreateAsync_ShouldThrowUserFriendlyException_If_Url_UnAllowed(string text) { _currentUser.Id.Returns(_cmsKitTestData.User2Id); @@ -94,7 +94,7 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase await _commentAppService.CreateAsync( _cmsKitTestData.EntityType1, _cmsKitTestData.EntityId1, - new CreateCommentInput + new CreateCommentInput { RepliedCommentId = null, Text = text, //not allowed URL @@ -104,7 +104,7 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase } [Fact] - public async Task CreateAsync_ShouldThrowUserFriendlyException_If_IdempotencyToken_Not_Unique() + public async Task CreateAsync_ShouldThrowUserFriendlyException_If_IdempotencyToken_Not_Unique() { _currentUser.Id.Returns(_cmsKitTestData.User2Id); @@ -112,10 +112,10 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase await _commentAppService.CreateAsync( _cmsKitTestData.EntityType1, _cmsKitTestData.EntityId1, - new CreateCommentInput + new CreateCommentInput { RepliedCommentId = null, - Text = "", + Text = "", IdempotencyToken = _cmsKitTestData.IdempotencyToken_1 } )); @@ -139,7 +139,7 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase comment.Text.ShouldBe("I'm Updated"); }); } - + [Fact] public async Task UpdateAsync_ShouldThrowUserFriendlyException_If_Url_UnAllowed() { @@ -148,9 +148,9 @@ public class CommentPublicAppService_Tests : CmsKitApplicationTestBase await Should.ThrowAsync(async () => await _commentAppService.UpdateAsync( _cmsKitTestData.CommentWithChildId, - new UpdateCommentInput + new UpdateCommentInput { - Text = "[ABP Community - Update](https://abp.io/community/)", //not allowed URL + Text = "[ABP Community - Update](https://community.abp.io/)", //not allowed URL } )); }

bxtho9$LsU%q%TU(6N4_2o7By5C)0 zUn}RM!~2Vi>*;*HUGw8tr^k!!Mg{6b!AxiT47Kd!)%eY3qq9R3m3_@cwWDf3(P#Xx zUBONjDbw&TY^h!yPo_un#b%>Y_h2+0ueS$_`J4&u?ic>}v}eI5!c`)>%v9~PQ^|dD zawM627FuD9{L9a(x|Kt}7fdP-M=E`1%ApF_nM&FD^ypZ1H{ZTh87ynMS<&r+|Fbd$ z@FD-6h#weJK6$(T@L)dSjrlE=H8(I?BB}7aYw*1eKNhW(@Y9h3p^8?Xv1Sm>tLBZ% zyx9U;^oARtd+?o{>V<`P42E{au_vx z54SORJ5^K;mYfa@WE-xlS?PvsBRLwRD_LeKj}qgGtUm$~HKCPY>mnI!LI>jGEumn{ zT~Kmpkxqv*s>9rVQCV&rhH z!BQ5^8C0s6*~`Y$w)Ox!tPaT)B3j22ZUd2UpewG=V!w^9EP3XRzdT}tk+T6$)~r|1 zi4=AN*Yc2=Pnc?r1L|hvPCZde7woyqg2voMIg-!|3&5ruH*fT5Wg$lg@XQ2v$RuPw~FZE(O&&^Kb7H%d%!JcHWh7mNxLT4u!BwV_R!2|=6vSTcI z@FQpzkZ*C?TFDbhakUDj*(hhtK5!bTA#&tf<~?%Hs^ugmEdr+-bn*dP>#~tKH<5@7 zhFA@IJ6MR%fN110JOT(t)n@uQJv0&^Z8f@RMm^YP#gkw*4c>J~vgRA>ab*dklFymg zhgHtt(AkGhkjNwn%3^d^GaK%F8PaX!S|g35rV$a^5_AUpOJ#dLguwJ&Cfm&Z4*x?? z)vpYYjy8A9h~jT&*iP_6z;Qcx)LJVN*-5ZwH7tmkFuFM5W}idv_JD`pIWb^~P#e?4 z!h5qu)EH(*?V)iz>t4tfSOsg;tc`>rTO_VbZgx7Mf}Y}@u?byyt=ekV6P=yv#_MBB02Gd#J~^&!U) zGO`!>?e>Yu#EBj6TLyie4G&BiM8b}-3>Z70J~+qV3y+|Y+SN=f#2=n4vdDWawmr;4{4RMe_qwv>v*@pLwo6d#Q~94!_Lk+z$ae5{u%|Mb=N?rteA z|I!wHO>DQA&-65*YEFgga zNAua;-K~n<`E(|a`Ka?`bgA!m>eowszy}?PyJt!RfkXc$nybI+2ZYSGEA!d zuDkYxg4U90s3=6B7S{UlwI51!jTD}2^Py^H%Kg5kF9RB7$7l&^FKHSE$q4z%qw-hH z?$f7FZ=cU`{Dt6lb^Yn~!`{y4?1=ZmmU)=e$Ep)G_Vx?3$W&RO-4iV=wY;2v81&03j+gsn$*Bq>hbaq7sO#ZEl;I^YUd z(4vxEF+?<5L#G71C*DCN)E63GRJ-Z%20$yjB;}yQR4=i~7_Y^e0d7b7C>TeXt|Jka zyb!q8vIE<+Ot`HsN0cB8)YHB^0YT(jH<3!)7xVucI!UsbSmVG>Cj@B&; z#L#d*>)@J(tPR#0=TP^|fVkFco2}>$F?NjM zA`f={)sTH=l!FK4l143~Qda9Ot+;}UmbDPJSm7av;vg*A`1s3M1gFrX!pRaChLwto zM&U;gYR5A!H9Kf*6FTU%)ZDAil(4g8AxB~?y0ZsJ)bmBw>NyG=AR@U6VWwvaoQgVz z!w0iYZZY8b#+nIx)*6U|Cj%YgzvmZB=_j7N+HMRrW`tpb{e&t>&MjZlb+Qr#CqKe? zw+bWmp)u@m*Sgj;;q>9?>Ny#b_cO zAmvWYI^&MoIcbq(t-BRBAQLyirkEQMuwqh^vD%npTz-IuzAW)**87@@r0BH4UAGej zsgbdguf3;@U~b_@(3qYt#;hGc6+6MQy_b`x0d}mZS2kl(xFZS5P8zaGPuK~zFL0;U v_pI;;&;~nBV?>kNV8KAQ$(vuCgM Date: Thu, 3 Oct 2024 10:26:53 +0800 Subject: [PATCH 20/29] Update abp-8-2.md Resolve #20950 --- .../release-info/migration-guides/abp-8-2.md | 63 +++++++++++++++++-- 1 file changed, 59 insertions(+), 4 deletions(-) diff --git a/docs/en/release-info/migration-guides/abp-8-2.md b/docs/en/release-info/migration-guides/abp-8-2.md index cd904f052e..15de922d4f 100644 --- a/docs/en/release-info/migration-guides/abp-8-2.md +++ b/docs/en/release-info/migration-guides/abp-8-2.md @@ -16,9 +16,6 @@ This document is a guide for upgrading ABP v8.x solutions to ABP v8.2. There are Before this version, all of the projects above were targeting multiple frameworks (**netstandard2.0**, **netstandard2.1** and **net8.0**), with this version, we started to only target **net8.0** for these template projects. Note that, all other shared libraries still target multiple frameworks. > This change should not affect your pre-existing solutions and you don't need to make any changes in your application. See the PR for more info: https://github.com/abpframework/abp/pull/19565 -## Upgraded AutoMapper to 13.0.1 - -In this version, **AutoMapper** library version upgraded to 13.0.1. See [the release notes of AutoMapper v13.0.1](https://github.com/AutoMapper/AutoMapper/releases/tag/v13.0.1) for more information. ## Added default padding to `.tab-content` class for Basic Theme @@ -60,4 +57,62 @@ In this version, the Angular UI has been updated to use the Angular version 17.3 The **Session Management** feature allows you to prevent concurrent login and manage user sessions. -In this version, a new entity called `IdentitySession` has been added to the framework and you should create a new migration and apply it to your database. \ No newline at end of file +In this version, a new entity called `IdentitySession` has been added to the framework and you should create a new migration and apply it to your database. + +## Upgraded NuGet Dependencies + +You can see the following list of NuGet libraries that have been upgraded with this release, if you are using one of these packages explicitly, you may consider upgrading them in your solution: + +| Package | Old Version | New Version | +| ---------------------------------------------------------- | ----------- | ----------- | +| AutoMapper | 12.0.1 | 13.0.1 | +| Blazorise | 1.4.1 | 1.5.2 | +| Blazorise.Bootstrap5 | 1.4.1 | 1.5.2 | +| Blazorise.Icons.FontAwesome | 1.4.1 | 1.5.2 | +| Blazorise.Components | 1.4.1 | 1.5.2 | +| Blazorise.DataGrid | 1.4.1 | 1.5.2 | +| Blazorise.Snackbar | 1.4.1 | 1.5.2 | +| Hangfire.AspNetCore | 1.8.6 | 1.8.14 | +| Hangfire.SqlServer | 1.8.6 | 1.8.14 | +| Microsoft.AspNetCore.Authentication.JwtBearer | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Authentication.OpenIdConnect | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Authorization | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Components | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Components.Authorization | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Components.Web | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Components.WebAssembly | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Components.WebAssembly.Server | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Components.WebAssembly.Authentication | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Components.WebAssembly.DevServer | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.DataProtection.StackExchangeRedis | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Mvc.NewtonsoftJson | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.Mvc.Testing | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.TestHost | 8.0.0 | 8.0.4 | +| Microsoft.AspNetCore.WebUtilities | 8.0.0 | 8.0.4 | +| Microsoft.Data.SqlClient | 8.0.0 | 8.0.4 | +| Microsoft.EntityFrameworkCore | 8.0.0 | 8.0.4 | +| Microsoft.EntityFrameworkCore.Design | 8.0.0 | 8.0.4 | +| Microsoft.EntityFrameworkCore.InMemory | 8.0.0 | 8.0.4 | +| Microsoft.EntityFrameworkCore.Proxies | 8.0.0 | 8.0.4 | +| Microsoft.EntityFrameworkCore.Relational | 8.0.0 | 8.0.4 | +| Microsoft.EntityFrameworkCore.Sqlite | 8.0.0 | 8.0.4 | +| Microsoft.EntityFrameworkCore.SqlServer | 8.0.0 | 8.0.4 | +| Microsoft.EntityFrameworkCore.Tools | 8.0.0 | 8.0.4 | +| Microsoft.Extensions.DependencyInjection.Abstractions | 8.0.0 | 8.0.1 | +| Microsoft.Extensions.FileProviders.Embedded | 8.0.0 | 8.0.4 | +| Microsoft.Extensions.Logging.Abstractions | 8.0.0 | 8.0.1 | +| Microsoft.Extensions.Options | 8.0.0 | 8.0.2 | +| Microsoft.IdentityModel.Protocols.OpenIdConnect | - | 7.5.1 | +| Microsoft.IdentityModel.Tokens | - | 7.5.1 | +| Microsoft.IdentityModel.JsonWebTokens | - | 7.5.1 | +| System.IdentityModel.Tokens.Jwt | - | 7.5.1 | +| OpenIddict.Abstractions | 5.1.0 | 5.5.0 | +| OpenIddict.Core | 5.1.0 | 5.5.0 | +| OpenIddict.Server.AspNetCore | 5.1.0 | 5.5.0 | +| OpenIddict.Validation.AspNetCore | 5.1.0 | 5.5.0 | +| OpenIddict.Validation.ServerIntegration | 5.1.0 | 5.5.0 | +| Oracle.EntityFrameworkCore | 8.21.121 | 8.23.40 | +| Pomelo.EntityFrameworkCore.MySql | 8.0.0 | 8.0.2 | +| SixLabors.ImageSharp | 3.0.2 | 3.1.4 | + From 588f9e5bc388c4524d15c2e39ee0aefc6a3d167b Mon Sep 17 00:00:00 2001 From: liangshiwei Date: Thu, 3 Oct 2024 10:37:55 +0800 Subject: [PATCH 21/29] Update MAUI supported OS version to 15.0 for ios maccatalyst --- .../MyCompanyName.MyProjectName.csproj | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj b/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj index 5df925360e..aa75748ab7 100644 --- a/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj +++ b/templates/maui/src/MyCompanyName.MyProjectName/MyCompanyName.MyProjectName.csproj @@ -25,8 +25,8 @@ 1.0 1 - 14.2 - 14.0 + 15.0 + 15.0 24.0 10.0.17763.0 10.0.17763.0 From 3c1f8f28380ce9369f73e061caff6c64ea5dc32e Mon Sep 17 00:00:00 2001 From: Fahri Gedik Date: Thu, 3 Oct 2024 09:34:01 +0300 Subject: [PATCH 22/29] add localization --- .../AbpIoLocalization/Base/Localization/Resources/en.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json index 82aabed272..ed7781b476 100644 --- a/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json +++ b/abp_io/AbpIoLocalization/AbpIoLocalization/Base/Localization/Resources/en.json @@ -251,6 +251,7 @@ "VideoCourses": "Essential Videos", "DoYouAgreePrivacyPolicy": "By clicking Subscribe button you agree to the Terms & Conditions and Privacy Policy.", "AbpConferenceDescription": "ABP Conference is a virtual event for .NET developers to learn and connect with the community.", - "Mobile": "Mobile" + "Mobile": "Mobile", + "MetaTwitterCard": "summary_large_image" } } \ No newline at end of file From 8aa2358f35a7a330c3be84899393dabedbf2a180 Mon Sep 17 00:00:00 2001 From: Ebicoglu Date: Thu, 3 Oct 2024 11:19:10 +0300 Subject: [PATCH 23/29] update article --- .../2024-10-01-SignalR-9-New-Features/Post.md | 34 ++++++++++-------- .../signalr-activity-dashboard.png | Bin 0 -> 67865 bytes 2 files changed, 20 insertions(+), 14 deletions(-) create mode 100644 docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/signalr-activity-dashboard.png diff --git a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md index 539ebef42c..243447c359 100644 --- a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md +++ b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/Post.md @@ -1,14 +1,16 @@ -# ASP.NET Core SignalR New Features (Summary) +### ASP.NET Core SignalR New Features — Summary -In this article, I'll highlight .**NET 9's SignalR updates** for ASP.NET Core 9.0. +In this article, I’ll highlight the latest .**NET 9 SignalR updates** for ASP.NET Core 9.0. -![cover](cover.png) +![Cover](cover.png) -## Hub Accept a Base Class -In this version, your `Hub` class can now get a base class of a polymorphic class. As you see in the below example; I can send `Animal` to my Hub method. Before we could only pass the derived class like `Cat` and `Dog`. -```csharp +### SignalR Hub Accepts Base Classes + +SignalR `Hub` class can now get a base class of a polymorphic class. As you see in the example below, I can send `Animal` to `Process` method. Before .NET 9, we could only pass the derived classes: `Cat` and `Dog`. + +``` /*** My Base Class is Animal ***/ [JsonPolymorphic] [JsonDerivedType(typeof(Cat), nameof(Cat))] @@ -45,13 +47,13 @@ public class MyHub : Hub -## Better Diagnostics and Telemetry +### Better Diagnostics and Telemetry -SignalR now integrates more deeply with the .NET Activity API, which is commonly used for distributed tracing. This enhancement is mostly implemented for better monitoring in [.NET Aspire Dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/overview?tabs=bash#using-the-dashboard-with-net-aspire-projects). To support the improved telemetry feature: +Microsoft focuses mainly on .NET Aspire nowadays. That’s why SignalR now integrates more deeply with the .NET Activity API, which is commonly used for distributed tracing. The enhancement is implemented for better monitoring in [.NET Aspire Dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/overview?tabs=bash#using-the-dashboard-with-net-aspire-projects). To support this feature: 1- Add these packages to your`csproj`: -```xml +``` @@ -59,7 +61,7 @@ SignalR now integrates more deeply with the .NET Activity API, which is commonly 2- Add the following startup code to your host project: -```csharp +``` builder.Services.AddSignalR(); /* After AddSignalR use AddOpenTelemetry() */ builder @@ -79,15 +81,19 @@ builder builder.Services.ConfigureOpenTelemetryTracerProvider(tracing => tracing.AddOtlpExporter()); ``` -And you'll see the SignalR Hub calls at the Aspire Dashboard: +Finally, you’ll see the **SignalR Hub** events on the [Aspire Dashboard](https://learn.microsoft.com/en-us/dotnet/aspire/fundamentals/dashboard/overview): + +![.NET Aspire Activity Dashboard](signalr-activity-dashboard.png) -![image-20241002183315780](C:\Users\alper\AppData\Roaming\Typora\typora-user-images\image-20241002183315780.png) +### Trimming and Native AOT Support -## Trimming and Native AOT Support +With .NET 9, **trimming** and **native** **Ahead Of Time** compilation are **supported**. This will improve our application performance. To support AOT, your SignalR object serialization needs to be JSON, and you must use the `System.Text.Json` s[ource generator](https://learn.microsoft.com/en-us/dotnet/standard/serialization/system-text-json/source-generation). Also on the server side, [you shouldn't use](https://github.com/dotnet/aspnetcore/issues/56179) `IAsyncEnumerable` and `ChannelReader` where `T` is a ValueType (`struct`) for Hub method arguments. One more limitation; [Strongly typed hubs](https://learn.microsoft.com/en-us/aspnet/core/signalr/hubs?view=aspnetcore-8.0#strongly-typed-hubs) aren't supported with Native AOT (`PublishAot`). And you should use only `Task`, `Task`, `ValueTask`, `ValueTask` for `async` return types. -In this version, **trimming** and native **Ahead Of Time** compilation are **supported**. It'll improve your app's performance. To support AOT, your serialization object needs to be JSON and you must use the `System.Text.Json` Source Generator. Also on the server side, [you shouldn't use](https://github.com/dotnet/aspnetcore/issues/56179) `IAsyncEnumerable` and `ChannelReader` where `T` is a ValueType (`struct`) for Hub method arguments. Besides, [Strongly typed hubs](https://learn.microsoft.com/en-us/aspnet/core/signalr/hubs?view=aspnetcore-8.0#strongly-typed-hubs) aren't supported with Native AOT (`PublishAot`). And you should use only `Task`, `Task`, `ValueTask`, `ValueTask` for `async` return types. +--- +That's all the new features coming to SignalR in .NET 9! +Happy coding 🧑🏽‍💻 diff --git a/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/signalr-activity-dashboard.png b/docs/en/Community-Articles/2024-10-01-SignalR-9-New-Features/signalr-activity-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..44f167c603fef009ac3dce511732da4181f6d89a GIT binary patch literal 67865 zcmbTe2{e{%+Xng=LI_C+MI}j+3`J&@DdCkQNv04HGLIo7AxTK47fI$M^N=AVnG!Nj z8IoCs4EuQc_Fj9hwg0u(xBq8->s!5ert7}0^E{^W4%ARn+(pesO&}0z(ldM+V`l^)KpDF?VE3UI#Wyh$f9RKYy{`Uvl zB@wnuMvs*Fb8C8QnD2FPKkqUQxdososWz{a*-$3j8;`NN8%J9g~w^*@|0 zM0_2FYLcggf8U0dQfc@Q@l8%~a0LeaeFdBQ+yej2AI)40)=uxR$oFzQ_V-gt+~@w! zkIY5>pFfhJ$<^U!pjuyFuV*OI6JVekwOfnV;lr0$J&I?@1eKPSc6D`SUN3mlVZn;e zq7ZuE1QYdkug^i^*Ezs#yKS4Jlfiz*dZL{Bk-S_r0bgLthQh_EMYg!O*hDDWn#$i$ zTU%Q(^nin%-3vj(D$dKNYdC#!bLaoP5LCWCl^%9j@kLC`&#kX*ZBJujjxz>EshaBP zz0AzaRN^kSpKP0GO|rDGI4dFH>+9Rs+dI==*3;Mb>({USyLWpVvWARYxNzatty`@A zegOe)Zf@JxuAIY)Mn)ezc4l&NGF>}UH`nNbo?frd4jTMB->{m(PyS$Jqu0&tcvYU` z{QO#JS{24|R8lq^@#6P>)Q25bkCzS}DV$NqvswMu*4LR?SSnWf-EzDtHWnK1makD% z=Y0SE{X!74)%SNh>*jy|{(WY^J@5Vd=UfkuU(K5C%B^l_2y7e^&@YW@9{;~T&Saso zvT|TxAY-6O)q|auomu;ZO=3ns?KNq&B{^fDVcj=#R=Wr$tUVuzfMM=-L*@cBc!ZMig3TyC^{wv=Oax^_xkk`((a*BBB$5Je7VOT zet!O$-lDu)jm#;U$08dmR)>Rpd`NHJ9GIG#%D3$NG`2v)A~5|uzp=Kqwy*C-qDE9y z6h2G)q`jG$*`7UnQZ!vA+m0MPdeqJBk5$k68)dG02`Cir?+$qW_`FY8IB%pb^loqA zd;q6s&bxP|o}24Gnqu;GGxY=piXDDp;~i!W+O=y}fpwoN_QSx{-P=7+o;^#};tS=J zp;K3Lu(vPW{M~~Wk-7KdbDWf${kF@w74wKV-jw!9J%JUxZ2gzNkNW!6L0|eOg{WH( zy=j%}_ET?eZel^-y?a+W*+UTBK9a;hxmC^6%?mb7<$O*4IrVcBHe2$f1 ziB6-e8nf%nxVAWzo?Z3vYI=uIbVhczIxmxcp^djn3f+-CmoK+>=b6p+l{huM5H&S5 zMRmyf`|z^qMtvU6uAAktjg5^(y(3iC*Vp&<~6G5W{E#4I{X67Hv^ z9Sf-TPIH!wQ%LgmYCfN+!NI{{V8YHG6B0s~uN%xQ@Zf`ivzuG^S#w$0%BhZYVPWAk ztvC7k%UL%{)Lx1WO;5jk@@SyG4c-x*p3!GPb_^A1DA%|%th?>*9odNXPM(+X&LkKC2fk3zhO%o z&dGrG)vI2MO=pCnrx%-LIxpG%`TZ;XYWCLZNGOhI&wDG&J9jvu)+#AU2vj~?vqJgr z-=7r|NoS%OlI6|0gA+r^03SRC!gnK`ZQ*jrp3n`w79s~-rgRt#qYxvazN_S_~PQi z0v)Gxsd?+6*Ut|U2;_1T%IC`%7LM-|o5=R{JP;*LY?(^>vURnBcd$W=+Zw-p`&L;= zu#lXiI!?HcE8^lJ*AcFew1a}8s-jWMak?wEK340yV=B`eQ8?s&XUm~qdZlHy_lfuFgtwRN}Y7Xv{_DXAf| zv#|$QS*hq(HF%$){&C89mL?_+;ZmrnsH|_kpdq&XhXYivQlFXJy5;BZFD-o9pJabZ zz{VSPX~7Wv4R3MD<0b}M73&E{MY-SQ6wMF2n&NLTpl8d{M)>&n z5Fy6U$scw5&7W|vZe@s(d98Om@m`~!m-GGc_%DcvuOIkza{9K&_l#?KPc$DA-#apR z;8(`N#VQ;}e0guCzmTT%&PE@%z^Yq!cxxFC5fk*xIpy&k{tGDVeEu6CB3OTIth~H@ zocsPPX`4q~iF{&$W}5xkST3p}J+%XSP4l`(-L8z;iN~r1WG8r6)}x&%BsGlLu?16X z%P^J)$euY7GGbTslGgj$KfFwS@`eTm30EaqT?|OLR8knL1<%F`gg4OA(hAZZrcq7Q zc&B^9_e0Aj`$eHMd=VN{;*7tnUw3pBB}Hj&Epr?nTb#FI{M_wzQ5OL=>H4x z$uhG1Z~n-alvAYHa|(-x1v87X&MbjeIgW`U;GD~%zj7O-S4 zJ8`@CYiDQVvuCB|Z)Rq!)3j7PBUDnPq@+f#7U}hOcZ-`>p$#Q!tiHVS=g*&;?*zGT z-@fhP;Xy7p`r`)*^`<|E4M&C3Y@8CeYwH8u%=bx2NobZE*$cQ>@3$|cX-OZY%-8Mf z@9)P!X>Co^PA9>ss$_Vm!~eX&#MMPQJ@yD=pbr1H^zXoi_HI@NBzE`iUA}yIFLf=0 zWgnnic(`y)Jyi|Osjprgz=!)*uEd57y)`|pB38>?al@(B^ z>*jLjrAwD6zooo+V=++fA>lZk&^}2lf@x{qLt-H@QBimLORufSk;_r}RpB)N_CDA| zt2zRN0IQ(3tu2n16cvSqUE%9Mt7-i7NrbKG-R*WGBO?Pw>3Fa8rQ3n$@hR{^t3nl@ z0g_%ydz?LccD-4kemf9Q;?*l2FRyKu?_+u;j!pIT=HD`|%~{&n*;!l9e2JAX^y;hd zswgk_Tw54(O{4Nbiw=4G_+4HedsHf*OqpwbWMt>}d`qwEH|P#XPW=4YIAnv>2M);0 z$ncK>R{4lWWuSgPJ--gt@O(50R66A zzkdF_%*$l?ErW!>A#OK{1qJ|}nVr1})C3Uqxv9x(Yi+!z;BLjjr{ka<=z;NGTSb~_ z8$V+1I!o$nXfS+M5s2gzvoRPf)JpG&Ic=qzW8fVcs;;l!kIxUxo_zGFC|lEHdn!89 zPM-t~-o^3eqs!=oUtFA>Cro>KdfeuRYw^Q?2M?aio-cM^d#jS7TjA+pY5CJE-otTq z&TyfYLM$Y}-(M}}^rb^#clwGuu$s-y*}1v4<6mOgPu~#~5s?HmR#5neHtXLt{cu1* zRTT`vByv|+Wo0FB(&wmCWaUaz{bg?M(l_~;W1^!;2tdKF)Z@4QJ%Tj_b|7v|KuuJ6 zeG&1Ue)8AKT$fuclRGSA(EWWW>DgFWTPByhw*L&A{LV%$$FEn|^5FwXbq*^HwBJ@k0cT)faxw*J( z`d1y+SM%qy1*Iv{Pfkg}8(klL@K1V2XVwkh%f%HH1K+>94t_cmrqtHnZuaHnZ3BZR zQBhQ6BO@c6((Yon+meTehiykby12TM5=_6mEW$oP)0V&qK6|z*3M-wFnR(=hwX3VE zl9JNx+iCrmN9|m&tYD8tde*>o%`)2=nrXaDDvF8$ph+)(0gk_a`}R=e&cY~C0-kpO z0Kj?Ph#+fbb~IKEo1HPRrm@iyH3%2`aJ;6jZZW_N2m&6=K^>i)iYj`{L1QB$WQ4(a z=fuRszP>)feGn~h*2?12-`_27y3b#5ci#}aYuw(}=I-HPb>|L&fPEkkNx5UkPI8|Y zFW9bM?-?F8I(P0|-z`!iT*LKdrByh89(&5atjq(yFf&U{Pq)<3VZDQ98WkCts>O$r za_G>Zt~-wSqxAH2UthA25i}Ehef^M-5VqhSfUrP%m(e4qOJ57f=KwY7cvq;fV^+I0z#)Urq~?&(uTFo^JQV?#r{q5WH@bDxJUVthxGBOfEXZFp| zhYxL>oKEucG6bGSWrZ|AK|!&HNA)#!ys+@kpFh)Izedp%B_!nLo;rDwzHa{heS)1R zi2t=~*U$$*5n5YYM;(Qwq&7RQ-t@o``RAWj&{PtFZszZWu}19pwY4?0PXPe|LqkI* z>Xh9VC^M0EYDF(W9>x`2hin*dy1kUq^}3 z;u94W4Gs=YX*FjN&;v{>w4Z!hRp4#oyjREGg7ugjyl5? zxvv%u_@uI2gEnIL+F`KNy z;|bqENg2N16?7Pc61=&nuyA8a;962^VM$5oeu?+5Ur&JLfrhqP15JjHwf6~5UD-#GyOcXUYV_Ec9BqSt&@vEz=8=hd($jHdxB&=Fok5>KG*Oxio z=d!VC3k@Rf8^jAV zF}v`mPc=0)A>W|sK`QxTng?k~J41)0OsuS|3;^M!l-uc$5!c%|LqPfHtAex=5GJ5u zkPvVkuuqCll2H&oM+=V+*9M{GInDMj|Ni~0N5Ap{SjsqBK+7P1WMji^V{`NR@kIcH z#TTn9(2O2Ge%#-$znY(xmR4NMMri5lE5m-lk!WerNYrqiXgMgfQ;uQZzI|Am`=8{1 z1iZEuIq{`sWGe1fY`!loi6j48rj9`y1K5As1gzqK+B%WFa7@2^Wnn>U_4^S zQ{n~%{yyLyudxj`06R*;HjXucM=L<3`^HU&j zk`k4BjA*a;h4bg<);6$5vFqyVl|TR>jTNeIjz!)y5!y%K5*1y>)rHVOLPCQ5f9%+? z9CW{#&tJYkTnkf4!N0%W8@;Nf^`wu)WohCcEiI;ZM=x?SddnuTS7c`Hsur}Xlbm~U z9>D1;@zKf9m)=rGUZ6qhJ($-leb3&WmX5C6WszqoVMNSxVYC5|c5cpwE%-M+frZG6 z!9fEFiIV%o2O(4YI1{z64-w6tw))P^M16|3#A{nx{Nw}qgVU~5!3yl67SF=M{z1{! zDv1w8Ye-5u9H9cv{>>s^qnv`AoY);qYIpjWTU&qm{F(pQv4bom5h_=pu|`LCfB#N> zj){6lK((PzG%W?0zK@Rb)z14>4yJoOhL!1>lF#p6Qzu)6>(YpQDC;{5TDq2pO_)V>kIf8X7jg zzUPBLJf5BaZiRG(L-QqGrXnNbG1o)LUs*c2hxqwF17JfGLSaWUA<9(E&2_dLcrQqQ z&8 z{%KeM#_2bZfNz15&Q! zgq(r`v%GGi2FoD7{^t(_);fCW)k=V8)SFnResQB_LT3) zYUfR_GM7bkq%)o0zR}%E`1bWHQ3N81fBCW$QWcJ)lhaB;zbg%0D{2e&2ij9tcX#c_ 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