// <auto-generated />
using System;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Metadata;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using TP2_serveur.Data;

#nullable disable

namespace TP2_serveur.Migrations
{
    [DbContext(typeof(TP2_serveurContext))]
    partial class TP2_serveurContextModelSnapshot : ModelSnapshot
    {
        protected override void BuildModel(ModelBuilder modelBuilder)
        {
#pragma warning disable 612, 618
            modelBuilder
                .HasAnnotation("ProductVersion", "8.0.24")
                .HasAnnotation("Proxies:ChangeTracking", false)
                .HasAnnotation("Proxies:CheckEquality", false)
                .HasAnnotation("Proxies:LazyLoading", true)
                .HasAnnotation("Relational:MaxIdentifierLength", 128);

            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRole", b =>
                {
                    b.Property<string>("Id")
                        .HasColumnType("nvarchar(450)");

                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Name")
                        .HasMaxLength(256)
                        .HasColumnType("nvarchar(256)");

                    b.Property<string>("NormalizedName")
                        .HasMaxLength(256)
                        .HasColumnType("nvarchar(256)");

                    b.HasKey("Id");

                    b.HasIndex("NormalizedName")
                        .IsUnique()
                        .HasDatabaseName("RoleNameIndex")
                        .HasFilter("[NormalizedName] IS NOT NULL");

                    b.ToTable("AspNetRoles", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int");

                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));

                    b.Property<string>("ClaimType")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("ClaimValue")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("RoleId")
                        .IsRequired()
                        .HasColumnType("nvarchar(450)");

                    b.HasKey("Id");

                    b.HasIndex("RoleId");

                    b.ToTable("AspNetRoleClaims", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int");

                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));

                    b.Property<string>("ClaimType")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("ClaimValue")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("UserId")
                        .IsRequired()
                        .HasColumnType("nvarchar(450)");

                    b.HasKey("Id");

                    b.HasIndex("UserId");

                    b.ToTable("AspNetUserClaims", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
                {
                    b.Property<string>("LoginProvider")
                        .HasColumnType("nvarchar(450)");

                    b.Property<string>("ProviderKey")
                        .HasColumnType("nvarchar(450)");

                    b.Property<string>("ProviderDisplayName")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("UserId")
                        .IsRequired()
                        .HasColumnType("nvarchar(450)");

                    b.HasKey("LoginProvider", "ProviderKey");

                    b.HasIndex("UserId");

                    b.ToTable("AspNetUserLogins", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("nvarchar(450)");

                    b.Property<string>("RoleId")
                        .HasColumnType("nvarchar(450)");

                    b.HasKey("UserId", "RoleId");

                    b.HasIndex("RoleId");

                    b.ToTable("AspNetUserRoles", (string)null);
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
                {
                    b.Property<string>("UserId")
                        .HasColumnType("nvarchar(450)");

                    b.Property<string>("LoginProvider")
                        .HasColumnType("nvarchar(450)");

                    b.Property<string>("Name")
                        .HasColumnType("nvarchar(450)");

                    b.Property<string>("Value")
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("UserId", "LoginProvider", "Name");

                    b.ToTable("AspNetUserTokens", (string)null);
                });

            modelBuilder.Entity("TP2_serveur.Models.Album", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int");

                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));

                    b.Property<int>("ArtistId")
                        .HasColumnType("int");

                    b.Property<string>("ImageUrl")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.HasIndex("ArtistId");

                    b.ToTable("Album");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            ArtistId = 1,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/1",
                            Name = "Interstellar"
                        },
                        new
                        {
                            Id = 2,
                            ArtistId = 1,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/2",
                            Name = "Inception"
                        },
                        new
                        {
                            Id = 3,
                            ArtistId = 1,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/3",
                            Name = "Dune"
                        },
                        new
                        {
                            Id = 4,
                            ArtistId = 1,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/4",
                            Name = "Twilight of the Gods"
                        },
                        new
                        {
                            Id = 5,
                            ArtistId = 2,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/5",
                            Name = "Starboy"
                        },
                        new
                        {
                            Id = 6,
                            ArtistId = 2,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/6",
                            Name = "After Hours"
                        },
                        new
                        {
                            Id = 7,
                            ArtistId = 2,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/7",
                            Name = "Hurry Up Tomorrow"
                        },
                        new
                        {
                            Id = 8,
                            ArtistId = 2,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/8",
                            Name = "Dawn FM"
                        },
                        new
                        {
                            Id = 9,
                            ArtistId = 3,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/9",
                            Name = "Views"
                        },
                        new
                        {
                            Id = 10,
                            ArtistId = 3,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/10",
                            Name = "Certified Lover Boy"
                        },
                        new
                        {
                            Id = 11,
                            ArtistId = 3,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/11",
                            Name = "Scorpion"
                        },
                        new
                        {
                            Id = 12,
                            ArtistId = 3,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/12",
                            Name = "For All the Dogs"
                        },
                        new
                        {
                            Id = 13,
                            ArtistId = 4,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/13",
                            Name = "Mayhem"
                        },
                        new
                        {
                            Id = 14,
                            ArtistId = 4,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/14",
                            Name = "The Fame"
                        },
                        new
                        {
                            Id = 15,
                            ArtistId = 4,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/15",
                            Name = "Artpop"
                        },
                        new
                        {
                            Id = 16,
                            ArtistId = 4,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/16",
                            Name = "Chromatica"
                        },
                        new
                        {
                            Id = 17,
                            ArtistId = 5,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/17",
                            Name = "Cowboy Carter"
                        },
                        new
                        {
                            Id = 18,
                            ArtistId = 5,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/18",
                            Name = "Lemonade"
                        },
                        new
                        {
                            Id = 19,
                            ArtistId = 5,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/19",
                            Name = "4"
                        },
                        new
                        {
                            Id = 20,
                            ArtistId = 5,
                            ImageUrl = "http://localhost:5143/api/Albums/GetPicture/20",
                            Name = "B'Day"
                        });
                });

            modelBuilder.Entity("TP2_serveur.Models.Artist", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int");

                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));

                    b.Property<string>("ImageUrl")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.ToTable("Artist");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            ImageUrl = "http://localhost:5143/api/Artists/GetPicture/1",
                            Name = "Hans Zimmer"
                        },
                        new
                        {
                            Id = 2,
                            ImageUrl = "http://localhost:5143/api/Artists/GetPicture/2",
                            Name = "The Weeknd"
                        },
                        new
                        {
                            Id = 3,
                            ImageUrl = "http://localhost:5143/api/Artists/GetPicture/3",
                            Name = "Drake"
                        },
                        new
                        {
                            Id = 4,
                            ImageUrl = "http://localhost:5143/api/Artists/GetPicture/4",
                            Name = "Lady Gaga"
                        },
                        new
                        {
                            Id = 5,
                            ImageUrl = "http://localhost:5143/api/Artists/GetPicture/5",
                            Name = "Beyoncé"
                        });
                });

            modelBuilder.Entity("TP2_serveur.Models.Song", b =>
                {
                    b.Property<int>("Id")
                        .ValueGeneratedOnAdd()
                        .HasColumnType("int");

                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));

                    b.Property<int>("AlbumId")
                        .HasColumnType("int");

                    b.Property<string>("Name")
                        .IsRequired()
                        .HasColumnType("nvarchar(max)");

                    b.HasKey("Id");

                    b.HasIndex("AlbumId");

                    b.ToTable("Song");

                    b.HasData(
                        new
                        {
                            Id = 1,
                            AlbumId = 1,
                            Name = "Cornfield Chase"
                        },
                        new
                        {
                            Id = 2,
                            AlbumId = 1,
                            Name = "Mountains"
                        },
                        new
                        {
                            Id = 3,
                            AlbumId = 1,
                            Name = "Afraid of Time"
                        },
                        new
                        {
                            Id = 4,
                            AlbumId = 2,
                            Name = "Old Souls"
                        },
                        new
                        {
                            Id = 5,
                            AlbumId = 2,
                            Name = "Dream Within a Dream"
                        },
                        new
                        {
                            Id = 6,
                            AlbumId = 2,
                            Name = "Mombasa"
                        },
                        new
                        {
                            Id = 7,
                            AlbumId = 3,
                            Name = "Dream of Arrakis"
                        },
                        new
                        {
                            Id = 8,
                            AlbumId = 3,
                            Name = "House Atreides"
                        },
                        new
                        {
                            Id = 9,
                            AlbumId = 3,
                            Name = "Leaving Caladan"
                        },
                        new
                        {
                            Id = 10,
                            AlbumId = 4,
                            Name = "Valhalla"
                        },
                        new
                        {
                            Id = 11,
                            AlbumId = 4,
                            Name = "Open Hands"
                        },
                        new
                        {
                            Id = 12,
                            AlbumId = 4,
                            Name = "Tricky Lover"
                        },
                        new
                        {
                            Id = 13,
                            AlbumId = 5,
                            Name = "Starboy"
                        },
                        new
                        {
                            Id = 14,
                            AlbumId = 5,
                            Name = "Party Monster"
                        },
                        new
                        {
                            Id = 15,
                            AlbumId = 5,
                            Name = "Secrets"
                        },
                        new
                        {
                            Id = 16,
                            AlbumId = 6,
                            Name = "Alone Again"
                        },
                        new
                        {
                            Id = 17,
                            AlbumId = 6,
                            Name = "Too Late"
                        },
                        new
                        {
                            Id = 18,
                            AlbumId = 6,
                            Name = "Faith"
                        },
                        new
                        {
                            Id = 19,
                            AlbumId = 7,
                            Name = "Cry for Me"
                        },
                        new
                        {
                            Id = 20,
                            AlbumId = 7,
                            Name = "Timeless"
                        },
                        new
                        {
                            Id = 21,
                            AlbumId = 7,
                            Name = "Without a Warning"
                        },
                        new
                        {
                            Id = 22,
                            AlbumId = 8,
                            Name = "Gasoline"
                        },
                        new
                        {
                            Id = 23,
                            AlbumId = 8,
                            Name = "Sacrifice"
                        },
                        new
                        {
                            Id = 24,
                            AlbumId = 8,
                            Name = "Out of Time"
                        },
                        new
                        {
                            Id = 25,
                            AlbumId = 9,
                            Name = "9"
                        },
                        new
                        {
                            Id = 26,
                            AlbumId = 9,
                            Name = "Hype"
                        },
                        new
                        {
                            Id = 27,
                            AlbumId = 9,
                            Name = "With You"
                        },
                        new
                        {
                            Id = 28,
                            AlbumId = 10,
                            Name = "Champagne Poetry"
                        },
                        new
                        {
                            Id = 29,
                            AlbumId = 10,
                            Name = "Love All"
                        },
                        new
                        {
                            Id = 30,
                            AlbumId = 10,
                            Name = "Fair Trade"
                        },
                        new
                        {
                            Id = 31,
                            AlbumId = 11,
                            Name = "Nonstop"
                        },
                        new
                        {
                            Id = 32,
                            AlbumId = 11,
                            Name = "Elevate"
                        },
                        new
                        {
                            Id = 33,
                            AlbumId = 11,
                            Name = "Emotionless"
                        },
                        new
                        {
                            Id = 34,
                            AlbumId = 12,
                            Name = "Virginia Beach"
                        },
                        new
                        {
                            Id = 35,
                            AlbumId = 12,
                            Name = "Daylight"
                        },
                        new
                        {
                            Id = 36,
                            AlbumId = 12,
                            Name = "Slime You Out"
                        },
                        new
                        {
                            Id = 37,
                            AlbumId = 13,
                            Name = "Abracadabra"
                        },
                        new
                        {
                            Id = 38,
                            AlbumId = 13,
                            Name = "Disease"
                        },
                        new
                        {
                            Id = 39,
                            AlbumId = 13,
                            Name = "Garden of Eden"
                        },
                        new
                        {
                            Id = 40,
                            AlbumId = 14,
                            Name = "Just Dance"
                        },
                        new
                        {
                            Id = 41,
                            AlbumId = 14,
                            Name = "Paparazzi"
                        },
                        new
                        {
                            Id = 42,
                            AlbumId = 14,
                            Name = "Poker Face"
                        },
                        new
                        {
                            Id = 43,
                            AlbumId = 15,
                            Name = "Venus"
                        },
                        new
                        {
                            Id = 44,
                            AlbumId = 15,
                            Name = "G.U.Y."
                        },
                        new
                        {
                            Id = 45,
                            AlbumId = 15,
                            Name = "Applause"
                        },
                        new
                        {
                            Id = 46,
                            AlbumId = 16,
                            Name = "Stupid Love"
                        },
                        new
                        {
                            Id = 47,
                            AlbumId = 16,
                            Name = "Alice"
                        },
                        new
                        {
                            Id = 48,
                            AlbumId = 16,
                            Name = "Enigma"
                        },
                        new
                        {
                            Id = 49,
                            AlbumId = 17,
                            Name = "BLACKBIRD"
                        },
                        new
                        {
                            Id = 50,
                            AlbumId = 17,
                            Name = "BODYGUARD"
                        },
                        new
                        {
                            Id = 51,
                            AlbumId = 17,
                            Name = "DAUGHTER"
                        },
                        new
                        {
                            Id = 52,
                            AlbumId = 18,
                            Name = "Hold Up"
                        },
                        new
                        {
                            Id = 53,
                            AlbumId = 18,
                            Name = "Sorry"
                        },
                        new
                        {
                            Id = 54,
                            AlbumId = 18,
                            Name = "Sandcastles"
                        },
                        new
                        {
                            Id = 55,
                            AlbumId = 19,
                            Name = "I Care"
                        },
                        new
                        {
                            Id = 56,
                            AlbumId = 19,
                            Name = "1+1"
                        },
                        new
                        {
                            Id = 57,
                            AlbumId = 19,
                            Name = "Party"
                        },
                        new
                        {
                            Id = 58,
                            AlbumId = 20,
                            Name = "Deja Vu"
                        },
                        new
                        {
                            Id = 59,
                            AlbumId = 20,
                            Name = "Ring the Alarm"
                        },
                        new
                        {
                            Id = 60,
                            AlbumId = 20,
                            Name = "Green Light"
                        });
                });

            modelBuilder.Entity("TP2_serveur.Models.User", b =>
                {
                    b.Property<string>("Id")
                        .HasColumnType("nvarchar(450)");

                    b.Property<int>("AccessFailedCount")
                        .HasColumnType("int");

                    b.Property<string>("ConcurrencyStamp")
                        .IsConcurrencyToken()
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("Email")
                        .HasMaxLength(256)
                        .HasColumnType("nvarchar(256)");

                    b.Property<bool>("EmailConfirmed")
                        .HasColumnType("bit");

                    b.Property<bool>("LockoutEnabled")
                        .HasColumnType("bit");

                    b.Property<DateTimeOffset?>("LockoutEnd")
                        .HasColumnType("datetimeoffset");

                    b.Property<string>("NormalizedEmail")
                        .HasMaxLength(256)
                        .HasColumnType("nvarchar(256)");

                    b.Property<string>("NormalizedUserName")
                        .HasMaxLength(256)
                        .HasColumnType("nvarchar(256)");

                    b.Property<string>("PasswordHash")
                        .HasColumnType("nvarchar(max)");

                    b.Property<string>("PhoneNumber")
                        .HasColumnType("nvarchar(max)");

                    b.Property<bool>("PhoneNumberConfirmed")
                        .HasColumnType("bit");

                    b.Property<string>("SecurityStamp")
                        .HasColumnType("nvarchar(max)");

                    b.Property<bool>("TwoFactorEnabled")
                        .HasColumnType("bit");

                    b.Property<string>("UserName")
                        .HasMaxLength(256)
                        .HasColumnType("nvarchar(256)");

                    b.HasKey("Id");

                    b.HasIndex("NormalizedEmail")
                        .HasDatabaseName("EmailIndex");

                    b.HasIndex("NormalizedUserName")
                        .IsUnique()
                        .HasDatabaseName("UserNameIndex")
                        .HasFilter("[NormalizedUserName] IS NOT NULL");

                    b.ToTable("AspNetUsers", (string)null);

                    b.HasData(
                        new
                        {
                            Id = "11111111-1111-1111-1111-111111111111",
                            AccessFailedCount = 0,
                            ConcurrencyStamp = "b93115d3-bdeb-4d8c-9259-fdcbe98d86fb",
                            Email = "a@a.a",
                            EmailConfirmed = false,
                            LockoutEnabled = false,
                            NormalizedEmail = "A@A.A",
                            NormalizedUserName = "ABC",
                            PasswordHash = "AQAAAAIAAYagAAAAEJVQs20CHtbUiszI3odXrB+4NMQ7US4GqK13knq+OmfSxfhh/5Qys0vOKyXnSkAnnQ==",
                            PhoneNumberConfirmed = false,
                            SecurityStamp = "3e889834-e74d-441a-8786-c5da363a6371",
                            TwoFactorEnabled = false,
                            UserName = "abc"
                        });
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityRoleClaim<string>", b =>
                {
                    b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
                        .WithMany()
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserClaim<string>", b =>
                {
                    b.HasOne("TP2_serveur.Models.User", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserLogin<string>", b =>
                {
                    b.HasOne("TP2_serveur.Models.User", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserRole<string>", b =>
                {
                    b.HasOne("Microsoft.AspNetCore.Identity.IdentityRole", null)
                        .WithMany()
                        .HasForeignKey("RoleId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.HasOne("TP2_serveur.Models.User", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("Microsoft.AspNetCore.Identity.IdentityUserToken<string>", b =>
                {
                    b.HasOne("TP2_serveur.Models.User", null)
                        .WithMany()
                        .HasForeignKey("UserId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();
                });

            modelBuilder.Entity("TP2_serveur.Models.Album", b =>
                {
                    b.HasOne("TP2_serveur.Models.Artist", "Artist")
                        .WithMany("Albums")
                        .HasForeignKey("ArtistId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Artist");
                });

            modelBuilder.Entity("TP2_serveur.Models.Song", b =>
                {
                    b.HasOne("TP2_serveur.Models.Album", "Album")
                        .WithMany("Songs")
                        .HasForeignKey("AlbumId")
                        .OnDelete(DeleteBehavior.Cascade)
                        .IsRequired();

                    b.Navigation("Album");
                });

            modelBuilder.Entity("TP2_serveur.Models.Album", b =>
                {
                    b.Navigation("Songs");
                });

            modelBuilder.Entity("TP2_serveur.Models.Artist", b =>
                {
                    b.Navigation("Albums");
                });
#pragma warning restore 612, 618
        }
    }
}
