Files
Radicade/Server/Migrations/20260811142510_AddAdminAuth.cs
T
2026-10-16 23:33:13 -07:00

63 lines
2.6 KiB
C#

using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace RadicadeServer.Migrations
{
public partial class AddAdminAuth : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.CreateTable(
name: "AdminSessions",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
AdminUserId = table.Column<long>(type: "bigint", nullable: false),
TokenHash = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
PreviousTokenHash = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: false),
LastSeenAt = table.Column<DateTime>(type: "datetime2", nullable: false),
ExpiresAt = table.Column<DateTime>(type: "datetime2", nullable: false),
RevokedAt = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AdminSessions", x => x.Id);
});
migrationBuilder.CreateTable(
name: "AdminUsers",
columns: table => new
{
Id = table.Column<long>(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
Username = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: false),
PasswordHash = table.Column<string>(type: "nvarchar(max)", nullable: false),
TotpSecret = table.Column<string>(type: "nvarchar(64)", maxLength: 64, nullable: true),
TotpEnabled = table.Column<bool>(type: "bit", nullable: false),
CreatedAt = table.Column<DateTime>(type: "datetime2", nullable: false),
LastLoginAt = table.Column<DateTime>(type: "datetime2", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_AdminUsers", x => x.Id);
});
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropTable(
name: "AdminSessions");
migrationBuilder.DropTable(
name: "AdminUsers");
}
}
}