From 620d3794a66718988ec7c9b071dcfad2d629ae5e Mon Sep 17 00:00:00 2001 From: BuildTools Date: Wed, 26 Jun 2024 20:35:18 +0200 Subject: [PATCH] =?UTF-8?q?Name=20zu=20Sesssions-Klasse=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- songrequests_blazor/Data/Session.cs | 2 +- .../20240626183259_AddSessionName.Designer.cs | 559 ++++++++++++++++++ .../20240626183259_AddSessionName.cs | 43 ++ .../Migrations/LocalDbContextModelSnapshot.cs | 10 +- songrequests_blazor/data.db | Bin 172032 -> 172032 bytes 5 files changed, 610 insertions(+), 4 deletions(-) create mode 100644 songrequests_blazor/Migrations/20240626183259_AddSessionName.Designer.cs create mode 100644 songrequests_blazor/Migrations/20240626183259_AddSessionName.cs diff --git a/songrequests_blazor/Data/Session.cs b/songrequests_blazor/Data/Session.cs index ceb4f4b..572591e 100644 --- a/songrequests_blazor/Data/Session.cs +++ b/songrequests_blazor/Data/Session.cs @@ -4,11 +4,11 @@ { public int Id { get; set; } + public string Name { get; set; } = "Unbenannte Session"; public string? SessionCode { get; set; } public bool Active { get; set; } public List EnabledLibraries { get; set; } = null!; public List QueuedSongs { get; set; } = null!; - public DateTime Created { get; set; } = DateTime.Now; } } diff --git a/songrequests_blazor/Migrations/20240626183259_AddSessionName.Designer.cs b/songrequests_blazor/Migrations/20240626183259_AddSessionName.Designer.cs new file mode 100644 index 0000000..3704676 --- /dev/null +++ b/songrequests_blazor/Migrations/20240626183259_AddSessionName.Designer.cs @@ -0,0 +1,559 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using songrequests_blazor.Data; + +#nullable disable + +namespace songrequests_blazor.Migrations +{ + [DbContext(typeof(LocalDbContext))] + [Migration("20240626183259_AddSessionName")] + partial class AddSessionName + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "8.0.5"); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("TEXT"); + + b.Property("Name") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("NormalizedName") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .IsUnique() + .HasDatabaseName("RoleNameIndex"); + + b.ToTable("AspNetRoles", (string)null); + + b.HasData( + new + { + Id = "fc985a25-19ce-48ed-8443-c845f550960a", + Name = "Administrator", + NormalizedName = "ADMINISTRATOR" + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ClaimType") + .HasColumnType("TEXT"); + + b.Property("ClaimValue") + .HasColumnType("TEXT"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetRoleClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUser", b => + { + b.Property("Id") + .HasColumnType("TEXT"); + + b.Property("AccessFailedCount") + .HasColumnType("INTEGER"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken() + .HasColumnType("TEXT"); + + b.Property("Discriminator") + .IsRequired() + .HasMaxLength(13) + .HasColumnType("TEXT"); + + b.Property("Email") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("EmailConfirmed") + .HasColumnType("INTEGER"); + + b.Property("LockoutEnabled") + .HasColumnType("INTEGER"); + + b.Property("LockoutEnd") + .HasColumnType("TEXT"); + + b.Property("NormalizedEmail") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("NormalizedUserName") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.Property("PasswordHash") + .HasColumnType("TEXT"); + + b.Property("PhoneNumber") + .HasColumnType("TEXT"); + + b.Property("PhoneNumberConfirmed") + .HasColumnType("INTEGER"); + + b.Property("SecurityStamp") + .HasColumnType("TEXT"); + + b.Property("TwoFactorEnabled") + .HasColumnType("INTEGER"); + + b.Property("UserName") + .HasMaxLength(256) + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasDatabaseName("EmailIndex"); + + b.HasIndex("NormalizedUserName") + .IsUnique() + .HasDatabaseName("UserNameIndex"); + + b.ToTable("AspNetUsers", (string)null); + + b.HasDiscriminator("Discriminator").HasValue("IdentityUser"); + + b.UseTphMappingStrategy(); + + b.HasData( + new + { + Id = "5c2511d0-6a08-4950-babd-d107996749ba", + AccessFailedCount = 0, + ConcurrencyStamp = "7d7fc619-fde4-408c-8816-f4ed5f68a60e", + Email = "admin@admin.com", + EmailConfirmed = false, + LockoutEnabled = false, + NormalizedEmail = "ADMIN@ADMIN.COM", + NormalizedUserName = "ADMIN@ADMIN.COM", + PasswordHash = "AQAAAAIAAYagAAAAECVwoHKYEXKRa9Sp3UeNNeVSEZOUkCEVkYcF09ZOVlLm9VeDEoX8M9NzwegIk0EWrw==", + PhoneNumberConfirmed = false, + SecurityStamp = "10af871c-53d6-4dfc-9e69-5d3a97d8a016", + TwoFactorEnabled = false, + UserName = "admin@admin.com" + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("ClaimType") + .HasColumnType("TEXT"); + + b.Property("ClaimValue") + .HasColumnType("TEXT"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserClaims", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.Property("LoginProvider") + .HasColumnType("TEXT"); + + b.Property("ProviderKey") + .HasColumnType("TEXT"); + + b.Property("ProviderDisplayName") + .HasColumnType("TEXT"); + + b.Property("UserId") + .IsRequired() + .HasColumnType("TEXT"); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasIndex("UserId"); + + b.ToTable("AspNetUserLogins", (string)null); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.Property("UserId") + .HasColumnType("TEXT"); + + b.Property("RoleId") + .HasColumnType("TEXT"); + + b.HasKey("UserId", "RoleId"); + + b.HasIndex("RoleId"); + + b.ToTable("AspNetUserRoles", (string)null); + + b.HasData( + new + { + UserId = "5c2511d0-6a08-4950-babd-d107996749ba", + RoleId = "fc985a25-19ce-48ed-8443-c845f550960a" + }); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.Property("UserId") + .HasColumnType("TEXT"); + + b.Property("LoginProvider") + .HasColumnType("TEXT"); + + b.Property("Name") + .HasColumnType("TEXT"); + + b.Property("Value") + .HasColumnType("TEXT"); + + b.HasKey("UserId", "LoginProvider", "Name"); + + b.ToTable("AspNetUserTokens", (string)null); + }); + + modelBuilder.Entity("QueuedSongs_UserVotes", b => + { + b.Property("UserVotesId") + .HasColumnType("TEXT"); + + b.Property("VotedSongsId") + .HasColumnType("INTEGER"); + + b.HasKey("UserVotesId", "VotedSongsId"); + + b.HasIndex("VotedSongsId"); + + b.ToTable("QueuedSongs_UserVotes"); + }); + + modelBuilder.Entity("Sessions_Libraries", b => + { + b.Property("EnabledLibrariesId") + .HasColumnType("INTEGER"); + + b.Property("UsedInSessionsId") + .HasColumnType("INTEGER"); + + b.HasKey("EnabledLibrariesId", "UsedInSessionsId"); + + b.HasIndex("UsedInSessionsId"); + + b.ToTable("Sessions_Libraries"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.Library", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("ScanPaths") + .HasColumnType("TEXT"); + + b.Property("Type") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.ToTable("Libraries"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.QueuedSong", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Added") + .HasColumnType("TEXT"); + + b.Property("AddedBy_User_ID") + .HasColumnType("TEXT"); + + b.Property("Played") + .HasColumnType("TEXT"); + + b.Property("Position") + .HasColumnType("INTEGER"); + + b.Property("Session_ID") + .HasColumnType("INTEGER"); + + b.Property("Song_ID") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("AddedBy_User_ID"); + + b.HasIndex("Session_ID"); + + b.HasIndex("Song_ID"); + + b.ToTable("QueuedSongs"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.Session", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Active") + .HasColumnType("INTEGER"); + + b.Property("Created") + .HasColumnType("TEXT"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("SessionCode") + .HasColumnType("TEXT"); + + b.HasKey("Id"); + + b.ToTable("Sessions"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.Song", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER"); + + b.Property("Album") + .HasColumnType("TEXT"); + + b.Property("Artist") + .HasColumnType("TEXT"); + + b.Property("Genre") + .HasColumnType("TEXT"); + + b.Property("Length") + .HasColumnType("TEXT"); + + b.Property("Library_ID") + .HasColumnType("INTEGER"); + + b.Property("RequestCount") + .HasColumnType("INTEGER"); + + b.Property("Title") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Uri") + .IsRequired() + .HasColumnType("TEXT"); + + b.Property("Year") + .HasColumnType("INTEGER"); + + b.HasKey("Id"); + + b.HasIndex("Library_ID"); + + b.ToTable("Songs"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.User", b => + { + b.HasBaseType("Microsoft.AspNetCore.Identity.IdentityUser"); + + b.HasDiscriminator().HasValue("User"); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null) + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken", b => + { + b.HasOne("Microsoft.AspNetCore.Identity.IdentityUser", null) + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("QueuedSongs_UserVotes", b => + { + b.HasOne("songrequests_blazor.Data.User", null) + .WithMany() + .HasForeignKey("UserVotesId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("songrequests_blazor.Data.QueuedSong", null) + .WithMany() + .HasForeignKey("VotedSongsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("Sessions_Libraries", b => + { + b.HasOne("songrequests_blazor.Data.Library", null) + .WithMany() + .HasForeignKey("EnabledLibrariesId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("songrequests_blazor.Data.Session", null) + .WithMany() + .HasForeignKey("UsedInSessionsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + }); + + modelBuilder.Entity("songrequests_blazor.Data.QueuedSong", b => + { + b.HasOne("songrequests_blazor.Data.User", "AdddedBy") + .WithMany("AddedSongs") + .HasForeignKey("AddedBy_User_ID") + .HasConstraintName("FK_user_addedsongs"); + + b.HasOne("songrequests_blazor.Data.Session", "Session") + .WithMany("QueuedSongs") + .HasForeignKey("Session_ID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_Session_QueuedSongs"); + + b.HasOne("songrequests_blazor.Data.Song", "Song") + .WithMany("Queued") + .HasForeignKey("Song_ID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_queuedsongs_song"); + + b.Navigation("AdddedBy"); + + b.Navigation("Session"); + + b.Navigation("Song"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.Song", b => + { + b.HasOne("songrequests_blazor.Data.Library", "Library") + .WithMany("Songs") + .HasForeignKey("Library_ID") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_library_songs"); + + b.Navigation("Library"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.Library", b => + { + b.Navigation("Songs"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.Session", b => + { + b.Navigation("QueuedSongs"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.Song", b => + { + b.Navigation("Queued"); + }); + + modelBuilder.Entity("songrequests_blazor.Data.User", b => + { + b.Navigation("AddedSongs"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/songrequests_blazor/Migrations/20240626183259_AddSessionName.cs b/songrequests_blazor/Migrations/20240626183259_AddSessionName.cs new file mode 100644 index 0000000..7e64c9e --- /dev/null +++ b/songrequests_blazor/Migrations/20240626183259_AddSessionName.cs @@ -0,0 +1,43 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace songrequests_blazor.Migrations +{ + /// + public partial class AddSessionName : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "Name", + table: "Sessions", + type: "TEXT", + nullable: false, + defaultValue: ""); + + migrationBuilder.UpdateData( + table: "AspNetUsers", + keyColumn: "Id", + keyValue: "5c2511d0-6a08-4950-babd-d107996749ba", + columns: new[] { "ConcurrencyStamp", "PasswordHash", "SecurityStamp" }, + values: new object[] { "7d7fc619-fde4-408c-8816-f4ed5f68a60e", "AQAAAAIAAYagAAAAECVwoHKYEXKRa9Sp3UeNNeVSEZOUkCEVkYcF09ZOVlLm9VeDEoX8M9NzwegIk0EWrw==", "10af871c-53d6-4dfc-9e69-5d3a97d8a016" }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "Name", + table: "Sessions"); + + migrationBuilder.UpdateData( + table: "AspNetUsers", + keyColumn: "Id", + keyValue: "5c2511d0-6a08-4950-babd-d107996749ba", + columns: new[] { "ConcurrencyStamp", "PasswordHash", "SecurityStamp" }, + values: new object[] { "359200b3-8f0c-4984-9cb3-f5c6a9957d17", "AQAAAAIAAYagAAAAEObqrKlqsiNSIYErkAsuP7gY+2YW6//ZJ+/txgRXK8rj/8I1eizYiKoWPHANqBNHgA==", "eac1c0ae-b1db-4b57-84db-4cbc0f7d0688" }); + } + } +} diff --git a/songrequests_blazor/Migrations/LocalDbContextModelSnapshot.cs b/songrequests_blazor/Migrations/LocalDbContextModelSnapshot.cs index fb06ea5..b0e6c75 100644 --- a/songrequests_blazor/Migrations/LocalDbContextModelSnapshot.cs +++ b/songrequests_blazor/Migrations/LocalDbContextModelSnapshot.cs @@ -151,15 +151,15 @@ namespace songrequests_blazor.Migrations { Id = "5c2511d0-6a08-4950-babd-d107996749ba", AccessFailedCount = 0, - ConcurrencyStamp = "359200b3-8f0c-4984-9cb3-f5c6a9957d17", + ConcurrencyStamp = "7d7fc619-fde4-408c-8816-f4ed5f68a60e", Email = "admin@admin.com", EmailConfirmed = false, LockoutEnabled = false, NormalizedEmail = "ADMIN@ADMIN.COM", NormalizedUserName = "ADMIN@ADMIN.COM", - PasswordHash = "AQAAAAIAAYagAAAAEObqrKlqsiNSIYErkAsuP7gY+2YW6//ZJ+/txgRXK8rj/8I1eizYiKoWPHANqBNHgA==", + PasswordHash = "AQAAAAIAAYagAAAAECVwoHKYEXKRa9Sp3UeNNeVSEZOUkCEVkYcF09ZOVlLm9VeDEoX8M9NzwegIk0EWrw==", PhoneNumberConfirmed = false, - SecurityStamp = "eac1c0ae-b1db-4b57-84db-4cbc0f7d0688", + SecurityStamp = "10af871c-53d6-4dfc-9e69-5d3a97d8a016", TwoFactorEnabled = false, UserName = "admin@admin.com" }); @@ -349,6 +349,10 @@ namespace songrequests_blazor.Migrations b.Property("Created") .HasColumnType("TEXT"); + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT"); + b.Property("SessionCode") .HasColumnType("TEXT"); diff --git a/songrequests_blazor/data.db b/songrequests_blazor/data.db index 266f118a07cb100b880d7b6e827daf65c2769ee3..95e46d16098f7359a39478931ff8e05113efb543 100644 GIT binary patch delta 544 zcmZoTz}0YoYl5^O4+8^(77(idF%u9UpQvNZ$g?qF2|o`De-s1%E&i4Kjr>uY1q8hK z)m2%T-NlUzj7$v7jLZxzjEzh!;~i5{f>Vo&GxPKO5_3~6^bGV&CpXGB19j&!@IT<+ z!atEef3tu>Jin46vpXYR%`BTI>K8b0^M7Sv;_qhQf6m{%Smm6}%^jwa@vlUQ2p ztrW|{%*r6m$q-zSUy_+t2@C*kQ4WTX)Z!9eP=N41XW;+F26V|4{ym!o9oFzq-qWwm z&&$m$&*+nxRFqhhnOe-U`CGr@0>*9IB@7tvb1@#8-YLN7KHc7$v7D=kvyfd}R+h0j zb^1eV#s};=3QC|rnts!YQF{9!8^+0nD&{HXX~|}Wmbz&vsV2H61{TS>78ZtPx@jh< zDW+*=7KvsCsnaXhG1{d&hn44hct^TMcn2j~1{WBIruzA%h6TGu`G;mZyM|>)Cc7C} zM)`;3_~crKrMkH0M_Bk;`c;*urh8@^xP}*%+u9l$B&J!I8z$?T8mE})nxv#9>sqFo ZS?Zdm7$;hqr&uH!7@BRDThI9D0|0dSp;`a{ delta 411 zcmZoTz}0YoYl5^OHv>3q_RJk!^AFo|+C zW)!lE%gQn~D^EXQ&G=wDyAUG_lq(?0062|c#!}A