Browse Source

upgrade: upgrade abp framework to 8.1.1

pull/946/head
colin 2 years ago
parent
commit
27a3259acb
  1. 2
      .github/workflows/publish.yml
  2. 4
      .github/workflows/release.yml
  3. 6
      Directory.Packages.props
  4. 49
      aspnet-core/migrations/LY.MicroService.Platform.EntityFrameworkCore/PlatformDbMigrationEventHandler.cs
  5. 1
      aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN/Abp/Account/MyClaimAppService.cs
  6. 8
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application/LINGYUN/Abp/Saas/Tenants/TenantAppService.cs
  7. 1
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/Tenants/TenantDeletedEto.cs
  8. 4
      aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/LINGYUN/Abp/Saas/Features/SaasFeatureDefinitionProvider.cs
  9. 4
      common.props

2
.github/workflows/publish.yml

@ -2,7 +2,7 @@ name: "Publish"
on: on:
push: push:
branches: [ rel-8.1.0 ] branches: [ rel-8.1.1 ]
env: env:
DOTNET_VERSION: "8.0.200" DOTNET_VERSION: "8.0.200"

4
.github/workflows/release.yml

@ -2,7 +2,7 @@ name: "Tagged Release"
on: on:
push: push:
branches: [ rel-8.1.0 ] branches: [ rel-8.1.1 ]
jobs: jobs:
tagged-release: tagged-release:
@ -14,4 +14,4 @@ jobs:
with: with:
repo_token: "${{ secrets.GITHUB_TOKEN }}" repo_token: "${{ secrets.GITHUB_TOKEN }}"
prerelease: false prerelease: false
automatic_release_tag: "8.1.0" automatic_release_tag: "8.1.1"

6
Directory.Packages.props

@ -1,8 +1,8 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<DotNetCoreCAPPackageVersion>8.1.0</DotNetCoreCAPPackageVersion> <DotNetCoreCAPPackageVersion>8.1.1</DotNetCoreCAPPackageVersion>
<ElsaPackageVersion>2.14.1</ElsaPackageVersion> <ElsaPackageVersion>2.14.1</ElsaPackageVersion>
<VoloAbpPackageVersion>8.1.0</VoloAbpPackageVersion> <VoloAbpPackageVersion>8.1.1</VoloAbpPackageVersion>
<MicrosoftExtensionsPackageVersion>8.0.0</MicrosoftExtensionsPackageVersion> <MicrosoftExtensionsPackageVersion>8.0.0</MicrosoftExtensionsPackageVersion>
<MicrosoftAspNetCorePackageVersion>8.0.0</MicrosoftAspNetCorePackageVersion> <MicrosoftAspNetCorePackageVersion>8.0.0</MicrosoftAspNetCorePackageVersion>
<MicrosoftEntityFrameworkCorePackageVersion>8.0.0</MicrosoftEntityFrameworkCorePackageVersion> <MicrosoftEntityFrameworkCorePackageVersion>8.0.0</MicrosoftEntityFrameworkCorePackageVersion>
@ -229,7 +229,7 @@
<PackageVersion Include="Hangfire.MySqlStorage" Version="2.0.3" /> <PackageVersion Include="Hangfire.MySqlStorage" Version="2.0.3" />
<PackageVersion Include="HangFire.SqlServer" Version="1.8.6" /> <PackageVersion Include="HangFire.SqlServer" Version="1.8.6" />
<PackageVersion Include="IdentityModel" Version="6.2.0" /> <PackageVersion Include="IdentityModel" Version="6.2.0" />
<PackageVersion Include="JetBrains.Annotations" Version="2022.1.0" /> <PackageVersion Include="JetBrains.Annotations" Version="2023.3.0" />
<PackageVersion Include="Markdig" Version="0.34.0" /> <PackageVersion Include="Markdig" Version="0.34.0" />
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" /> <PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
<PackageVersion Include="NEST" Version="7.15.1" /> <PackageVersion Include="NEST" Version="7.15.1" />

49
aspnet-core/migrations/LY.MicroService.Platform.EntityFrameworkCore/PlatformDbMigrationEventHandler.cs

@ -1,5 +1,4 @@
using LINGYUN.Abp.Saas.Features; using LINGYUN.Abp.Saas.Tenants;
using LINGYUN.Abp.Saas.Tenants;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging;
@ -53,37 +52,31 @@ public class PlatformDbMigrationEventHandler :
var hostDefaultConnectionString = Configuration.GetConnectionString(ConnectionStrings.DefaultConnectionStringName); var hostDefaultConnectionString = Configuration.GetConnectionString(ConnectionStrings.DefaultConnectionStringName);
using (CurrentTenant.Change(eventData.Id)) using (CurrentTenant.Change(eventData.Id))
{ {
// 租户删除时的资源回收策略 // 需要回收策略为回收且存在默认连接字符串且默认连接字符串与宿主不同
var strategyFeature = await FeatureChecker.GetOrNullAsync(SaasFeatureNames.Tenant.RecycleStrategy); if (eventData.Strategy == RecycleStrategy.Recycle && !eventData.DefaultConnectionString.IsNullOrWhiteSpace())
if (!strategyFeature.IsNullOrWhiteSpace() && Enum.TryParse<RecycleStrategy>(strategyFeature, out var strategy))
{ {
// 需要回收策略为回收且存在默认连接字符串且默认连接字符串与宿主不同 var hostConnection = new DbConnectionStringBuilder()
if (strategy == RecycleStrategy.Recycle && !eventData.DefaultConnectionString.IsNullOrWhiteSpace())
{ {
var hostConnection = new DbConnectionStringBuilder() ConnectionString = hostDefaultConnectionString,
{ };
ConnectionString = hostDefaultConnectionString, var tenantConnection = new DbConnectionStringBuilder()
}; {
var tenantConnection = new DbConnectionStringBuilder() ConnectionString = eventData.DefaultConnectionString,
{ };
ConnectionString = eventData.DefaultConnectionString, if (hostConnection.EquivalentTo(tenantConnection))
}; {
if (hostConnection.EquivalentTo(tenantConnection)) return;
{ }
return;
}
using var uow = UnitOfWorkManager.Begin(requiresNew: true, isTransactional: true); using var uow = UnitOfWorkManager.Begin(requiresNew: true, isTransactional: true);
var buildr = new DbContextOptionsBuilder(); var buildr = new DbContextOptionsBuilder();
buildr.UseMySql(eventData.DefaultConnectionString, ServerVersion.AutoDetect(eventData.DefaultConnectionString)); buildr.UseMySql(eventData.DefaultConnectionString, ServerVersion.AutoDetect(eventData.DefaultConnectionString));
await using var dbConnection = new DbContext(buildr.Options); await using var dbConnection = new DbContext(buildr.Options);
if ((await dbConnection.Database.GetAppliedMigrationsAsync()).Any()) if ((await dbConnection.Database.GetAppliedMigrationsAsync()).Any())
{ {
await dbConnection.Database.EnsureDeletedAsync(); await dbConnection.Database.EnsureDeletedAsync();
}
} }
} }
} }
} }
} }

1
aspnet-core/modules/account/LINGYUN.Abp.Account.Application/LINGYUN/Abp/Account/MyClaimAppService.cs

@ -19,6 +19,7 @@ namespace LINGYUN.Abp.Account
{ {
var user = await GetCurrentUserAsync(); var user = await GetCurrentUserAsync();
// TODO: Use AbpClaimTypes.Picture
user.Claims.RemoveAll(x => x.ClaimType.Equals(IdentityConsts.ClaimType.Avatar.Name)); user.Claims.RemoveAll(x => x.ClaimType.Equals(IdentityConsts.ClaimType.Avatar.Name));
user.AddClaim(GuidGenerator, new Claim(IdentityConsts.ClaimType.Avatar.Name, input.AvatarUrl)); user.AddClaim(GuidGenerator, new Claim(IdentityConsts.ClaimType.Avatar.Name, input.AvatarUrl));

8
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Application/LINGYUN/Abp/Saas/Tenants/TenantAppService.cs

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Authorization; using LINGYUN.Abp.Saas.Features;
using Microsoft.AspNetCore.Authorization;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -7,6 +8,7 @@ using Volo.Abp;
using Volo.Abp.Application.Dtos; using Volo.Abp.Application.Dtos;
using Volo.Abp.Data; using Volo.Abp.Data;
using Volo.Abp.EventBus.Distributed; using Volo.Abp.EventBus.Distributed;
using Volo.Abp.Features;
using Volo.Abp.MultiTenancy; using Volo.Abp.MultiTenancy;
using Volo.Abp.ObjectExtending; using Volo.Abp.ObjectExtending;
@ -153,10 +155,14 @@ public class TenantAppService : AbpSaasAppServiceBase, ITenantAppService
{ {
return; return;
} }
// 租户删除时查询会失效, 在删除前确认
var strategy = await FeatureChecker.GetAsync(SaasFeatureNames.Tenant.RecycleStrategy, RecycleStrategy.Recycle);
var eto = new TenantDeletedEto var eto = new TenantDeletedEto
{ {
Id = tenant.Id, Id = tenant.Id,
Name = tenant.Name, Name = tenant.Name,
Strategy = strategy,
EntityVersion = tenant.EntityVersion, EntityVersion = tenant.EntityVersion,
DefaultConnectionString = tenant.FindDefaultConnectionString(), DefaultConnectionString = tenant.FindDefaultConnectionString(),
}; };

1
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain.Shared/LINGYUN/Abp/Saas/Tenants/TenantDeletedEto.cs

@ -7,5 +7,6 @@ namespace LINGYUN.Abp.Saas.Tenants;
[EventName("abp.saas.tenant.deleted")] [EventName("abp.saas.tenant.deleted")]
public class TenantDeletedEto : TenantEto public class TenantDeletedEto : TenantEto
{ {
public RecycleStrategy Strategy { get; set; }
public string DefaultConnectionString { get; set; } public string DefaultConnectionString { get; set; }
} }

4
aspnet-core/modules/saas/LINGYUN.Abp.Saas.Domain/LINGYUN/Abp/Saas/Features/SaasFeatureDefinitionProvider.cs

@ -43,14 +43,14 @@ public class SaasFeatureDefinitionProvider : FeatureDefinitionProvider
defaultValue: 15.ToString(), defaultValue: 15.ToString(),
displayName: L("Features:ExpirationReminderDays"), displayName: L("Features:ExpirationReminderDays"),
description: L("Features:ExpirationReminderDaysDesc"), description: L("Features:ExpirationReminderDaysDesc"),
valueType: new ToggleStringValueType(new NumericValueValidator(1, 30)), valueType: new FreeTextStringValueType(new NumericValueValidator(1, 30)),
isAvailableToHost: false); isAvailableToHost: false);
saas.AddFeature( saas.AddFeature(
name: SaasFeatureNames.Tenant.ExpiredRecoveryTime, name: SaasFeatureNames.Tenant.ExpiredRecoveryTime,
defaultValue: 15.ToString(), defaultValue: 15.ToString(),
displayName: L("Features:ExpiredRecoveryTime"), displayName: L("Features:ExpiredRecoveryTime"),
description: L("Features:ExpiredRecoveryTimeDesc"), description: L("Features:ExpiredRecoveryTimeDesc"),
valueType: new ToggleStringValueType(new NumericValueValidator(1, 30)), valueType: new FreeTextStringValueType(new NumericValueValidator(1, 30)),
isAvailableToHost: false); isAvailableToHost: false);
} }

4
common.props

@ -1,12 +1,12 @@
<Project> <Project>
<PropertyGroup> <PropertyGroup>
<LangVersion>latest</LangVersion> <LangVersion>latest</LangVersion>
<Version>8.1.0</Version> <Version>8.1.1</Version>
<Authors>colin</Authors> <Authors>colin</Authors>
<NoWarn>$(NoWarn);CS1591;CS0436;CS8618;NU1803</NoWarn> <NoWarn>$(NoWarn);CS1591;CS0436;CS8618;NU1803</NoWarn>
<PackageProjectUrl>https://github.com/colinin/abp-next-admin</PackageProjectUrl> <PackageProjectUrl>https://github.com/colinin/abp-next-admin</PackageProjectUrl>
<PackageOutputPath>$(SolutionDir)LocalNuget</PackageOutputPath> <PackageOutputPath>$(SolutionDir)LocalNuget</PackageOutputPath>
<PackageVersion>8.1.0</PackageVersion> <PackageVersion>8.1.1</PackageVersion>
<PackageLicenseExpression>MIT</PackageLicenseExpression> <PackageLicenseExpression>MIT</PackageLicenseExpression>
<RepositoryType>git</RepositoryType> <RepositoryType>git</RepositoryType>
<RepositoryUrl>https://github.com/colinin/abp-next-admin</RepositoryUrl> <RepositoryUrl>https://github.com/colinin/abp-next-admin</RepositoryUrl>

Loading…
Cancel
Save