summaryrefslogtreecommitdiffstats
path: root/src/server/Migrations
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2022-01-23 11:41:42 +0100
committerivarlovlie <git@ivarlovlie.no>2022-01-23 14:33:05 +0100
commitce86d103039b22695b04714ee85e9ef3e1e032b5 (patch)
tree557455780de06ceb95dd556ca5ffca0208a1f8ba /src/server/Migrations
parent89816382424e59ad953b433fbf82c925741b3136 (diff)
downloadbookmark-thing-ce86d103039b22695b04714ee85e9ef3e1e032b5.tar.xz
bookmark-thing-ce86d103039b22695b04714ee85e9ef3e1e032b5.zip
feat(auth): Implements first draft of basic auth gen/validation
Diffstat (limited to 'src/server/Migrations')
-rw-r--r--src/server/Migrations/20220123102257_AccessTokens.Designer.cs141
-rw-r--r--src/server/Migrations/20220123102257_AccessTokens.cs79
-rw-r--r--src/server/Migrations/AppDbContextModelSnapshot.cs64
3 files changed, 279 insertions, 5 deletions
diff --git a/src/server/Migrations/20220123102257_AccessTokens.Designer.cs b/src/server/Migrations/20220123102257_AccessTokens.Designer.cs
new file mode 100644
index 0000000..0b8d3c0
--- /dev/null
+++ b/src/server/Migrations/20220123102257_AccessTokens.Designer.cs
@@ -0,0 +1,141 @@
+// <auto-generated />
+using System;
+using IOL.BookmarkThing.Server.Models.Database;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace IOL.BookmarkThing.Server.Migrations
+{
+ [DbContext(typeof(AppDbContext))]
+ [Migration("20220123102257_AccessTokens")]
+ partial class AccessTokens
+ {
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "6.0.1")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("IOL.BookmarkThing.Server.Models.Database.AccessToken", b =>
+ {
+ b.Property<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<bool>("AllowCreate")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_create");
+
+ b.Property<bool>("AllowDelete")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_delete");
+
+ b.Property<bool>("AllowRead")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_read");
+
+ b.Property<bool>("AllowUpdate")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_update");
+
+ b.Property<DateTime>("Created")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created");
+
+ b.Property<DateTime>("ExpiryDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("expiry_date");
+
+ b.Property<Guid?>("UserId")
+ .HasColumnType("uuid")
+ .HasColumnName("user_id");
+
+ b.HasKey("Id")
+ .HasName("pk_access_tokens");
+
+ b.HasIndex("UserId")
+ .HasDatabaseName("ix_access_tokens_user_id");
+
+ b.ToTable("access_tokens", (string)null);
+ });
+
+ modelBuilder.Entity("IOL.BookmarkThing.Server.Models.Database.Entry", b =>
+ {
+ b.Property<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<DateTime>("Created")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created");
+
+ b.Property<string>("Description")
+ .HasColumnType("text")
+ .HasColumnName("description");
+
+ b.Property<string>("Tags")
+ .HasColumnType("text")
+ .HasColumnName("tags");
+
+ b.Property<string>("Url")
+ .HasColumnType("text")
+ .HasColumnName("url");
+
+ b.Property<Guid>("UserId")
+ .HasColumnType("uuid")
+ .HasColumnName("user_id");
+
+ b.HasKey("Id")
+ .HasName("pk_entries");
+
+ b.ToTable("entries", (string)null);
+ });
+
+ modelBuilder.Entity("IOL.BookmarkThing.Server.Models.Database.User", b =>
+ {
+ b.Property<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<DateTime>("Created")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created");
+
+ b.Property<string>("Password")
+ .HasColumnType("text")
+ .HasColumnName("password");
+
+ b.Property<string>("Username")
+ .HasColumnType("text")
+ .HasColumnName("username");
+
+ b.HasKey("Id")
+ .HasName("pk_users");
+
+ b.ToTable("users", (string)null);
+ });
+
+ modelBuilder.Entity("IOL.BookmarkThing.Server.Models.Database.AccessToken", b =>
+ {
+ b.HasOne("IOL.BookmarkThing.Server.Models.Database.User", "User")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .HasConstraintName("fk_access_tokens_users_user_id");
+
+ b.Navigation("User");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/src/server/Migrations/20220123102257_AccessTokens.cs b/src/server/Migrations/20220123102257_AccessTokens.cs
new file mode 100644
index 0000000..a29f944
--- /dev/null
+++ b/src/server/Migrations/20220123102257_AccessTokens.cs
@@ -0,0 +1,79 @@
+using System;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace IOL.BookmarkThing.Server.Migrations
+{
+ public partial class AccessTokens : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AlterColumn<DateTime>(
+ name: "created",
+ table: "users",
+ type: "timestamp with time zone",
+ nullable: false,
+ oldClrType: typeof(DateTime),
+ oldType: "timestamp without time zone");
+
+ migrationBuilder.AlterColumn<DateTime>(
+ name: "created",
+ table: "entries",
+ type: "timestamp with time zone",
+ nullable: false,
+ oldClrType: typeof(DateTime),
+ oldType: "timestamp without time zone");
+
+ migrationBuilder.CreateTable(
+ name: "access_tokens",
+ columns: table => new
+ {
+ id = table.Column<Guid>(type: "uuid", nullable: false),
+ user_id = table.Column<Guid>(type: "uuid", nullable: true),
+ expiry_date = table.Column<DateTime>(type: "timestamp with time zone", nullable: false),
+ allow_read = table.Column<bool>(type: "boolean", nullable: false),
+ allow_create = table.Column<bool>(type: "boolean", nullable: false),
+ allow_update = table.Column<bool>(type: "boolean", nullable: false),
+ allow_delete = table.Column<bool>(type: "boolean", nullable: false),
+ created = table.Column<DateTime>(type: "timestamp with time zone", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("pk_access_tokens", x => x.id);
+ table.ForeignKey(
+ name: "fk_access_tokens_users_user_id",
+ column: x => x.user_id,
+ principalTable: "users",
+ principalColumn: "id");
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "ix_access_tokens_user_id",
+ table: "access_tokens",
+ column: "user_id");
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "access_tokens");
+
+ migrationBuilder.AlterColumn<DateTime>(
+ name: "created",
+ table: "users",
+ type: "timestamp without time zone",
+ nullable: false,
+ oldClrType: typeof(DateTime),
+ oldType: "timestamp with time zone");
+
+ migrationBuilder.AlterColumn<DateTime>(
+ name: "created",
+ table: "entries",
+ type: "timestamp without time zone",
+ nullable: false,
+ oldClrType: typeof(DateTime),
+ oldType: "timestamp with time zone");
+ }
+ }
+}
diff --git a/src/server/Migrations/AppDbContextModelSnapshot.cs b/src/server/Migrations/AppDbContextModelSnapshot.cs
index 5476b90..c48f478 100644
--- a/src/server/Migrations/AppDbContextModelSnapshot.cs
+++ b/src/server/Migrations/AppDbContextModelSnapshot.cs
@@ -17,12 +17,56 @@ namespace IOL.BookmarkThing.Server.Migrations
{
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "5.0.7")
+ .HasAnnotation("ProductVersion", "6.0.1")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
- modelBuilder.Entity("IOL.BookmarkThing.Server.Data.Database.Entry", b =>
+ modelBuilder.Entity("IOL.BookmarkThing.Server.Models.Database.AccessToken", b =>
+ {
+ b.Property<Guid>("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasColumnName("id");
+
+ b.Property<bool>("AllowCreate")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_create");
+
+ b.Property<bool>("AllowDelete")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_delete");
+
+ b.Property<bool>("AllowRead")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_read");
+
+ b.Property<bool>("AllowUpdate")
+ .HasColumnType("boolean")
+ .HasColumnName("allow_update");
+
+ b.Property<DateTime>("Created")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("created");
+
+ b.Property<DateTime>("ExpiryDate")
+ .HasColumnType("timestamp with time zone")
+ .HasColumnName("expiry_date");
+
+ b.Property<Guid?>("UserId")
+ .HasColumnType("uuid")
+ .HasColumnName("user_id");
+
+ b.HasKey("Id")
+ .HasName("pk_access_tokens");
+
+ b.HasIndex("UserId")
+ .HasDatabaseName("ix_access_tokens_user_id");
+
+ b.ToTable("access_tokens", (string)null);
+ });
+
+ modelBuilder.Entity("IOL.BookmarkThing.Server.Models.Database.Entry", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
@@ -30,7 +74,7 @@ namespace IOL.BookmarkThing.Server.Migrations
.HasColumnName("id");
b.Property<DateTime>("Created")
- .HasColumnType("timestamp without time zone")
+ .HasColumnType("timestamp with time zone")
.HasColumnName("created");
b.Property<string>("Description")
@@ -55,7 +99,7 @@ namespace IOL.BookmarkThing.Server.Migrations
b.ToTable("entries", (string)null);
});
- modelBuilder.Entity("IOL.BookmarkThing.Server.Data.Database.User", b =>
+ modelBuilder.Entity("IOL.BookmarkThing.Server.Models.Database.User", b =>
{
b.Property<Guid>("Id")
.ValueGeneratedOnAdd()
@@ -63,7 +107,7 @@ namespace IOL.BookmarkThing.Server.Migrations
.HasColumnName("id");
b.Property<DateTime>("Created")
- .HasColumnType("timestamp without time zone")
+ .HasColumnType("timestamp with time zone")
.HasColumnName("created");
b.Property<string>("Password")
@@ -79,6 +123,16 @@ namespace IOL.BookmarkThing.Server.Migrations
b.ToTable("users", (string)null);
});
+
+ modelBuilder.Entity("IOL.BookmarkThing.Server.Models.Database.AccessToken", b =>
+ {
+ b.HasOne("IOL.BookmarkThing.Server.Models.Database.User", "User")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .HasConstraintName("fk_access_tokens_users_user_id");
+
+ b.Navigation("User");
+ });
#pragma warning restore 612, 618
}
}