diff --git a/aspnet-core/Directory.Build.Microsoft.targets b/aspnet-core/Directory.Build.Microsoft.targets
index 1e807352..dc4944e3 100644
--- a/aspnet-core/Directory.Build.Microsoft.targets
+++ b/aspnet-core/Directory.Build.Microsoft.targets
@@ -1,26 +1,26 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
+
\ No newline at end of file
diff --git a/aspnet-core/Directory.Build.Volo.targets b/aspnet-core/Directory.Build.Volo.targets
index c14ecc35..1ba3dc1e 100644
--- a/aspnet-core/Directory.Build.Volo.targets
+++ b/aspnet-core/Directory.Build.Volo.targets
@@ -1,96 +1,96 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.EntityFrameworkCore/EntityFrameworkCore/BasicManagementDbContext.cs b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.EntityFrameworkCore/EntityFrameworkCore/BasicManagementDbContext.cs
index e1847c48..66b11238 100644
--- a/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.EntityFrameworkCore/EntityFrameworkCore/BasicManagementDbContext.cs
+++ b/aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.EntityFrameworkCore/EntityFrameworkCore/BasicManagementDbContext.cs
@@ -17,6 +17,7 @@ public class BasicManagementDbContext : AbpDbContext,
public DbSet PermissionGroups { get; set; }
public DbSet Permissions { get; set; }
public DbSet PermissionGrants { get; set; }
+ public DbSet ResourcePermissionGrants { get; set; }
public DbSet Settings { get; set; }
public DbSet SettingDefinitionRecords { get; set; }
public DbSet Tenants { get; set; }
diff --git a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/appsettings.Development.json b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/appsettings.Development.json
index e255721d..d43b4763 100644
--- a/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/appsettings.Development.json
+++ b/aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/appsettings.Development.json
@@ -1,10 +1,10 @@
{
"ConnectionStrings": {
- "Default": "User ID=postgres;Password=1q2w3E*;Host=localhost;Port=5432;Database=LionAbpProDb;"
+ "Default": "User ID=abpprovben2;Password=rjrwHpkA3JKyS6S8;Host=139.155.114.244;Port=5432;Database=abpprovben2;"
},
"Hangfire": {
"Redis": {
- "Host": "localhost:6379,password=1q2w3E*",
+ "Host": "localhost:139.155.114.244,password=1q2w3E*",
"DB": "2"
}
},
diff --git a/aspnet-core/services/src/Lion.AbpPro.DbMigrator/appsettings.json b/aspnet-core/services/src/Lion.AbpPro.DbMigrator/appsettings.json
index ba4709fc..d7694945 100644
--- a/aspnet-core/services/src/Lion.AbpPro.DbMigrator/appsettings.json
+++ b/aspnet-core/services/src/Lion.AbpPro.DbMigrator/appsettings.json
@@ -1,6 +1,6 @@
{
"ConnectionStrings": {
// "Default": "Data Source=localhost;Port=3306;Database=LionAbpProDemo10;uid=root;pwd=1q2w3E*;charset=utf8mb4;Allow User Variables=true;AllowLoadLocalInfile=true"
- "Default": "User ID=postgres;Password=1q2w3E*;Host=localhost;Port=5432;Database=LionAbpProDb;"
+ "Default": "User ID=abpprovben2;Password=rjrwHpkA3JKyS6S8;Host=139.155.114.244;Port=5432;Database=abpprovben2;"
}
}
\ No newline at end of file
diff --git a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/EntityFrameworkCore/AbpProDbContext.cs b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/EntityFrameworkCore/AbpProDbContext.cs
index a15f3414..b996c16f 100644
--- a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/EntityFrameworkCore/AbpProDbContext.cs
+++ b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/EntityFrameworkCore/AbpProDbContext.cs
@@ -30,6 +30,7 @@ namespace Lion.AbpPro.EntityFrameworkCore
public DbSet PermissionGroups { get; set; }
public DbSet Permissions { get; set; }
public DbSet PermissionGrants { get; set; }
+ public DbSet ResourcePermissionGrants { get; set;}
public DbSet Settings { get; set; }
public DbSet SettingDefinitionRecords { get; set; }
public DbSet Tenants { get; set; }
diff --git a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20251227022220_1.0.0.Designer.cs b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20260403021818_Init.Designer.cs
similarity index 93%
rename from aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20251227022220_1.0.0.Designer.cs
rename to aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20260403021818_Init.Designer.cs
index cbac5c0f..dc0344d8 100644
--- a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20251227022220_1.0.0.Designer.cs
+++ b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20260403021818_Init.Designer.cs
@@ -13,8 +13,8 @@ using Volo.Abp.EntityFrameworkCore;
namespace Lion.AbpPro.Migrations
{
[DbContext(typeof(AbpProDbContext))]
- [Migration("20251227022220_1.0.0")]
- partial class _100
+ [Migration("20260403021818_Init")]
+ partial class Init
{
///
protected override void BuildTargetModel(ModelBuilder modelBuilder)
@@ -22,7 +22,7 @@ namespace Lion.AbpPro.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.PostgreSql)
- .HasAnnotation("ProductVersion", "10.0.0")
+ .HasAnnotation("ProductVersion", "10.0.2")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -845,8 +845,8 @@ namespace Lion.AbpPro.Migrations
b.Property("EntityTypeFullName")
.IsRequired()
- .HasMaxLength(128)
- .HasColumnType("character varying(128)")
+ .HasMaxLength(512)
+ .HasColumnType("character varying(512)")
.HasColumnName("EntityTypeFullName");
b.Property("ExtraProperties")
@@ -892,8 +892,8 @@ namespace Lion.AbpPro.Migrations
b.Property("PropertyTypeFullName")
.IsRequired()
- .HasMaxLength(64)
- .HasColumnType("character varying(64)")
+ .HasMaxLength(512)
+ .HasColumnType("character varying(512)")
.HasColumnName("PropertyTypeFullName");
b.Property("TenantId")
@@ -1462,6 +1462,15 @@ namespace Lion.AbpPro.Migrations
b.Property("LastPasswordChangeTime")
.HasColumnType("timestamp with time zone");
+ b.Property("LastSignInTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Leaved")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("boolean")
+ .HasDefaultValue(false)
+ .HasColumnName("Leaved");
+
b.Property("LockoutEnabled")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
@@ -1657,6 +1666,47 @@ namespace Lion.AbpPro.Migrations
b.ToTable("AbpUserOrganizationUnits", (string)null);
});
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserPasskey", b =>
+ {
+ b.Property("CredentialId")
+ .HasMaxLength(1024)
+ .HasColumnType("bytea");
+
+ b.Property("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("TenantId");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.HasKey("CredentialId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("AbpUserPasskeys", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserPasswordHistory", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.Property("Password")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("TenantId");
+
+ b.HasKey("UserId", "Password");
+
+ b.ToTable("AbpUserPasswordHistories", (string)null);
+ });
+
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b =>
{
b.Property("UserId")
@@ -1821,13 +1871,16 @@ namespace Lion.AbpPro.Migrations
.HasColumnName("ExtraProperties");
b.Property("GroupName")
- .IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)");
b.Property("IsEnabled")
.HasColumnType("boolean");
+ b.Property("ManagementPermissionName")
+ .HasMaxLength(128)
+ .HasColumnType("character varying(128)");
+
b.Property("MultiTenancySide")
.HasColumnType("smallint");
@@ -1844,6 +1897,10 @@ namespace Lion.AbpPro.Migrations
.HasMaxLength(128)
.HasColumnType("character varying(128)");
+ b.Property("ResourceName")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
b.Property("StateCheckers")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
@@ -1852,7 +1909,7 @@ namespace Lion.AbpPro.Migrations
b.HasIndex("GroupName");
- b.HasIndex("Name")
+ b.HasIndex("ResourceName", "Name")
.IsUnique();
b.ToTable("AbpPermissions", (string)null);
@@ -1917,6 +1974,48 @@ namespace Lion.AbpPro.Migrations
b.ToTable("AbpPermissionGroups", (string)null);
});
+ modelBuilder.Entity("Volo.Abp.PermissionManagement.ResourcePermissionGrant", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("character varying(128)");
+
+ b.Property("ProviderKey")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("character varying(64)");
+
+ b.Property("ProviderName")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("character varying(64)");
+
+ b.Property("ResourceKey")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("ResourceName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("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("Id")
@@ -2163,6 +2262,62 @@ namespace Lion.AbpPro.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("IdentityUserPasskeyCredentialId");
+
+ b1.Property("AttestationObject");
+
+ b1.Property("ClientDataJson");
+
+ b1.Property("CreatedAt");
+
+ b1.Property("IsBackedUp");
+
+ b1.Property("IsBackupEligible");
+
+ b1.Property("IsUserVerified");
+
+ b1.Property("Name");
+
+ b1.Property("PublicKey");
+
+ b1.Property("SignCount");
+
+ b1.PrimitiveCollection("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)
@@ -2248,6 +2403,10 @@ namespace Lion.AbpPro.Migrations
b.Navigation("OrganizationUnits");
+ b.Navigation("Passkeys");
+
+ b.Navigation("PasswordHistories");
+
b.Navigation("Roles");
b.Navigation("Tokens");
diff --git a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20251227022220_1.0.0.cs b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20260403021818_Init.cs
similarity index 93%
rename from aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20251227022220_1.0.0.cs
rename to aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20260403021818_Init.cs
index ad33a91f..d17431fb 100644
--- a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20251227022220_1.0.0.cs
+++ b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/20260403021818_Init.cs
@@ -6,7 +6,7 @@ using Microsoft.EntityFrameworkCore.Migrations;
namespace Lion.AbpPro.Migrations
{
///
- public partial class _100 : Migration
+ public partial class Init : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
@@ -233,8 +233,10 @@ namespace Lion.AbpPro.Migrations
columns: table => new
{
Id = table.Column(type: "uuid", nullable: false),
- GroupName = table.Column(type: "character varying(128)", maxLength: 128, nullable: false),
+ GroupName = table.Column(type: "character varying(128)", maxLength: 128, nullable: true),
Name = table.Column(type: "character varying(128)", maxLength: 128, nullable: false),
+ ResourceName = table.Column(type: "character varying(256)", maxLength: 256, nullable: true),
+ ManagementPermissionName = table.Column(type: "character varying(128)", maxLength: 128, nullable: true),
ParentName = table.Column(type: "character varying(128)", maxLength: 128, nullable: true),
DisplayName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false),
IsEnabled = table.Column(type: "boolean", nullable: false),
@@ -428,6 +430,23 @@ namespace Lion.AbpPro.Migrations
table.PrimaryKey("PK_AbpProNotificationSubscriptions", x => x.Id);
});
+ migrationBuilder.CreateTable(
+ name: "AbpResourcePermissionGrants",
+ columns: table => new
+ {
+ Id = table.Column(type: "uuid", nullable: false),
+ TenantId = table.Column(type: "uuid", nullable: true),
+ Name = table.Column(type: "character varying(128)", maxLength: 128, nullable: false),
+ ProviderName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false),
+ ProviderKey = table.Column(type: "character varying(64)", maxLength: 64, nullable: false),
+ ResourceName = table.Column(type: "character varying(256)", maxLength: 256, nullable: false),
+ ResourceKey = table.Column(type: "character varying(256)", maxLength: 256, nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AbpResourcePermissionGrants", x => x.Id);
+ });
+
migrationBuilder.CreateTable(
name: "AbpRoles",
columns: table => new
@@ -595,6 +614,8 @@ namespace Lion.AbpPro.Migrations
ShouldChangePasswordOnNextLogin = table.Column(type: "boolean", nullable: false),
EntityVersion = table.Column(type: "integer", nullable: false),
LastPasswordChangeTime = table.Column(type: "timestamp with time zone", nullable: true),
+ LastSignInTime = table.Column(type: "timestamp with time zone", nullable: true),
+ Leaved = table.Column(type: "boolean", nullable: false, defaultValue: false),
ExtraProperties = table.Column(type: "text", nullable: false),
ConcurrencyStamp = table.Column(type: "character varying(40)", maxLength: 40, nullable: false),
CreationTime = table.Column(type: "timestamp without time zone", nullable: false),
@@ -646,7 +667,7 @@ namespace Lion.AbpPro.Migrations
ChangeType = table.Column(type: "smallint", nullable: false),
EntityTenantId = table.Column(type: "uuid", nullable: true),
EntityId = table.Column(type: "character varying(128)", maxLength: 128, nullable: true),
- EntityTypeFullName = table.Column(type: "character varying(128)", maxLength: 128, nullable: false),
+ EntityTypeFullName = table.Column(type: "character varying(512)", maxLength: 512, nullable: false),
ExtraProperties = table.Column(type: "text", nullable: true)
},
constraints: table =>
@@ -823,6 +844,46 @@ namespace Lion.AbpPro.Migrations
onDelete: ReferentialAction.Cascade);
});
+ migrationBuilder.CreateTable(
+ name: "AbpUserPasskeys",
+ columns: table => new
+ {
+ CredentialId = table.Column(type: "bytea", maxLength: 1024, nullable: false),
+ TenantId = table.Column(type: "uuid", nullable: true),
+ UserId = table.Column(type: "uuid", nullable: false),
+ Data = table.Column(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(type: "uuid", nullable: false),
+ Password = table.Column(type: "character varying(256)", maxLength: 256, nullable: false),
+ TenantId = table.Column(type: "uuid", nullable: true),
+ CreatedAt = table.Column(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.CreateTable(
name: "AbpUserRoles",
columns: table => new
@@ -879,7 +940,7 @@ namespace Lion.AbpPro.Migrations
NewValue = table.Column(type: "character varying(512)", maxLength: 512, nullable: true),
OriginalValue = table.Column(type: "character varying(512)", maxLength: 512, nullable: true),
PropertyName = table.Column(type: "character varying(128)", maxLength: 128, nullable: false),
- PropertyTypeFullName = table.Column(type: "character varying(64)", maxLength: 64, nullable: false)
+ PropertyTypeFullName = table.Column(type: "character varying(512)", maxLength: 512, nullable: false)
},
constraints: table =>
{
@@ -994,9 +1055,9 @@ namespace Lion.AbpPro.Migrations
column: "GroupName");
migrationBuilder.CreateIndex(
- name: "IX_AbpPermissions_Name",
+ name: "IX_AbpPermissions_ResourceName_Name",
table: "AbpPermissions",
- column: "Name",
+ columns: new[] { "ResourceName", "Name" },
unique: true);
migrationBuilder.CreateIndex(
@@ -1029,6 +1090,12 @@ namespace Lion.AbpPro.Migrations
table: "AbpProNotificationSubscriptions",
column: "ReceiveUserId");
+ 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_AbpRoleClaims_RoleId",
table: "AbpRoleClaims",
@@ -1111,6 +1178,11 @@ namespace Lion.AbpPro.Migrations
table: "AbpUserOrganizationUnits",
columns: new[] { "UserId", "OrganizationUnitId" });
+ migrationBuilder.CreateIndex(
+ name: "IX_AbpUserPasskeys_UserId",
+ table: "AbpUserPasskeys",
+ column: "UserId");
+
migrationBuilder.CreateIndex(
name: "IX_AbpUserRoles_RoleId_UserId",
table: "AbpUserRoles",
@@ -1200,6 +1272,9 @@ namespace Lion.AbpPro.Migrations
migrationBuilder.DropTable(
name: "AbpProNotificationSubscriptions");
+ migrationBuilder.DropTable(
+ name: "AbpResourcePermissionGrants");
+
migrationBuilder.DropTable(
name: "AbpRoleClaims");
@@ -1230,6 +1305,12 @@ namespace Lion.AbpPro.Migrations
migrationBuilder.DropTable(
name: "AbpUserOrganizationUnits");
+ migrationBuilder.DropTable(
+ name: "AbpUserPasskeys");
+
+ migrationBuilder.DropTable(
+ name: "AbpUserPasswordHistories");
+
migrationBuilder.DropTable(
name: "AbpUserRoles");
diff --git a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/AbpProDbContextModelSnapshot.cs b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/AbpProDbContextModelSnapshot.cs
index e6aea520..46fccc70 100644
--- a/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/AbpProDbContextModelSnapshot.cs
+++ b/aspnet-core/services/src/Lion.AbpPro.EntityFrameworkCore/Migrations/AbpProDbContextModelSnapshot.cs
@@ -19,7 +19,7 @@ namespace Lion.AbpPro.Migrations
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.PostgreSql)
- .HasAnnotation("ProductVersion", "10.0.0")
+ .HasAnnotation("ProductVersion", "10.0.2")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -842,8 +842,8 @@ namespace Lion.AbpPro.Migrations
b.Property("EntityTypeFullName")
.IsRequired()
- .HasMaxLength(128)
- .HasColumnType("character varying(128)")
+ .HasMaxLength(512)
+ .HasColumnType("character varying(512)")
.HasColumnName("EntityTypeFullName");
b.Property("ExtraProperties")
@@ -889,8 +889,8 @@ namespace Lion.AbpPro.Migrations
b.Property("PropertyTypeFullName")
.IsRequired()
- .HasMaxLength(64)
- .HasColumnType("character varying(64)")
+ .HasMaxLength(512)
+ .HasColumnType("character varying(512)")
.HasColumnName("PropertyTypeFullName");
b.Property("TenantId")
@@ -1459,6 +1459,15 @@ namespace Lion.AbpPro.Migrations
b.Property("LastPasswordChangeTime")
.HasColumnType("timestamp with time zone");
+ b.Property("LastSignInTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Leaved")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("boolean")
+ .HasDefaultValue(false)
+ .HasColumnName("Leaved");
+
b.Property("LockoutEnabled")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
@@ -1654,6 +1663,47 @@ namespace Lion.AbpPro.Migrations
b.ToTable("AbpUserOrganizationUnits", (string)null);
});
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserPasskey", b =>
+ {
+ b.Property("CredentialId")
+ .HasMaxLength(1024)
+ .HasColumnType("bytea");
+
+ b.Property("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("TenantId");
+
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.HasKey("CredentialId");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("AbpUserPasskeys", (string)null);
+ });
+
+ modelBuilder.Entity("Volo.Abp.Identity.IdentityUserPasswordHistory", b =>
+ {
+ b.Property("UserId")
+ .HasColumnType("uuid");
+
+ b.Property("Password")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("CreatedAt")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("TenantId")
+ .HasColumnType("uuid")
+ .HasColumnName("TenantId");
+
+ b.HasKey("UserId", "Password");
+
+ b.ToTable("AbpUserPasswordHistories", (string)null);
+ });
+
modelBuilder.Entity("Volo.Abp.Identity.IdentityUserRole", b =>
{
b.Property("UserId")
@@ -1818,13 +1868,16 @@ namespace Lion.AbpPro.Migrations
.HasColumnName("ExtraProperties");
b.Property("GroupName")
- .IsRequired()
.HasMaxLength(128)
.HasColumnType("character varying(128)");
b.Property("IsEnabled")
.HasColumnType("boolean");
+ b.Property("ManagementPermissionName")
+ .HasMaxLength(128)
+ .HasColumnType("character varying(128)");
+
b.Property("MultiTenancySide")
.HasColumnType("smallint");
@@ -1841,6 +1894,10 @@ namespace Lion.AbpPro.Migrations
.HasMaxLength(128)
.HasColumnType("character varying(128)");
+ b.Property("ResourceName")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
b.Property("StateCheckers")
.HasMaxLength(256)
.HasColumnType("character varying(256)");
@@ -1849,7 +1906,7 @@ namespace Lion.AbpPro.Migrations
b.HasIndex("GroupName");
- b.HasIndex("Name")
+ b.HasIndex("ResourceName", "Name")
.IsUnique();
b.ToTable("AbpPermissions", (string)null);
@@ -1914,6 +1971,48 @@ namespace Lion.AbpPro.Migrations
b.ToTable("AbpPermissionGroups", (string)null);
});
+ modelBuilder.Entity("Volo.Abp.PermissionManagement.ResourcePermissionGrant", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("uuid");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(128)
+ .HasColumnType("character varying(128)");
+
+ b.Property("ProviderKey")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("character varying(64)");
+
+ b.Property("ProviderName")
+ .IsRequired()
+ .HasMaxLength(64)
+ .HasColumnType("character varying(64)");
+
+ b.Property("ResourceKey")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("ResourceName")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("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("Id")
@@ -2160,6 +2259,62 @@ namespace Lion.AbpPro.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("IdentityUserPasskeyCredentialId");
+
+ b1.Property("AttestationObject");
+
+ b1.Property("ClientDataJson");
+
+ b1.Property("CreatedAt");
+
+ b1.Property("IsBackedUp");
+
+ b1.Property("IsBackupEligible");
+
+ b1.Property("IsUserVerified");
+
+ b1.Property("Name");
+
+ b1.Property("PublicKey");
+
+ b1.Property("SignCount");
+
+ b1.PrimitiveCollection("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)
@@ -2245,6 +2400,10 @@ namespace Lion.AbpPro.Migrations
b.Navigation("OrganizationUnits");
+ b.Navigation("Passkeys");
+
+ b.Navigation("PasswordHistories");
+
b.Navigation("Roles");
b.Navigation("Tokens");