chore: 升级ABP框架及相关依赖版本,更新数据库连接字符串并清理Swagger配置

1.  将ABP相关包版本从10.0.1升级至10.5.0,LeptonX主题从5.0.1升级至5.5.0
2.  更新测试相关依赖包版本,统一项目包版本
3.  修改数据库连接字符串默认库名为Hua.Abp.Demo
4.  移除冗余的Swagger OpenIddict文档过滤器配置
5.  添加数据库迁移文件更新数据库结构
This commit is contained in:
ShaoHua
2026-07-14 04:37:31 +08:00
parent dc6daed052
commit 767ff807a5
28 changed files with 4293 additions and 708 deletions
+8 -8
View File
@@ -2,42 +2,42 @@
"template": "app",
"imports": {
"Volo.Abp.LeptonXLiteTheme": {
"version": "5.0.1",
"version": "5.5.0",
"isInstalled": true,
"creationTime": "12/28/2025 13:43:05 +00:00"
},
"Volo.Abp.Account": {
"version": "10.0.1",
"version": "10.5.0",
"isInstalled": true,
"creationTime": "12/28/2025 13:43:05 +00:00"
},
"Volo.Abp.OpenIddict": {
"version": "10.0.1",
"version": "10.5.0",
"isInstalled": true,
"creationTime": "12/28/2025 13:43:05 +00:00"
},
"Volo.Abp.Identity": {
"version": "10.0.1",
"version": "10.5.0",
"isInstalled": true,
"creationTime": "12/28/2025 13:43:05 +00:00"
},
"Volo.Abp.TenantManagement": {
"version": "10.0.1",
"version": "10.5.0",
"isInstalled": true,
"creationTime": "12/28/2025 13:43:05 +00:00"
},
"Volo.Abp.SettingManagement": {
"version": "10.0.1",
"version": "10.5.0",
"isInstalled": true,
"creationTime": "12/28/2025 13:43:05 +00:00"
},
"Volo.Abp.PermissionManagement": {
"version": "10.0.1",
"version": "10.5.0",
"isInstalled": true,
"creationTime": "12/28/2025 13:43:05 +00:00"
},
"Volo.Abp.FeatureManagement": {
"version": "10.0.1",
"version": "10.5.0",
"isInstalled": true,
"creationTime": "12/28/2025 13:43:05 +00:00"
}
+28 -8
View File
@@ -3,9 +3,11 @@
"creationTime": "12/28/2025 13:43:05 +00:00",
"template": "app",
"versions": {
"AbpFramework": "10.0.1",
"AbpStudio": "2.1.3",
"TargetDotnetFramework": "net10.0"
"AbpFramework": "10.5.0",
"AbpStudio": "3.0.7",
"TargetDotnetFramework": "net10.0",
"AbpCommercial": "10.5.0",
"LeptonX": "5.5.0"
},
"modules": {
"Hua.Abp.Demo": {
@@ -19,9 +21,7 @@
},
"options": {
"httpRequests": {
"ignoredUrls": [
]
"ignoredUrls": []
}
},
"creatingStudioConfiguration": {
@@ -45,13 +45,33 @@
"theme": "leptonx-lite",
"themeStyle": "",
"themeMenuPlacement": "",
"mobileFramework": "none",
"progressiveWebApp": "false",
"runProgressiveWebAppSupport": "false",
"publicWebsite": "false",
"socialLogin": "true",
"sampleCrudPage": "true",
"selectedLanguages": ["English", "Arabic", "Chinese (Simplified)", "Chinese (Traditional)", "Czech", "English (United Kingdom)", "Finnish", "French", "German (Germany)", "Hindi ", "Hungarian", "Icelandic", "Italian", "Portuguese (Brazil)", "Romanian (Romania)", "Russian", "Slovak", "Spanish", "Swedish", "Turkish", ],
"selectedLanguages": [
"English",
"Arabic",
"Chinese (Simplified)",
"Chinese (Traditional)",
"Czech",
"English (United Kingdom)",
"Finnish",
"French",
"German (Germany)",
"Hindi ",
"Hungarian",
"Icelandic",
"Italian",
"Portuguese (Brazil)",
"Romanian (Romania)",
"Russian",
"Slovak",
"Spanish",
"Swedish",
"Turkish"
],
"defaultLanguage": "English",
"createCommand": "abp new Hua.Abp.Demo -t app --ui-framework angular --database-provider ef --database-management-system postgresql --theme leptonx-lite --skip-migration --skip-migrator --without-cms-kit --sample-crud-page --dont-run-bundling -no-file-management"
}
+6
View File
@@ -0,0 +1,6 @@
2026-07-14 04:21:49.594 +08:00 [INF] Started database migrations...
2026-07-14 04:21:49.599 +08:00 [INF] Migrating schema for host database...
2026-07-14 04:21:50.142 +08:00 [ERR] An error occurred using the connection to database '' on server ''.
2026-07-14 04:22:20.415 +08:00 [INF] Started database migrations...
2026-07-14 04:22:20.422 +08:00 [INF] Migrating schema for host database...
2026-07-14 04:22:20.971 +08:00 [ERR] An error occurred using the connection to database '' on server ''.
+11 -11
View File
@@ -14,16 +14,16 @@
},
"private": true,
"dependencies": {
"@abp/ng.components": "~10.0.1",
"@abp/ng.core": "~10.0.1",
"@abp/ng.oauth": "~10.0.1",
"@abp/ng.setting-management": "~10.0.1",
"@abp/ng.theme.shared": "~10.0.1",
"@abp/ng.feature-management": "~10.0.1",
"@abp/ng.tenant-management": "~10.0.1",
"@abp/ng.identity": "~10.0.1",
"@abp/ng.account": "~10.0.1",
"@abp/ng.theme.lepton-x": "~5.0.1",
"@abp/ng.components": "~10.5.0",
"@abp/ng.core": "~10.5.0",
"@abp/ng.oauth": "~10.5.0",
"@abp/ng.setting-management": "~10.5.0",
"@abp/ng.theme.shared": "~10.5.0",
"@abp/ng.feature-management": "~10.5.0",
"@abp/ng.tenant-management": "~10.5.0",
"@abp/ng.identity": "~10.5.0",
"@abp/ng.account": "~10.5.0",
"@abp/ng.theme.lepton-x": "~5.5.0",
"@angular/animations": "~20.0.0",
"@angular/common": "~20.0.0",
"@angular/compiler": "~20.0.0",
@@ -38,7 +38,7 @@
"zone.js": "~0.15.0"
},
"devDependencies": {
"@abp/ng.schematics": "~10.0.1",
"@abp/ng.schematics": "~10.5.0",
"@angular-eslint/builder": "~20.0.0",
"@angular-eslint/eslint-plugin": "~20.0.0",
"@angular-eslint/eslint-plugin-template": "~20.0.0",
+1322 -191
View File
File diff suppressed because it is too large Load Diff
@@ -13,12 +13,12 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.PermissionManagement.Application.Contracts" Version="10.0.1" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application.Contracts" Version="10.0.1" />
<PackageReference Include="Volo.Abp.SettingManagement.Application.Contracts" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Account.Application.Contracts" Version="10.0.1" />
<PackageReference Include="Volo.Abp.TenantManagement.Application.Contracts" Version="10.0.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application.Contracts" Version="10.5.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application.Contracts" Version="10.5.0" />
<PackageReference Include="Volo.Abp.SettingManagement.Application.Contracts" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Identity.Application.Contracts" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Account.Application.Contracts" Version="10.5.0" />
<PackageReference Include="Volo.Abp.TenantManagement.Application.Contracts" Version="10.5.0" />
</ItemGroup>
</Project>
@@ -14,12 +14,12 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="10.0.1" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application" Version="10.0.1" />
<PackageReference Include="Volo.Abp.SettingManagement.Application" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Account.Application" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Identity.Application" Version="10.0.1" />
<PackageReference Include="Volo.Abp.TenantManagement.Application" Version="10.0.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Application" Version="10.5.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Application" Version="10.5.0" />
<PackageReference Include="Volo.Abp.SettingManagement.Application" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Account.Application" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Identity.Application" Version="10.5.0" />
<PackageReference Include="Volo.Abp.TenantManagement.Application" Version="10.5.0" />
</ItemGroup>
</Project>
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
@@ -10,15 +10,15 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Serilog.Extensions.Logging" Version="9.0.2" />
<PackageReference Include="Serilog.Extensions.Logging" Version="10.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
<PackageReference Include="Serilog.Sinks.File" Version="7.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="6.1.1" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.9" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Autofac" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Autofac" Version="10.5.0" />
<ProjectReference Include="..\Hua.Abp.Demo.EntityFrameworkCore\Hua.Abp.Demo.EntityFrameworkCore.csproj" />
<ProjectReference Include="..\Hua.Abp.Demo.Application.Contracts\Hua.Abp.Demo.Application.Contracts.csproj" />
</ItemGroup>
+1 -1
View File
@@ -1,6 +1,6 @@
{
"ConnectionStrings": {
"Default": "Host=localhost;Port=5432;Database=Demo;User ID=postgres;Password=123456;"
"Default": "Host=localhost;Port=5432;Database=Hua.Abp.Demo;User ID=postgres;Password=123456;"
},
"OpenIddict": {
"Applications": {
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
@@ -10,23 +10,23 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.BackgroundJobs.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.AuditLogging.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.FeatureManagement.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.BlobStoring.Database.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.GlobalFeatures" Version="10.0.1" />
<PackageReference Include="Volo.Abp.BackgroundJobs.Domain.Shared" Version="10.5.0" />
<PackageReference Include="Volo.Abp.AuditLogging.Domain.Shared" Version="10.5.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Domain.Shared" Version="10.5.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Shared" Version="10.5.0" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain.Shared" Version="10.5.0" />
<PackageReference Include="Volo.Abp.BlobStoring.Database.Domain.Shared" Version="10.5.0" />
<PackageReference Include="Volo.Abp.GlobalFeatures" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.OpenIddict.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Identity.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.TenantManagement.Domain.Shared" Version="10.0.1" />
<PackageReference Include="Volo.Abp.OpenIddict.Domain.Shared" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Identity.Domain.Shared" Version="10.5.0" />
<PackageReference Include="Volo.Abp.TenantManagement.Domain.Shared" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="10.0.9" />
</ItemGroup>
<ItemGroup>
@@ -13,21 +13,21 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Emailing" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Caching" Version="10.0.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" Version="10.0.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.OpenIddict" Version="10.0.1" />
<PackageReference Include="Volo.Abp.BackgroundJobs.Domain" Version="10.0.1" />
<PackageReference Include="Volo.Abp.AuditLogging.Domain" Version="10.0.1" />
<PackageReference Include="Volo.Abp.FeatureManagement.Domain" Version="10.0.1" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="10.0.1" />
<PackageReference Include="Volo.Abp.BlobStoring.Database.Domain" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Emailing" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Caching" Version="10.5.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" Version="10.5.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.Domain.OpenIddict" Version="10.5.0" />
<PackageReference Include="Volo.Abp.BackgroundJobs.Domain" Version="10.5.0" />
<PackageReference Include="Volo.Abp.AuditLogging.Domain" Version="10.5.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.Domain" Version="10.5.0" />
<PackageReference Include="Volo.Abp.SettingManagement.Domain" Version="10.5.0" />
<PackageReference Include="Volo.Abp.BlobStoring.Database.Domain" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.OpenIddict.Domain" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Identity.Domain" Version="10.0.1" />
<PackageReference Include="Volo.Abp.TenantManagement.Domain" Version="10.0.1" />
<PackageReference Include="Volo.Abp.OpenIddict.Domain" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Identity.Domain" Version="10.5.0" />
<PackageReference Include="Volo.Abp.TenantManagement.Domain" Version="10.5.0" />
</ItemGroup>
</Project>
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
@@ -13,25 +13,25 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.EntityFrameworkCore.PostgreSql" Version="10.0.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.SettingManagement.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.BackgroundJobs.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.AuditLogging.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.FeatureManagement.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.BlobStoring.Database.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.PostgreSql" Version="10.5.0" />
<PackageReference Include="Volo.Abp.PermissionManagement.EntityFrameworkCore" Version="10.5.0" />
<PackageReference Include="Volo.Abp.SettingManagement.EntityFrameworkCore" Version="10.5.0" />
<PackageReference Include="Volo.Abp.BackgroundJobs.EntityFrameworkCore" Version="10.5.0" />
<PackageReference Include="Volo.Abp.AuditLogging.EntityFrameworkCore" Version="10.5.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.EntityFrameworkCore" Version="10.5.0" />
<PackageReference Include="Volo.Abp.BlobStoring.Database.EntityFrameworkCore" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.OpenIddict.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Identity.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.TenantManagement.EntityFrameworkCore" Version="10.0.1" />
<PackageReference Include="Volo.Abp.OpenIddict.EntityFrameworkCore" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Identity.EntityFrameworkCore" Version="10.5.0" />
<PackageReference Include="Volo.Abp.TenantManagement.EntityFrameworkCore" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.0">
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="10.0.9">
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
<PrivateAssets>compile; contentFiles; build; buildMultitargeting; buildTransitive; analyzers; native</PrivateAssets>
<PrivateAssets>compile; build; native; contentfiles; analyzers; buildtransitive</PrivateAssets>
</PackageReference>
</ItemGroup>
@@ -0,0 +1,221 @@
using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace Hua.Abp.Demo.Migrations
{
/// <inheritdoc />
public partial class AddLastSignInTimeToUsers : Migration
{
/// <inheritdoc />
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropIndex(
name: "IX_AbpPermissions_Name",
table: "AbpPermissions");
migrationBuilder.AddColumn<DateTimeOffset>(
name: "LastSignInTime",
table: "AbpUsers",
type: "timestamp with time zone",
nullable: true);
migrationBuilder.AddColumn<bool>(
name: "Leaved",
table: "AbpUsers",
type: "boolean",
nullable: false,
defaultValue: false);
migrationBuilder.AlterColumn<string>(
name: "GroupName",
table: "AbpPermissions",
type: "character varying(128)",
maxLength: 128,
nullable: true,
oldClrType: typeof(string),
oldType: "character varying(128)",
oldMaxLength: 128);
migrationBuilder.AddColumn<string>(
name: "ManagementPermissionName",
table: "AbpPermissions",
type: "character varying(128)",
maxLength: 128,
nullable: true);
migrationBuilder.AddColumn<string>(
name: "ResourceName",
table: "AbpPermissions",
type: "character varying(256)",
maxLength: 256,
nullable: true);
migrationBuilder.AlterColumn<string>(
name: "PropertyTypeFullName",
table: "AbpEntityPropertyChanges",
type: "character varying(512)",
maxLength: 512,
nullable: false,
oldClrType: typeof(string),
oldType: "character varying(64)",
oldMaxLength: 64);
migrationBuilder.AlterColumn<string>(
name: "EntityTypeFullName",
table: "AbpEntityChanges",
type: "character varying(512)",
maxLength: 512,
nullable: false,
oldClrType: typeof(string),
oldType: "character varying(128)",
oldMaxLength: 128);
migrationBuilder.CreateTable(
name: "AbpResourcePermissionGrants",
columns: table => new
{
Id = table.Column<Guid>(type: "uuid", nullable: false),
TenantId = table.Column<Guid>(type: "uuid", nullable: true),
Name = table.Column<string>(type: "character varying(128)", maxLength: 128, nullable: false),
ProviderName = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
ProviderKey = table.Column<string>(type: "character varying(64)", maxLength: 64, nullable: false),
ResourceName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false),
ResourceKey = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpResourcePermissionGrants", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AbpUserPasskeys",
columns: table => new
{
CredentialId = table.Column<byte[]>(type: "bytea", maxLength: 1024, nullable: false),
TenantId = table.Column<Guid>(type: "uuid", nullable: true),
UserId = table.Column<Guid>(type: "uuid", nullable: false),
Data = table.Column<string>(type: "jsonb", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUserPasskeys", x => x.CredentialId);
table.ForeignKey(
name: "FK_AbpUserPasskeys_AbpUsers_UserId",
column: x => x.UserId,
principalTable: "AbpUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "AbpUserPasswordHistories",
columns: table => new
{
UserId = table.Column<Guid>(type: "uuid", nullable: false),
Password = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: false),
TenantId = table.Column<Guid>(type: "uuid", nullable: true),
CreatedAt = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_AbpUserPasswordHistories", x => new { x.UserId, x.Password });
table.ForeignKey(
name: "FK_AbpUserPasswordHistories_AbpUsers_UserId",
column: x => x.UserId,
principalTable: "AbpUsers",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateIndex(
name: "IX_AbpPermissions_ResourceName_Name",
table: "AbpPermissions",
columns: new[] { "ResourceName", "Name" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_AbpResourcePermissionGrants_TenantId_Name_ResourceName_Reso~",
table: "AbpResourcePermissionGrants",
columns: new[] { "TenantId", "Name", "ResourceName", "ResourceKey", "ProviderName", "ProviderKey" },
unique: true);
migrationBuilder.CreateIndex(
name: "IX_AbpUserPasskeys_UserId",
table: "AbpUserPasskeys",
column: "UserId");
}
/// <inheritdoc />
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AbpResourcePermissionGrants");
migrationBuilder.DropTable(
name: "AbpUserPasskeys");
migrationBuilder.DropTable(
name: "AbpUserPasswordHistories");
migrationBuilder.DropIndex(
name: "IX_AbpPermissions_ResourceName_Name",
table: "AbpPermissions");
migrationBuilder.DropColumn(
name: "LastSignInTime",
table: "AbpUsers");
migrationBuilder.DropColumn(
name: "Leaved",
table: "AbpUsers");
migrationBuilder.DropColumn(
name: "ManagementPermissionName",
table: "AbpPermissions");
migrationBuilder.DropColumn(
name: "ResourceName",
table: "AbpPermissions");
migrationBuilder.AlterColumn<string>(
name: "GroupName",
table: "AbpPermissions",
type: "character varying(128)",
maxLength: 128,
nullable: false,
defaultValue: "",
oldClrType: typeof(string),
oldType: "character varying(128)",
oldMaxLength: 128,
oldNullable: true);
migrationBuilder.AlterColumn<string>(
name: "PropertyTypeFullName",
table: "AbpEntityPropertyChanges",
type: "character varying(64)",
maxLength: 64,
nullable: false,
oldClrType: typeof(string),
oldType: "character varying(512)",
oldMaxLength: 512);
migrationBuilder.AlterColumn<string>(
name: "EntityTypeFullName",
table: "AbpEntityChanges",
type: "character varying(128)",
maxLength: 128,
nullable: false,
oldClrType: typeof(string),
oldType: "character varying(512)",
oldMaxLength: 512);
migrationBuilder.CreateIndex(
name: "IX_AbpPermissions_Name",
table: "AbpPermissions",
column: "Name",
unique: true);
}
}
}
@@ -19,7 +19,7 @@ namespace Hua.Abp.Demo.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.PostgreSql)
.HasAnnotation("ProductVersion", "10.0.0")
.HasAnnotation("ProductVersion", "10.0.9")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -304,8 +304,8 @@ namespace Hua.Abp.Demo.Migrations
b.Property<string>("EntityTypeFullName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("EntityTypeFullName");
b.Property<string>("ExtraProperties")
@@ -352,8 +352,8 @@ namespace Hua.Abp.Demo.Migrations
b.Property<string>("PropertyTypeFullName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)")
.HasMaxLength(512)
.HasColumnType("character varying(512)")
.HasColumnName("PropertyTypeFullName");
b.Property<Guid?>("TenantId")
@@ -1003,6 +1003,15 @@ namespace Hua.Abp.Demo.Migrations
b.Property<DateTimeOffset?>("LastPasswordChangeTime")
.HasColumnType("timestamp with time zone");
b.Property<DateTimeOffset?>("LastSignInTime")
.HasColumnType("timestamp with time zone");
b.Property<bool>("Leaved")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("Leaved");
b.Property<bool>("LockoutEnabled")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
@@ -1198,6 +1207,47 @@ namespace Hua.Abp.Demo.Migrations
b.ToTable("AbpUserOrganizationUnits", (string)null);
});
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserPasskey", b =>
{
b.Property<byte[]>("CredentialId")
.HasMaxLength(1024)
.HasColumnType("bytea");
b.Property<Guid?>("TenantId")
.HasColumnType("uuid")
.HasColumnName("TenantId");
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.HasKey("CredentialId");
b.HasIndex("UserId");
b.ToTable("AbpUserPasskeys", (string)null);
});
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserPasswordHistory", b =>
{
b.Property<Guid>("UserId")
.HasColumnType("uuid");
b.Property<string>("Password")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<DateTimeOffset>("CreatedAt")
.HasColumnType("timestamp with time zone");
b.Property<Guid?>("TenantId")
.HasColumnType("uuid")
.HasColumnName("TenantId");
b.HasKey("UserId", "Password");
b.ToTable("AbpUserPasswordHistories", (string)null);
});
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b =>
{
b.Property<Guid>("UserId")
@@ -1665,13 +1715,16 @@ namespace Hua.Abp.Demo.Migrations
.HasColumnName("ExtraProperties");
b.Property<string>("GroupName")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)");
b.Property<bool>("IsEnabled")
.HasColumnType("boolean");
b.Property<string>("ManagementPermissionName")
.HasMaxLength(128)
.HasColumnType("character varying(128)");
b.Property<byte>("MultiTenancySide")
.HasColumnType("smallint");
@@ -1688,6 +1741,10 @@ namespace Hua.Abp.Demo.Migrations
.HasMaxLength(128)
.HasColumnType("character varying(128)");
b.Property<string>("ResourceName")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("StateCheckers")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
@@ -1696,7 +1753,7 @@ namespace Hua.Abp.Demo.Migrations
b.HasIndex("GroupName");
b.HasIndex("Name")
b.HasIndex("ResourceName", "Name")
.IsUnique();
b.ToTable("AbpPermissions", (string)null);
@@ -1763,6 +1820,49 @@ namespace Hua.Abp.Demo.Migrations
b.ToTable("AbpPermissionGroups", (string)null);
});
modelBuilder.Entity("Volo.Abp.PermissionManagement.ResourcePermissionGrant", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("uuid");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)");
b.Property<string>("ProviderKey")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.Property<string>("ProviderName")
.IsRequired()
.HasMaxLength(64)
.HasColumnType("character varying(64)");
b.Property<string>("ResourceKey")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<string>("ResourceName")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<Guid?>("TenantId")
.HasColumnType("uuid")
.HasColumnName("TenantId");
b.HasKey("Id");
b.HasIndex("TenantId", "Name", "ResourceName", "ResourceKey", "ProviderName", "ProviderKey")
.IsUnique();
b.ToTable("AbpResourcePermissionGrants", (string)null);
});
modelBuilder.Entity("Volo.Abp.SettingManagement.Setting", b =>
{
b.Property<Guid>("Id")
@@ -2010,6 +2110,62 @@ namespace Hua.Abp.Demo.Migrations
.IsRequired();
});
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserPasskey", b =>
{
b.HasOne("Volo.Abp.Identity.IdentityUser", null)
.WithMany("Passkeys")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.OwnsOne("Volo.Abp.Identity.IdentityPasskeyData", "Data", b1 =>
{
b1.Property<byte[]>("IdentityUserPasskeyCredentialId");
b1.Property<byte[]>("AttestationObject");
b1.Property<byte[]>("ClientDataJson");
b1.Property<DateTimeOffset>("CreatedAt");
b1.Property<bool>("IsBackedUp");
b1.Property<bool>("IsBackupEligible");
b1.Property<bool>("IsUserVerified");
b1.Property<string>("Name");
b1.Property<byte[]>("PublicKey");
b1.Property<long>("SignCount");
b1.PrimitiveCollection<string>("Transports");
b1.HasKey("IdentityUserPasskeyCredentialId");
b1.ToTable("AbpUserPasskeys");
b1
.ToJson("Data")
.HasColumnType("jsonb");
b1.WithOwner()
.HasForeignKey("IdentityUserPasskeyCredentialId");
});
b.Navigation("Data");
});
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserPasswordHistory", b =>
{
b.HasOne("Volo.Abp.Identity.IdentityUser", null)
.WithMany("PasswordHistories")
.HasForeignKey("UserId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b =>
{
b.HasOne("Volo.Abp.Identity.IdentityRole", null)
@@ -2108,6 +2264,10 @@ namespace Hua.Abp.Demo.Migrations
b.Navigation("OrganizationUnits");
b.Navigation("Passkeys");
b.Navigation("PasswordHistories");
b.Navigation("Roles");
b.Navigation("Tokens");
@@ -13,15 +13,15 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi.Client" Version="10.0.1" />
<PackageReference Include="Volo.Abp.FeatureManagement.HttpApi.Client" Version="10.0.1" />
<PackageReference Include="Volo.Abp.SettingManagement.HttpApi.Client" Version="10.0.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi.Client" Version="10.5.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.HttpApi.Client" Version="10.5.0" />
<PackageReference Include="Volo.Abp.SettingManagement.HttpApi.Client" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Identity.HttpApi.Client" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Account.HttpApi.Client" Version="10.0.1" />
<PackageReference Include="Volo.Abp.TenantManagement.HttpApi.Client" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Identity.HttpApi.Client" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Account.HttpApi.Client" Version="10.5.0" />
<PackageReference Include="Volo.Abp.TenantManagement.HttpApi.Client" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
@@ -17,7 +17,7 @@ using OpenIddict.Server.AspNetCore;
using Hua.Abp.Demo.EntityFrameworkCore;
using Hua.Abp.Demo.MultiTenancy;
using Hua.Abp.Demo.HealthChecks;
using Microsoft.OpenApi.Models;
using Microsoft.OpenApi;
using Volo.Abp;
using Volo.Abp.Studio;
using Volo.Abp.Account;
@@ -40,7 +40,6 @@ using Volo.Abp.OpenIddict;
using Volo.Abp.Swashbuckle;
using Volo.Abp.Studio.Client.AspNetCore;
using Volo.Abp.Security.Claims;
using Hua.Abp.Demo.Swagger;
namespace Hua.Abp.Demo;
@@ -248,31 +247,6 @@ public class DemoHttpApiHostModule : AbpModule
options.SwaggerDoc("v1", new OpenApiInfo { Title = "Demo API", Version = "v1" });
options.DocInclusionPredicate((docName, description) => true);
options.CustomSchemaIds(type => type.FullName);
// 注册 OpenIddict 文档过滤器
options.DocumentFilter<OpenIddictDocumentFilter>();
// 添加 JWT Bearer 认证支持
var securityScheme = new OpenApiSecurityScheme
{
Name = "Authorization",
Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
In = ParameterLocation.Header,
Type = SecuritySchemeType.Http,
Scheme = "bearer",
BearerFormat = "JWT",
Reference = new OpenApiReference
{
Id = "Bearer",
Type = ReferenceType.SecurityScheme
}
};
options.AddSecurityDefinition("Bearer", securityScheme);
options.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{ securityScheme, new string[] { } }
});
});
}
@@ -15,31 +15,30 @@
<ItemGroup>
<PackageReference Include="AspNetCore.HealthChecks.UI" Version="9.0.0" />
<PackageReference Include="KubernetesClient" Version="18.0.5"/>
<PackageReference Include="KubernetesClient" Version="19.0.2" />
<PackageReference Include="IdentityModel" Version="7.0.0" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="9.0.0" />
<PackageReference Include="AspNetCore.HealthChecks.UI.InMemory.Storage" Version="9.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.1" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.0" />
<PackageReference Include="Serilog.AspNetCore" Version="9.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="10.0.9" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="10.0.9" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="10.0.9" />
<PackageReference Include="Serilog.AspNetCore" Version="10.0.0" />
<PackageReference Include="Serilog.Sinks.Async" Version="2.1.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.MultiTenancy" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Autofac" Version="10.0.1" />
<PackageReference Include="Volo.Abp.AspNetCore.Serilog" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Swashbuckle" Version="10.0.1" />
<PackageReference Include="Volo.Abp.AspNetCore.MultiTenancy" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Autofac" Version="10.5.0" />
<PackageReference Include="Volo.Abp.AspNetCore.Serilog" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Swashbuckle" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Account.Web.OpenIddict" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite" Version="5.0.1" />
<PackageReference Include="Volo.Abp.AspNetCore.Mvc.UI.Theme.LeptonXLite" Version="5.5.0" />
</ItemGroup>
<ItemGroup>
@@ -49,7 +48,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Studio.Client.AspNetCore" Version="2.1.3" />
<PackageReference Include="Volo.Abp.Studio.Client.AspNetCore" Version="3.0.7" />
</ItemGroup>
<ItemGroup>
@@ -1,219 +0,0 @@
using System.Collections.Generic;
using Microsoft.OpenApi.Any;
using Microsoft.OpenApi.Models;
using Swashbuckle.AspNetCore.SwaggerGen;
namespace Hua.Abp.Demo.Swagger;
public class OpenIddictDocumentFilter : IDocumentFilter
{
public void Apply(OpenApiDocument swaggerDoc, DocumentFilterContext context)
{
var paths = new Dictionary<string, OpenApiPathItem>
{
["/.well-known/openid-configuration"] = new OpenApiPathItem
{
Operations = new Dictionary<OperationType, OpenApiOperation>
{
[OperationType.Get] = new OpenApiOperation
{
Tags = new List<OpenApiTag> { new OpenApiTag { Name = "OpenID Connect" } },
Summary = "获取 OpenID Connect 发现文档",
Responses = new OpenApiResponses
{
["200"] = new OpenApiResponse
{
Description = "成功",
Content = new Dictionary<string, OpenApiMediaType>
{
["application/json"] = new OpenApiMediaType
{
Schema = new OpenApiSchema
{
Type = "object",
Properties = new Dictionary<string, OpenApiSchema>
{
["issuer"] = new OpenApiSchema { Type = "string", Description = "发行者 URL", Example = new OpenApiString("https://localhost:44322") },
["authorization_endpoint"] = new OpenApiSchema { Type = "string", Description = "授权端点 URL", Example = new OpenApiString("https://localhost:44322/connect/authorize") },
["token_endpoint"] = new OpenApiSchema { Type = "string", Description = "令牌端点 URL", Example = new OpenApiString("https://localhost:44322/connect/token") },
["jwks_uri"] = new OpenApiSchema { Type = "string", Description = "公钥集 URL", Example = new OpenApiString("https://localhost:44322/.well-known/jwks") },
["userinfo_endpoint"] = new OpenApiSchema { Type = "string", Description = "用户信息端点 URL", Example = new OpenApiString("https://localhost:44322/connect/userinfo") },
["scopes_supported"] = new OpenApiSchema { Type = "array", Description = "支持的作用域", Items = new OpenApiSchema { Type = "string" } },
["claims_supported"] = new OpenApiSchema { Type = "array", Description = "支持的声明", Items = new OpenApiSchema { Type = "string" } },
["response_types_supported"] = new OpenApiSchema { Type = "array", Description = "支持的响应类型", Items = new OpenApiSchema { Type = "string" } }
}
}
}
}
}
}
}
}
},
["/connect/token"] = new OpenApiPathItem
{
Operations = new Dictionary<OperationType, OpenApiOperation>
{
[OperationType.Post] = new OpenApiOperation
{
Tags = new List<OpenApiTag> { new OpenApiTag { Name = "OpenID Connect" } },
Summary = "获取访问令牌 (Access Token)",
Description = "使用授权码、密码或刷新令牌来换取访问令牌",
RequestBody = new OpenApiRequestBody
{
Content = new Dictionary<string, OpenApiMediaType>
{
["application/x-www-form-urlencoded"] = new OpenApiMediaType
{
Schema = new OpenApiSchema
{
Type = "object",
Properties = new Dictionary<string, OpenApiSchema>
{
["grant_type"] = new OpenApiSchema { Type = "string", Description = "授权类型 (password, client_credentials, authorization_code, refresh_token)", Example = new OpenApiString("password") },
["username"] = new OpenApiSchema { Type = "string", Description = "用户名 (密码模式必填)", Example = new OpenApiString("admin") },
["password"] = new OpenApiSchema { Type = "string", Description = "密码 (密码模式必填)", Example = new OpenApiString("1q2w3E*") },
["scope"] = new OpenApiSchema { Type = "string", Description = "请求的作用域 (空格分隔)", Example = new OpenApiString("openid profile email offline_access Demo") },
["client_id"] = new OpenApiSchema { Type = "string", Description = "客户端 ID", Example = new OpenApiString("Demo_App") },
["client_secret"] = new OpenApiSchema { Type = "string", Description = "客户端密钥 (如适用)" },
["code"] = new OpenApiSchema { Type = "string", Description = "授权码 (授权码模式必填)" },
["redirect_uri"] = new OpenApiSchema { Type = "string", Description = "重定向 URI" },
["refresh_token"] = new OpenApiSchema { Type = "string", Description = "刷新令牌 (刷新模式必填)" }
},
Required = new HashSet<string> { "grant_type" }
}
}
}
},
Responses = new OpenApiResponses
{
["200"] = new OpenApiResponse
{
Description = "成功",
Content = new Dictionary<string, OpenApiMediaType>
{
["application/json"] = new OpenApiMediaType
{
Schema = new OpenApiSchema
{
Type = "object",
Properties = new Dictionary<string, OpenApiSchema>
{
["access_token"] = new OpenApiSchema { Type = "string", Description = "访问令牌 (JWT)" },
["token_type"] = new OpenApiSchema { Type = "string", Description = "令牌类型 (通常为 Bearer)", Example = new OpenApiString("Bearer") },
["expires_in"] = new OpenApiSchema { Type = "integer", Format = "int32", Description = "过期时间 (秒)", Example = new OpenApiInteger(3600) },
["scope"] = new OpenApiSchema { Type = "string", Description = "实际授予的作用域" },
["id_token"] = new OpenApiSchema { Type = "string", Description = "身份令牌 (JWT,仅在请求 openid scope 时返回)" },
["refresh_token"] = new OpenApiSchema { Type = "string", Description = "刷新令牌 (仅在请求 offline_access scope 时返回)" }
}
}
}
}
},
["400"] = new OpenApiResponse
{
Description = "请求无效",
Content = new Dictionary<string, OpenApiMediaType>
{
["application/json"] = new OpenApiMediaType
{
Schema = new OpenApiSchema
{
Type = "object",
Properties = new Dictionary<string, OpenApiSchema>
{
["error"] = new OpenApiSchema { Type = "string", Description = "错误代码" },
["error_description"] = new OpenApiSchema { Type = "string", Description = "错误描述" }
}
}
}
}
}
}
}
}
},
["/connect/authorize"] = new OpenApiPathItem
{
Operations = new Dictionary<OperationType, OpenApiOperation>
{
[OperationType.Get] = new OpenApiOperation
{
Tags = new List<OpenApiTag> { new OpenApiTag { Name = "OpenID Connect" } },
Summary = "发起授权请求",
Description = "重定向用户到此端点以开始登录流程",
Parameters = new List<OpenApiParameter>
{
new OpenApiParameter { Name = "response_type", In = ParameterLocation.Query, Required = true, Schema = new OpenApiSchema { Type = "string", Example = new OpenApiString("code") }, Description = "响应类型 (如 code)" },
new OpenApiParameter { Name = "client_id", In = ParameterLocation.Query, Required = true, Schema = new OpenApiSchema { Type = "string", Example = new OpenApiString("Demo_App") }, Description = "客户端 ID" },
new OpenApiParameter { Name = "redirect_uri", In = ParameterLocation.Query, Schema = new OpenApiSchema { Type = "string" }, Description = "登录成功后的重定向 URI" },
new OpenApiParameter { Name = "scope", In = ParameterLocation.Query, Schema = new OpenApiSchema { Type = "string", Example = new OpenApiString("openid profile") }, Description = "请求的作用域" },
new OpenApiParameter { Name = "state", In = ParameterLocation.Query, Schema = new OpenApiSchema { Type = "string" }, Description = "状态值 (用于防止 CSRF)" }
},
Responses = new OpenApiResponses
{
["200"] = new OpenApiResponse { Description = "成功 (返回 HTML 登录页)" }
}
}
}
},
["/connect/userinfo"] = new OpenApiPathItem
{
Operations = new Dictionary<OperationType, OpenApiOperation>
{
[OperationType.Get] = new OpenApiOperation
{
Tags = new List<OpenApiTag> { new OpenApiTag { Name = "OpenID Connect" } },
Summary = "获取用户信息",
Description = "使用 Access Token 获取当前用户的详细信息",
Security = new List<OpenApiSecurityRequirement>
{
new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference { Type = ReferenceType.SecurityScheme, Id = "Bearer" }
},
new string[] { }
}
}
},
Responses = new OpenApiResponses
{
["200"] = new OpenApiResponse
{
Description = "成功",
Content = new Dictionary<string, OpenApiMediaType>
{
["application/json"] = new OpenApiMediaType
{
Schema = new OpenApiSchema
{
Type = "object",
Properties = new Dictionary<string, OpenApiSchema>
{
["sub"] = new OpenApiSchema { Type = "string", Description = "用户唯一标识 (ID)" },
["name"] = new OpenApiSchema { Type = "string", Description = "用户名" },
["email"] = new OpenApiSchema { Type = "string", Description = "邮箱" },
["email_verified"] = new OpenApiSchema { Type = "boolean", Description = "邮箱是否已验证" }
}
}
}
}
}
}
}
}
}
};
foreach (var path in paths)
{
if (!swaggerDoc.Paths.ContainsKey(path.Key))
{
swaggerDoc.Paths.Add(path.Key, path.Value);
}
}
}
}
@@ -8,7 +8,7 @@
"HealthCheckUrl": "/health-status"
},
"ConnectionStrings": {
"Default": "Host=localhost;Port=5432;Database=Demo;User ID=postgres;Password=123456;"
"Default": "Host=localhost;Port=5432;Database=Hua.Abp.Demo;User ID=postgres;Password=123456;"
},
"AuthServer": {
"Authority": "https://localhost:44322",
+1 -1
View File
@@ -3,6 +3,6 @@
"name": "my-app",
"private": true,
"dependencies": {
"@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~5.0.1"
"@abp/aspnetcore.mvc.ui.theme.leptonxlite": "~5.5.0"
}
}
+134 -135
View File
@@ -2,185 +2,186 @@
# yarn lockfile v1
"@abp/aspnetcore.mvc.ui.theme.leptonxlite@~5.0.1":
version "5.0.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.leptonxlite/-/aspnetcore.mvc.ui.theme.leptonxlite-5.0.1.tgz#da337d369e4fbce3e20cc29f664060cbcc4093e9"
integrity sha512-N5FmoWeJnXQe4qJQlzxPKDKHaNN1N6I/CpT6w+7hNcuLE/cHd+HMuup2oismhc1MeVN13+idtt3p6/iH3MqeDQ==
"@abp/aspnetcore.mvc.ui.theme.leptonxlite@~5.5.0":
version "5.5.0"
resolved "https://registry.npmmirror.com/@abp/aspnetcore.mvc.ui.theme.leptonxlite/-/aspnetcore.mvc.ui.theme.leptonxlite-5.5.0.tgz#5eb801e705b5d0fd5cd79853a456acf474302092"
integrity sha512-VQGZeRznNX4lTp3DP+BAlq7M7C9aeeiExFOc6lzKFvVHjvB4HBf0KHwFroMoazEg9J9YiJ0cBu8gdkNiQe3ZMA==
dependencies:
"@abp/aspnetcore.mvc.ui.theme.shared" "~10.0.1"
"@abp/aspnetcore.mvc.ui.theme.shared" "~10.5.0"
"@abp/aspnetcore.mvc.ui.theme.shared@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-10.0.1.tgz#3c525bbc0da2b4e603b609289af623a030953f6d"
integrity sha512-euCjtPG2AjZ9AFbRQNh9649f40rQRfq58ZLvjUCfCvotbe7Fl+FaZgyIukpxXqKgd14NtCd2xPbvRM6/3Wj6IQ==
"@abp/aspnetcore.mvc.ui.theme.shared@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/aspnetcore.mvc.ui.theme.shared/-/aspnetcore.mvc.ui.theme.shared-10.5.0.tgz#59c9d3cc5566de18a2c71734ef8e36b6461b20de"
integrity sha512-a88SfpHDx2An6EGbCrIgDzZmuqfpkwc+lqBtllmQybhWrNjCnPSQzYJuwgQU5R6X+6HotVEpluK8Rv6FnQPS/w==
dependencies:
"@abp/aspnetcore.mvc.ui" "~10.0.1"
"@abp/bootstrap" "~10.0.1"
"@abp/bootstrap-datepicker" "~10.0.1"
"@abp/bootstrap-daterangepicker" "~10.0.1"
"@abp/datatables.net-bs5" "~10.0.1"
"@abp/font-awesome" "~10.0.1"
"@abp/jquery-form" "~10.0.1"
"@abp/jquery-validation-unobtrusive" "~10.0.1"
"@abp/lodash" "~10.0.1"
"@abp/luxon" "~10.0.1"
"@abp/malihu-custom-scrollbar-plugin" "~10.0.1"
"@abp/moment" "~10.0.1"
"@abp/select2" "~10.0.1"
"@abp/sweetalert2" "~10.0.1"
"@abp/timeago" "~10.0.1"
"@abp/aspnetcore.mvc.ui" "~10.5.0"
"@abp/bootstrap" "~10.5.0"
"@abp/bootstrap-datepicker" "~10.5.0"
"@abp/bootstrap-daterangepicker" "~10.5.0"
"@abp/datatables.net-bs5" "~10.5.0"
"@abp/font-awesome" "~10.5.0"
"@abp/jquery-validation-unobtrusive" "~10.5.0"
"@abp/lodash" "~10.5.0"
"@abp/luxon" "~10.5.0"
"@abp/malihu-custom-scrollbar-plugin" "~10.5.0"
"@abp/moment" "~10.5.0"
"@abp/select2" "~10.5.0"
"@abp/sweetalert2" "~10.5.0"
"@abp/timeago" "~10.5.0"
"@abp/aspnetcore.mvc.ui@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-10.0.1.tgz#b004dc6313b9320b05f465eeb9e74877766ea0f0"
integrity sha512-IEiLfdpDwtrGek/z7iBlgKlZdCvgaL2q9/GGLySrLknnVtv/qONzYburveZsKw8LT7PbZWRQRBh2n7v6TT7M9w==
"@abp/aspnetcore.mvc.ui@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/aspnetcore.mvc.ui/-/aspnetcore.mvc.ui-10.5.0.tgz#e6bf4e3f55c8f23095e6ae63d4f1b3aa5470ab2d"
integrity sha512-3fEzOCy5f/AMr8WypZqrfLaZPkZux4mMPtLhW8+LguC95UV14puqBE3nmxliN64GVFmYpSy6nWEfsT4AxB+nBA==
dependencies:
ansi-colors "^4.1.3"
"@abp/bootstrap-datepicker@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-10.0.1.tgz#5d58e5039e39d84b179a0c343d616ab0fc7c38d4"
integrity sha512-hwpSDUTM/A/Rn+3Hjjt3xG7QdhmFruM7fGEEU8kd7Qowimx2XVNIM5Ua5obt5bGTyBmsaAx4HnurjJJn1oh4ng==
"@abp/bootstrap-datepicker@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/bootstrap-datepicker/-/bootstrap-datepicker-10.5.0.tgz#4cad320259ef055d9702ffc1c3f972d9e0fe643c"
integrity sha512-Ic9icfBIzBTHa5i15hLHTyKB13OgSbg1iTeUDG10ciKrxRaXKtTXgFCngnL/7bEBYAd/PdeYGTCg4RUhqnWvtA==
dependencies:
bootstrap-datepicker "^1.10.1"
"@abp/bootstrap-daterangepicker@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-10.0.1.tgz#8ff88aed898e46c36a3e9601a791cb0fa1134f28"
integrity sha512-a1hhaSk+SffutUI0CxUgAG6Zmx/Y4L7i1LEsQff4OEq0j8ipaHT+5UHMXf2DbCMo7yoZh2yUXQAATO0A/O2V+A==
"@abp/bootstrap-daterangepicker@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/bootstrap-daterangepicker/-/bootstrap-daterangepicker-10.5.0.tgz#d1000a900fedd30602979f84fe97184ebf4316f9"
integrity sha512-zfFVeSCBZoSoatTrtjDVDKZ8TX8xzyzoPaGe+vskZH5uL8CgYJnmTy7RsRlGR79PFz7VKQ/zoyNXrufZKcho+w==
dependencies:
"@abp/moment" "~10.5.0"
bootstrap-daterangepicker "^3.1.0"
"@abp/bootstrap@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/bootstrap/-/bootstrap-10.0.1.tgz#cb857f21814097522fbd7e5c1a36cb22182e9f3e"
integrity sha512-AK/8ykw4SYjLgFgJE1zb2Mevn6ypqXqETbndN887JSny1QRrLUBVOKy6g+pnPUqI45/4wPfas7H9WgjFINiK2g==
"@abp/bootstrap@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/bootstrap/-/bootstrap-10.5.0.tgz#a224a69d06a68e7f40c7d69be48b2a0b1c721e90"
integrity sha512-J2u16oMmi2XHfM0kP/joe+GHimyKlSGJ7cJcknNUOndEpxAX8f6WptIKmqNZv46x/3CzXsknM2AOAqGmX/gWzA==
dependencies:
"@abp/core" "~10.0.1"
"@abp/core" "~10.5.0"
"@abp/popper.js" "~10.5.0"
bootstrap "^5.3.8"
"@abp/core@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/core/-/core-10.0.1.tgz#c96563310d28137b0ac24efff74a969fa13aa7bb"
integrity sha512-mc/Wve/fl/B3cLqQ18IXO0lw1QCi3kCbi8PxRoLowD8NZEguezNglFjNqdvHNvBaWpZpMgJc2U+B15giB0946w==
"@abp/core@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/core/-/core-10.5.0.tgz#58364410c1df45ea5bb82c08e03141d8294e61e7"
integrity sha512-RNflX2ENTMunO3MZlMx2EZu7sqHUray2lAfkUotjNLIbz0h3btb4zoMU3W5Vy/WPhWRT7Ry7FtnUCdOK+9tNkg==
dependencies:
"@abp/utils" "~10.0.1"
"@abp/utils" "~10.5.0"
"@abp/datatables.net-bs5@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net-bs5/-/datatables.net-bs5-10.0.1.tgz#1b33c14e9dabd0b29cc4d6f05120607a14313d55"
integrity sha512-0ww7HZ9m/OZWRQ2/9gNNgd59FpfvWSdw21onCBgJ7eaLd6KQeeFqbXm4eYjHoLgyRwk8c6u/F9ciir3EeTivhw==
"@abp/datatables.net-bs5@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/datatables.net-bs5/-/datatables.net-bs5-10.5.0.tgz#21b0e2ae9c78473980dedf89a07fdcb72f31bee2"
integrity sha512-j2e48mBy+oZ2y+t8aLQ4iyx0XbN5QcGjTM+CBR9KnttY/w+KD2SRngdZbOdhdDI5W3IAdH5WTwmw2EyZXmf63w==
dependencies:
"@abp/datatables.net" "~10.0.1"
"@abp/datatables.net" "~10.5.0"
datatables.net-bs5 "^2.3.4"
"@abp/datatables.net@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/datatables.net/-/datatables.net-10.0.1.tgz#ed45edcb4ee6832f38d4f1a56b5c0e1b126e8b82"
integrity sha512-DR53PGhHbW0ZdzeT7PWvBSfZrSyF2eWo1zAzCXsG+MsVRIiNzUNjipeq1igmd0PtXi2FHb76xS2utgAfgZEZ1A==
"@abp/datatables.net@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/datatables.net/-/datatables.net-10.5.0.tgz#d569ae83696bc25a0802ce4b90105ecebbb602eb"
integrity sha512-pqyOUjEtO3glFnBXd8O4uHRrQ7uwmk91ypOyFVCEX7L6Ksg3nRonoaBqPINUxFGOBs97h2nhICYZT9Lblp+4Sg==
dependencies:
"@abp/jquery" "~10.0.1"
"@abp/jquery" "~10.5.0"
datatables.net "^2.3.4"
"@abp/font-awesome@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/font-awesome/-/font-awesome-10.0.1.tgz#8c75feda6e394143f7e1cbe1ac8fc12b275bafed"
integrity sha512-2DDjc+EJcHDPUm/LHzbVjVMmChIaiEqMasKQ7qhxDq6yL102wMibPz0JR6Q9EYmYWro+Blf3Q0/0ECYLa8BgnQ==
"@abp/font-awesome@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/font-awesome/-/font-awesome-10.5.0.tgz#44347dae9d00fc20cde8fcd2cfb8cb1f58055ae2"
integrity sha512-on3fNBdAzTvVsjDtF3NgLIEm/FBPwdDnAwhFmkqioLmpF6iPnZeW4bAFlC3dsoEGrWiCvqERir6/ckmpYLA5zg==
dependencies:
"@abp/core" "~10.0.1"
"@abp/core" "~10.5.0"
"@fortawesome/fontawesome-free" "^7.0.1"
"@abp/jquery-form@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-form/-/jquery-form-10.0.1.tgz#e19c89863e2175a5e5db638ab95f648d2ee18ab3"
integrity sha512-nVZwEv0VeIP+xQZk7bz8S2RbKhkOUTKSf6mkdkLlna+8TNW0Ry8tBns79n/I0wYUh5007hxQbqb3L5TG4kq4+Q==
"@abp/jquery-validation-unobtrusive@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-10.5.0.tgz#426e89a28c353f10ea26cd850818b2daa3519c81"
integrity sha512-XF3GO/lHCOqh3wYwyItNccVE1Jw8tGKgNu0fga+QwJr6O1xI8YnbD00tvrMkSnRM3UsxL5Ty6E2AkYn1g+At5A==
dependencies:
"@abp/jquery" "~10.0.1"
jquery-form "^4.3.0"
"@abp/jquery-validation-unobtrusive@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation-unobtrusive/-/jquery-validation-unobtrusive-10.0.1.tgz#35d43938c05ed3f6aab67bfd574c82f5e83a277f"
integrity sha512-jch+haMxPqMcN7CrFoEnULXHSdP43E+CdwDkCYJnTjEydISMyr2CwW4cIA/ab4kjNXs1DloW+r8+unRnOzClWQ==
dependencies:
"@abp/jquery-validation" "~10.0.1"
"@abp/jquery-validation" "~10.5.0"
jquery-validation-unobtrusive "^4.0.0"
"@abp/jquery-validation@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/jquery-validation/-/jquery-validation-10.0.1.tgz#20c4c313d9ec73b4dc242729ab3250f747b76b66"
integrity sha512-cUGUCOuwKc1TR1R8GHpjN9HokWK6p6ElM4sN/J3yY/Nef9wKn4zY98Q3hmFLsCDeV+9Sjex1xcqNjqU3ZOiZSg==
"@abp/jquery-validation@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/jquery-validation/-/jquery-validation-10.5.0.tgz#19c7b057cd3f08a9e85b180843dddf8a19a2b9d8"
integrity sha512-PcLB4muI6XJkzWCVR+0T5DP44qcggeI3OF/soJBba5rrYQ5Bd7WqcNJdIg9SQK3OEzpcgwDCns5Nxt4j88fH2Q==
dependencies:
"@abp/jquery" "~10.0.1"
"@abp/jquery" "~10.5.0"
jquery-validation "^1.21.0"
"@abp/jquery@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/jquery/-/jquery-10.0.1.tgz#fc6fb5fed08e6ab113e0096cd6c00ad10461fef4"
integrity sha512-hIQkMc9ouQz4QKaEJSVzZqQMyWdF7tmzZ8WlVN6EeWEDUKPLyuibhwTvTEO6u+17ZP7GhlldONHsRwTdc0zlJA==
"@abp/jquery@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/jquery/-/jquery-10.5.0.tgz#4fce1128f95351678c47cf3de2d6b407260d73d0"
integrity sha512-uT79LFWW9jgyII0QxYZkZj2h6plkrwJFNocsGcafoY6hZ0bOUyxpXa8YGwEe0A+j1d5iBl08SH3k2HWu4TpJ6w==
dependencies:
"@abp/core" "~10.0.1"
"@abp/core" "~10.5.0"
jquery "~3.7.1"
"@abp/lodash@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/lodash/-/lodash-10.0.1.tgz#41df6cc6d375ea1e6a5a27745b68b0964bcbc295"
integrity sha512-15uv5kNtXBb+3hm7Qorh95mLhSIJkIbGa2bp3Tyw4jEdXTFPsb1v5FCC2m7LEaEUNuNgzXFJGT818Xi58AI0Rw==
"@abp/lodash@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/lodash/-/lodash-10.5.0.tgz#852d6cb369ff478d35345e7c17e222587a6b11d0"
integrity sha512-Z2GwsL4aLA9wxgP1j8youSlq7glEpe7Mu3XFT/e+w2qyKxyEZtzSzhPF/2RMaAPw8fuFBdu7r1Dhz1Va1RVheg==
dependencies:
"@abp/core" "~10.0.1"
lodash "^4.17.21"
"@abp/core" "~10.5.0"
lodash "^4.18.1"
"@abp/luxon@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/luxon/-/luxon-10.0.1.tgz#97c920867775def2bb1628b47507e45388179e40"
integrity sha512-LL/J4oyA+o9res57cq/+qsilTvo7ikxtCdpxGSIEjkvNTmYzcChv1ixmDMvqqMvJFELJ9R+1V7NeZhXBAiR6Lw==
"@abp/luxon@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/luxon/-/luxon-10.5.0.tgz#1843a4061a791e23837a89e98624b20dad9e3b70"
integrity sha512-CDmtfGRLREQIQ6roJjw/WuBlkvSdaPtp6qHNEFIp0vCrppQZLeMqwxmVVMaaEPtimsAmQ8vpeLouWNrJsCuCzQ==
dependencies:
"@abp/core" "~10.0.1"
"@abp/core" "~10.5.0"
luxon "^3.7.2"
"@abp/malihu-custom-scrollbar-plugin@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-10.0.1.tgz#53dc824537110f155d00c46b1ffe7c6eff060040"
integrity sha512-S4zKvlTMvhkFCBhakql1bLB/lHlRjPy8An0KB2pBKvxfIvzUQn8YmiBSK51Hq/Hf6ZnnSJkNr35cb9TcHUwkNA==
"@abp/malihu-custom-scrollbar-plugin@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/malihu-custom-scrollbar-plugin/-/malihu-custom-scrollbar-plugin-10.5.0.tgz#ec48d62548eaa92d5340c2cfab9a85e1160530c1"
integrity sha512-hWV8AktNDhnfwqrgYn+RSDqymgsSrcXWPdtfVns6KRk2niIVVNYzu28/CzTu7+BxSBkecAD0s9LhC4LeqYoV2w==
dependencies:
"@abp/core" "~10.0.1"
"@abp/core" "~10.5.0"
malihu-custom-scrollbar-plugin "^3.1.5"
"@abp/moment@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/moment/-/moment-10.0.1.tgz#dce2c26602ac9c77ea0209e6a3727a7e9f04f4c4"
integrity sha512-fRrMLQhYzOSATSM4hWdr7Y5ggbMd23ffivpDB4O2BDYUXTcfiWyVVKDd+5uLZi+znkWz29bNN4WswileuHvaGw==
"@abp/moment@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/moment/-/moment-10.5.0.tgz#2ccd8c1fe4ef1ff084c86e984d5932a9cf4a94fe"
integrity sha512-DTEA4pR3p5NivmqaEPgnjv3ogM23DyvgvNBe/79Xogem3ERML6KBph9vKYeB2MPOI5pSLNVAsMNhG9m6Ial8TA==
dependencies:
moment "^2.30.1"
"@abp/select2@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/select2/-/select2-10.0.1.tgz#df92daf67f46aa2fc884ef84f9da68b1fb8e63d7"
integrity sha512-VQxYH0Uqa7EN+F6XBkDMz3yy8yTM6xcZ6593WtZupl9UbiHToGElsem3ibnZueoyMHcd3ByYw968uvJX7zudNw==
"@abp/popper.js@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/popper.js/-/popper.js-10.5.0.tgz#316bd9a5b1179babc7603662068bff08d510f832"
integrity sha512-+TwEmXxQF/sf2Pj2UVyRPyrMUmKc0HCSDzsLO89jSj4Ln+7gXgRzYo49Fuu816kJL6j/i+sXcq7BZOAEDc4X6w==
dependencies:
"@abp/core" "~10.0.1"
"@abp/core" "~10.5.0"
"@popperjs/core" "^2.11.8"
"@abp/select2@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/select2/-/select2-10.5.0.tgz#78abd9211863a214fe15b3fb76bfea8333cab02d"
integrity sha512-bqX6lUYRewSfsABhlkbf7A02ulz4oeit4ap+OCdgFa9yE75hHOzYBVHppQgCAHIdVcxw+XxOkejL6VEgM0EVRg==
dependencies:
"@abp/core" "~10.5.0"
select2 "^4.0.13"
"@abp/sweetalert2@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/sweetalert2/-/sweetalert2-10.0.1.tgz#a26874fd51ddffeba60f4506eb1a5c914ae3efae"
integrity sha512-4USaGSA5+7O6D+5a4YhluYPKUyOAassUUuKJATP8IqLRtpkh16P4tJ/7+QWvnFDIgJLURpbjmOiN2xhVzhpxvw==
"@abp/sweetalert2@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/sweetalert2/-/sweetalert2-10.5.0.tgz#e5a2dc2d2223ca842c3e7f9c5fb5b3c4d61229f2"
integrity sha512-5sjDIXsQ3d27qO8eRPpkrFXqnBeWuswlBGUhNS5SnRA0K5Q6IzVUVTYSbo7+ulQ3nWuZbv5DWSB4xujjzShwXg==
dependencies:
"@abp/core" "~10.0.1"
"@abp/core" "~10.5.0"
sweetalert2 "^11.23.0"
"@abp/timeago@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/timeago/-/timeago-10.0.1.tgz#6bc36ab7dd3deea114ff1d68dbda908202837cf6"
integrity sha512-Wd2KY8B95ycsRDn5ouY3l3U+niBMEd+XCgZs6CoaMtiQ1AxkT7/iPqNCMJMKjeIjBQ/A1CSmKL7MI+BGw1bxBA==
"@abp/timeago@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/timeago/-/timeago-10.5.0.tgz#11e646bd69a1a6093b58a3100ea7ef8639339fb9"
integrity sha512-9qEKBdW6HhpOjDaexLdPSuJ/lag/jE01yuRJo8Qj62tjnEqzMQ8QaFdqR5YN0NiADyY7phvnHCmimPKUM5hmJw==
dependencies:
"@abp/jquery" "~10.0.1"
"@abp/jquery" "~10.5.0"
timeago "^1.6.7"
"@abp/utils@~10.0.1":
version "10.0.1"
resolved "https://registry.yarnpkg.com/@abp/utils/-/utils-10.0.1.tgz#0db8713481cb781c3c4d07a150b7f45a65466b50"
integrity sha512-YGXgco/qYSxGaQfNTHDIMU1MyEuVDe3FayIZWPW5+p+elwp4DPFD4rvD+6ZLM0Jr30k5UdKT4IFAsw7wduQWrw==
"@abp/utils@~10.5.0":
version "10.5.0"
resolved "https://registry.npmmirror.com/@abp/utils/-/utils-10.5.0.tgz#d0c5cb23b2ad9c74fb5e0b9ecfa4fe96bbd3240a"
integrity sha512-00mcBklr6+/4HzmR1BjWSupUPjsjrzcPXsuWyJH9ylyLfaIEh13uzHqwpw3goCNsAf1NU9MaOdqlIbGAaNB9cA==
dependencies:
just-compare "^2.3.0"
@@ -189,6 +190,11 @@
resolved "https://registry.yarnpkg.com/@fortawesome/fontawesome-free/-/fontawesome-free-7.1.0.tgz#8eb76278515341720aa74485266f8be121089529"
integrity sha512-+WxNld5ZCJHvPQCr/GnzCTVREyStrAJjisUPtUxG5ngDA8TMlPnKp6dddlTpai4+1GNmltAeuk1hJEkBohwZYA==
"@popperjs/core@^2.11.8":
version "2.11.8"
resolved "https://registry.npmmirror.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f"
integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==
ansi-colors@^4.1.3:
version "4.1.3"
resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b"
@@ -229,13 +235,6 @@ datatables.net@2.3.6, datatables.net@^2.3.4:
dependencies:
jquery ">=1.7"
jquery-form@^4.3.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/jquery-form/-/jquery-form-4.3.0.tgz#7d3961c314a1f2d15298f4af1d3943f54f4149c6"
integrity sha512-q3uaVCEWdLOYUCI6dpNdwf/7cJFOsUgdpq6r0taxtGQ5NJSkOzofyWm4jpOuJ5YxdmL1FI5QR+q+HB63HHLGnQ==
dependencies:
jquery ">=1.7.2"
jquery-mousewheel@>=3.0.6:
version "3.2.2"
resolved "https://registry.yarnpkg.com/jquery-mousewheel/-/jquery-mousewheel-3.2.2.tgz#48c833f6260ee0c46d438a999e7d0060ec9eed0b"
@@ -256,7 +255,7 @@ jquery-validation@>=1.19, jquery-validation@^1.21.0:
resolved "https://registry.yarnpkg.com/jquery-validation/-/jquery-validation-1.21.0.tgz#78fc05ab76020912a246af3661b3f54a438bca93"
integrity sha512-xNot0rlUIgu7duMcQ5qb6MGkGL/Z1PQaRJQoZAURW9+a/2PGOUxY36o/WyNeP2T9R6jvWB8Z9lUVvvQWI/Zs5w==
jquery@>=1.10, jquery@>=1.2.6, "jquery@>=1.5.0 <4.0", jquery@>=1.7, jquery@>=1.7.2, "jquery@>=3.4.0 <4.0.0", jquery@^3.6.0, jquery@~3.7.1:
jquery@>=1.10, jquery@>=1.2.6, "jquery@>=1.5.0 <4.0", jquery@>=1.7, "jquery@>=3.4.0 <4.0.0", jquery@^3.6.0, jquery@~3.7.1:
version "3.7.1"
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.1.tgz#083ef98927c9a6a74d05a6af02806566d16274de"
integrity sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==
@@ -266,10 +265,10 @@ just-compare@^2.3.0:
resolved "https://registry.yarnpkg.com/just-compare/-/just-compare-2.3.0.tgz#a2adcc1d1940536263275f5a1ef1298bcacfeda7"
integrity sha512-6shoR7HDT+fzfL3gBahx1jZG3hWLrhPAf+l7nCwahDdT9XDtosB9kIF0ZrzUp5QY8dJWfQVr5rnsPqsbvflDzg==
lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
lodash@^4.18.1:
version "4.18.1"
resolved "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz#ff2b66c1f6326d59513de2407bf881439812771c"
integrity sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==
luxon@^3.7.2:
version "3.7.2"
@@ -13,15 +13,15 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi" Version="10.0.1" />
<PackageReference Include="Volo.Abp.FeatureManagement.HttpApi" Version="10.0.1" />
<PackageReference Include="Volo.Abp.SettingManagement.HttpApi" Version="10.0.1" />
<PackageReference Include="Volo.Abp.PermissionManagement.HttpApi" Version="10.5.0" />
<PackageReference Include="Volo.Abp.FeatureManagement.HttpApi" Version="10.5.0" />
<PackageReference Include="Volo.Abp.SettingManagement.HttpApi" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Identity.HttpApi" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Account.HttpApi" Version="10.0.1" />
<PackageReference Include="Volo.Abp.TenantManagement.HttpApi" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Identity.HttpApi" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Account.HttpApi" Version="10.5.0" />
<PackageReference Include="Volo.Abp.TenantManagement.HttpApi" Version="10.5.0" />
</ItemGroup>
</Project>
@@ -14,7 +14,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.7.0" />
</ItemGroup>
</Project>
@@ -14,7 +14,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.7.0" />
</ItemGroup>
</Project>
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
@@ -14,8 +14,8 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="10.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="Volo.Abp.EntityFrameworkCore.Sqlite" Version="10.5.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.7.0" />
</ItemGroup>
</Project>
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
@@ -24,13 +24,13 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Autofac" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Http.Client.IdentityModel" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Autofac" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Http.Client.IdentityModel" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="10.0.0" />
<PackageReference Include="Microsoft.Extensions.Hosting" Version="10.0.9" />
<PackageReference Include="Microsoft.Extensions.Http.Polly" Version="10.0.9" />
</ItemGroup>
<ItemGroup>
@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<Import Project="..\..\common.props" />
@@ -23,15 +23,15 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Volo.Abp.Autofac" Version="10.0.1" />
<PackageReference Include="Volo.Abp.TestBase" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Authorization" Version="10.0.1" />
<PackageReference Include="Volo.Abp.BackgroundJobs.Abstractions" Version="10.0.1" />
<PackageReference Include="Volo.Abp.Autofac" Version="10.5.0" />
<PackageReference Include="Volo.Abp.TestBase" Version="10.5.0" />
<PackageReference Include="Volo.Abp.Authorization" Version="10.5.0" />
<PackageReference Include="Volo.Abp.BackgroundJobs.Abstractions" Version="10.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.1" />
<PackageReference Include="NSubstitute" Version="5.3.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.7.0" />
<PackageReference Include="NSubstitute" Version="6.0.0" />
<PackageReference Include="NSubstitute.Analyzers.CSharp" Version="1.0.17">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
@@ -39,7 +39,10 @@
<PackageReference Include="Shouldly" Version="4.3.0" />
<PackageReference Include="xunit" Version="2.9.3" />
<PackageReference Include="xunit.extensibility.execution" Version="2.9.3" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.4" />
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
</ItemGroup>
</Project>