🍱 Update database migrations
This commit is contained in:
		
							
								
								
									
										1884
									
								
								DysonNetwork.Pass/Migrations/20250820104425_AddApiKeys.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										1884
									
								
								DysonNetwork.Pass/Migrations/20250820104425_AddApiKeys.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										114
									
								
								DysonNetwork.Pass/Migrations/20250820104425_AddApiKeys.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										114
									
								
								DysonNetwork.Pass/Migrations/20250820104425_AddApiKeys.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,114 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using NodaTime;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DysonNetwork.Pass.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class AddApiKeys : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropForeignKey(
 | 
			
		||||
                name: "fk_auth_sessions_auth_challenges_challenge_id",
 | 
			
		||||
                table: "auth_sessions");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "label",
 | 
			
		||||
                table: "auth_sessions");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AlterColumn<Guid>(
 | 
			
		||||
                name: "challenge_id",
 | 
			
		||||
                table: "auth_sessions",
 | 
			
		||||
                type: "uuid",
 | 
			
		||||
                nullable: true,
 | 
			
		||||
                oldClrType: typeof(Guid),
 | 
			
		||||
                oldType: "uuid");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "api_keys",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    id = table.Column<Guid>(type: "uuid", nullable: false),
 | 
			
		||||
                    label = table.Column<string>(type: "character varying(1024)", maxLength: 1024, nullable: false),
 | 
			
		||||
                    account_id = table.Column<Guid>(type: "uuid", nullable: false),
 | 
			
		||||
                    session_id = table.Column<Guid>(type: "uuid", nullable: false),
 | 
			
		||||
                    created_at = table.Column<Instant>(type: "timestamp with time zone", nullable: false),
 | 
			
		||||
                    updated_at = table.Column<Instant>(type: "timestamp with time zone", nullable: false),
 | 
			
		||||
                    deleted_at = table.Column<Instant>(type: "timestamp with time zone", nullable: true)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("pk_api_keys", x => x.id);
 | 
			
		||||
                    table.ForeignKey(
 | 
			
		||||
                        name: "fk_api_keys_accounts_account_id",
 | 
			
		||||
                        column: x => x.account_id,
 | 
			
		||||
                        principalTable: "accounts",
 | 
			
		||||
                        principalColumn: "id",
 | 
			
		||||
                        onDelete: ReferentialAction.Cascade);
 | 
			
		||||
                    table.ForeignKey(
 | 
			
		||||
                        name: "fk_api_keys_auth_sessions_session_id",
 | 
			
		||||
                        column: x => x.session_id,
 | 
			
		||||
                        principalTable: "auth_sessions",
 | 
			
		||||
                        principalColumn: "id",
 | 
			
		||||
                        onDelete: ReferentialAction.Cascade);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateIndex(
 | 
			
		||||
                name: "ix_api_keys_account_id",
 | 
			
		||||
                table: "api_keys",
 | 
			
		||||
                column: "account_id");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateIndex(
 | 
			
		||||
                name: "ix_api_keys_session_id",
 | 
			
		||||
                table: "api_keys",
 | 
			
		||||
                column: "session_id");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddForeignKey(
 | 
			
		||||
                name: "fk_auth_sessions_auth_challenges_challenge_id",
 | 
			
		||||
                table: "auth_sessions",
 | 
			
		||||
                column: "challenge_id",
 | 
			
		||||
                principalTable: "auth_challenges",
 | 
			
		||||
                principalColumn: "id");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropForeignKey(
 | 
			
		||||
                name: "fk_auth_sessions_auth_challenges_challenge_id",
 | 
			
		||||
                table: "auth_sessions");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "api_keys");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AlterColumn<Guid>(
 | 
			
		||||
                name: "challenge_id",
 | 
			
		||||
                table: "auth_sessions",
 | 
			
		||||
                type: "uuid",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
 | 
			
		||||
                oldClrType: typeof(Guid),
 | 
			
		||||
                oldType: "uuid",
 | 
			
		||||
                oldNullable: true);
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<string>(
 | 
			
		||||
                name: "label",
 | 
			
		||||
                table: "auth_sessions",
 | 
			
		||||
                type: "character varying(1024)",
 | 
			
		||||
                maxLength: 1024,
 | 
			
		||||
                nullable: true);
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddForeignKey(
 | 
			
		||||
                name: "fk_auth_sessions_auth_challenges_challenge_id",
 | 
			
		||||
                table: "auth_sessions",
 | 
			
		||||
                column: "challenge_id",
 | 
			
		||||
                principalTable: "auth_challenges",
 | 
			
		||||
                principalColumn: "id",
 | 
			
		||||
                onDelete: ReferentialAction.Cascade);
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -800,6 +800,51 @@ namespace DysonNetwork.Pass.Migrations
 | 
			
		||||
                    b.ToTable("account_statuses", (string)null);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DysonNetwork.Pass.Auth.ApiKey", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<Guid>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("uuid")
 | 
			
		||||
                        .HasColumnName("id");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid>("AccountId")
 | 
			
		||||
                        .HasColumnType("uuid")
 | 
			
		||||
                        .HasColumnName("account_id");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Instant>("CreatedAt")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone")
 | 
			
		||||
                        .HasColumnName("created_at");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Instant?>("DeletedAt")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone")
 | 
			
		||||
                        .HasColumnName("deleted_at");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Label")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(1024)
 | 
			
		||||
                        .HasColumnType("character varying(1024)")
 | 
			
		||||
                        .HasColumnName("label");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid>("SessionId")
 | 
			
		||||
                        .HasColumnType("uuid")
 | 
			
		||||
                        .HasColumnName("session_id");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Instant>("UpdatedAt")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone")
 | 
			
		||||
                        .HasColumnName("updated_at");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id")
 | 
			
		||||
                        .HasName("pk_api_keys");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("AccountId")
 | 
			
		||||
                        .HasDatabaseName("ix_api_keys_account_id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("SessionId")
 | 
			
		||||
                        .HasDatabaseName("ix_api_keys_session_id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("api_keys", (string)null);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DysonNetwork.Pass.Auth.AuthChallenge", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<Guid>("Id")
 | 
			
		||||
@@ -961,7 +1006,7 @@ namespace DysonNetwork.Pass.Migrations
 | 
			
		||||
                        .HasColumnType("uuid")
 | 
			
		||||
                        .HasColumnName("app_id");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Guid>("ChallengeId")
 | 
			
		||||
                    b.Property<Guid?>("ChallengeId")
 | 
			
		||||
                        .HasColumnType("uuid")
 | 
			
		||||
                        .HasColumnName("challenge_id");
 | 
			
		||||
 | 
			
		||||
@@ -977,11 +1022,6 @@ namespace DysonNetwork.Pass.Migrations
 | 
			
		||||
                        .HasColumnType("timestamp with time zone")
 | 
			
		||||
                        .HasColumnName("expired_at");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Label")
 | 
			
		||||
                        .HasMaxLength(1024)
 | 
			
		||||
                        .HasColumnType("character varying(1024)")
 | 
			
		||||
                        .HasColumnName("label");
 | 
			
		||||
 | 
			
		||||
                    b.Property<Instant?>("LastGrantedAt")
 | 
			
		||||
                        .HasColumnType("timestamp with time zone")
 | 
			
		||||
                        .HasColumnName("last_granted_at");
 | 
			
		||||
@@ -1632,6 +1672,27 @@ namespace DysonNetwork.Pass.Migrations
 | 
			
		||||
                    b.Navigation("Account");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DysonNetwork.Pass.Auth.ApiKey", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("DysonNetwork.Pass.Account.Account", "Account")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("AccountId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasConstraintName("fk_api_keys_accounts_account_id");
 | 
			
		||||
 | 
			
		||||
                    b.HasOne("DysonNetwork.Pass.Auth.AuthSession", "Session")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("SessionId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasConstraintName("fk_api_keys_auth_sessions_session_id");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Account");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Session");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DysonNetwork.Pass.Auth.AuthChallenge", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("DysonNetwork.Pass.Account.Account", "Account")
 | 
			
		||||
@@ -1675,8 +1736,6 @@ namespace DysonNetwork.Pass.Migrations
 | 
			
		||||
                    b.HasOne("DysonNetwork.Pass.Auth.AuthChallenge", "Challenge")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("ChallengeId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasConstraintName("fk_auth_sessions_auth_challenges_challenge_id");
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("Account");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user