diff --git a/README.md b/README.md
index 9cfbdf7..02cf9c1 100644
--- a/README.md
+++ b/README.md
@@ -1,5 +1,21 @@
# WF-PmAPI
+### Commandes de démarrage
+Installer les outils dotnet
+```bash
+dotnet tool install --global dotnet-ef
+```
+
+Générer une migration
+```bash
+dotnet ef migrations add myFirstMigration
+```
+
+Générer la base de donnée
+```bash
+dotnet ef database update
+```
+
### Paquets
- NSwag.AspNetCore
diff --git a/WF_EF_Api/DTO/UserDTO.cs b/WF_EF_Api/DTO/UserDTO.cs
index a01494b..441eb0f 100644
--- a/WF_EF_Api/DTO/UserDTO.cs
+++ b/WF_EF_Api/DTO/UserDTO.cs
@@ -7,6 +7,7 @@
public string Password { get; set; }
public string Email { get; set; }
public DateTime date { get; set; }
+ public TypeLangageDTO Lang { get; set; }
public string ImageProfil { get; set; }
}
}
diff --git a/WF_EF_Api/Dto2Entities/Extention.cs b/WF_EF_Api/Dto2Entities/Extention.cs
index 5b28630..9e372dd 100644
--- a/WF_EF_Api/Dto2Entities/Extention.cs
+++ b/WF_EF_Api/Dto2Entities/Extention.cs
@@ -217,6 +217,7 @@ namespace Dto2Entities
user.Email = item.Email;
user.date = item.Created;
user.ImageProfil = item.Images.ImgPath;
+ user.Lang = item.Lang.ToDto();
return user;
}
@@ -465,6 +466,7 @@ namespace Dto2Entities
user.Created = item.date;
user.Images = new Images();
user.Images.ImgPath = item.ImageProfil;
+ user.Lang = item.Lang.ToEntity();
return user;
}
diff --git a/WF_EF_Api/Entity/Users.cs b/WF_EF_Api/Entity/Users.cs
index abcf80e..35a990b 100644
--- a/WF_EF_Api/Entity/Users.cs
+++ b/WF_EF_Api/Entity/Users.cs
@@ -17,6 +17,8 @@ namespace Entity
[Required]
[StringLength(50)]
public string UserName { get; set; }
+ [Required]
+ public LangEnum Lang { get; set; } = LangEnum.vo;
[Required]
[StringLength(50)]
diff --git a/WF_EF_Api/StubbedContextLib/Migrations/20250405155130_migrLangUser.Designer.cs b/WF_EF_Api/StubbedContextLib/Migrations/20250405155130_migrLangUser.Designer.cs
new file mode 100644
index 0000000..472daea
--- /dev/null
+++ b/WF_EF_Api/StubbedContextLib/Migrations/20250405155130_migrLangUser.Designer.cs
@@ -0,0 +1,1089 @@
+//
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using StubbedContextLib;
+
+#nullable disable
+
+namespace StubbedContextLib.Migrations
+{
+ [DbContext(typeof(StubWTFContext))]
+ [Migration("20250405155130_migrLangUser")]
+ partial class migrLangUser
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "9.0.3")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("Entity.Admin", b =>
+ {
+ b.Property("IdUsers")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("IdUsers"));
+
+ b.Property("UserId")
+ .HasColumnType("integer");
+
+ b.HasKey("IdUsers");
+
+ b.HasIndex("UserId");
+
+ b.ToTable("admins");
+ });
+
+ modelBuilder.Entity("Entity.Character", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("IdImage")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdImage");
+
+ b.ToTable("characters");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ IdImage = 1,
+ Name = "Alan Grant"
+ },
+ new
+ {
+ Id = 2,
+ IdImage = 2,
+ Name = "Aragorn"
+ },
+ new
+ {
+ Id = 3,
+ IdImage = 3,
+ Name = "Legolas"
+ },
+ new
+ {
+ Id = 4,
+ IdImage = 4,
+ Name = "Frodon"
+ },
+ new
+ {
+ Id = 5,
+ IdImage = 5,
+ Name = "Dobby"
+ },
+ new
+ {
+ Id = 6,
+ IdImage = 6,
+ Name = "Jon Snow"
+ },
+ new
+ {
+ Id = 7,
+ IdImage = 7,
+ Name = "Daenerys Targaryen"
+ },
+ new
+ {
+ Id = 8,
+ IdImage = 8,
+ Name = "Luke Skywalker"
+ },
+ new
+ {
+ Id = 9,
+ IdImage = 9,
+ Name = "Princess Leia"
+ },
+ new
+ {
+ Id = 10,
+ IdImage = 10,
+ Name = "Harry Potter"
+ });
+ });
+
+ modelBuilder.Entity("Entity.Commentary", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Comment")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)");
+
+ b.Property("DateCommentary")
+ .HasColumnType("date")
+ .HasColumnName("DateCommentary");
+
+ b.Property("IdQuote")
+ .HasColumnType("integer");
+
+ b.Property("IdUser")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdQuote");
+
+ b.HasIndex("IdUser");
+
+ b.ToTable("comments");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Comment = "Ce film est le meilleur",
+ DateCommentary = new DateTime(2025, 2, 3, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ IdQuote = 1,
+ IdUser = 2
+ },
+ new
+ {
+ Id = 2,
+ Comment = "Very good",
+ DateCommentary = new DateTime(2025, 3, 11, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ IdQuote = 1,
+ IdUser = 3
+ });
+ });
+
+ modelBuilder.Entity("Entity.Favorite", b =>
+ {
+ b.Property("IdQuote")
+ .HasColumnType("integer");
+
+ b.Property("IdUsers")
+ .HasColumnType("integer");
+
+ b.HasKey("IdQuote", "IdUsers");
+
+ b.HasIndex("IdUsers");
+
+ b.ToTable("favorites");
+
+ b.HasData(
+ new
+ {
+ IdQuote = 2,
+ IdUsers = 8
+ },
+ new
+ {
+ IdQuote = 5,
+ IdUsers = 3
+ },
+ new
+ {
+ IdQuote = 9,
+ IdUsers = 1
+ },
+ new
+ {
+ IdQuote = 4,
+ IdUsers = 10
+ },
+ new
+ {
+ IdQuote = 3,
+ IdUsers = 2
+ },
+ new
+ {
+ IdQuote = 6,
+ IdUsers = 7
+ },
+ new
+ {
+ IdQuote = 1,
+ IdUsers = 6
+ },
+ new
+ {
+ IdQuote = 8,
+ IdUsers = 9
+ },
+ new
+ {
+ IdQuote = 10,
+ IdUsers = 5
+ });
+ });
+
+ modelBuilder.Entity("Entity.Images", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("ImgPath")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.ToTable("images");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ ImgPath = "https://th.bing.com/th/id/OIP.TJuWNCsibz8MVmhdNQEdMwHaE8?w=244&h=180&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 2,
+ ImgPath = "https://th.bing.com/th/id/OIP.NgXRQ5-IknA6_qOPFhLWIwHaHK?w=165&h=180&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 3,
+ ImgPath = "https://th.bing.com/th/id/OIP.XcJoJ6bC9sAMjol1pJn5UQHaLH?w=118&h=180&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 4,
+ ImgPath = "https://th.bing.com/th/id/OIP.PPIESqZaNDa-qUcfSDXhdQHaGK?w=210&h=180&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 5,
+ ImgPath = "https://th.bing.com/th/id/OIP.XBghSl2kfRNNtQoSxc901wHaHa?w=177&h=180&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 6,
+ ImgPath = "https://th.bing.com/th/id/OIP.af1Aid64cqEKoIOBgCPxtQHaJO?w=145&h=182&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 7,
+ ImgPath = "https://th.bing.com/th/id/OIP.ri5vSXr5lNTLt4DO6KQXyQHaI4?w=158&h=189&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 8,
+ ImgPath = "https://th.bing.com/th/id/OIP.uPTRLR8uspCiafiunUqKfQHaMJ?w=115&h=180&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 9,
+ ImgPath = "https://th.bing.com/th/id/OIP.hcJis4rKbyQtugsoFJU2ngHaM_?w=118&h=207&c=7&r=0&o=5&pid=1.7"
+ },
+ new
+ {
+ Id = 10,
+ ImgPath = "https://th.bing.com/th/id/OIP.Py1_XfUrKJY_A6tYEmFS5wHaE8?w=280&h=187&c=7&r=0&o=5&pid=1.7"
+ });
+ });
+
+ modelBuilder.Entity("Entity.Question", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("AnswerA")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("AnswerB")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("AnswerC")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("AnswerD")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("CorrectAnswer")
+ .IsRequired()
+ .HasMaxLength(1)
+ .HasColumnType("character varying(1)");
+
+ b.Property("IsValid")
+ .HasColumnType("boolean");
+
+ b.Property("Text")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("character varying(200)");
+
+ b.HasKey("Id");
+
+ b.ToTable("question");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ AnswerA = "Gimli",
+ AnswerB = "Aragorn",
+ AnswerC = "Frodon",
+ AnswerD = "Gandalf",
+ CorrectAnswer = "B",
+ IsValid = true,
+ Text = "Qui est le leader de la Communauté de l'Anneau ?"
+ },
+ new
+ {
+ Id = 2,
+ AnswerA = "Serdaigle",
+ AnswerB = "Gryffondor",
+ AnswerC = "Serpentard",
+ AnswerD = "Poufsouffle",
+ CorrectAnswer = "B",
+ IsValid = false,
+ Text = "Dans quelle maison Harry Potter est-il ?"
+ },
+ new
+ {
+ Id = 3,
+ AnswerA = "Saroumane",
+ AnswerB = "Sauron",
+ AnswerC = "Gollum",
+ AnswerD = "Gothmog",
+ CorrectAnswer = "B",
+ IsValid = true,
+ Text = "Qui est le Seigneur des Ténèbres dans la saga Le Seigneur des Anneaux ?"
+ },
+ new
+ {
+ Id = 4,
+ AnswerA = "Han Solo",
+ AnswerB = "Princesse Leia",
+ AnswerC = "Chewbacca",
+ AnswerD = "R2-D2",
+ CorrectAnswer = "A",
+ IsValid = true,
+ Text = "Dans le film Star Wars : Episode IV, qui sauve Luke Skywalker de l'Étoile de la Mort ?"
+ },
+ new
+ {
+ Id = 5,
+ AnswerA = "Reine Jadis",
+ AnswerB = "Aslan",
+ AnswerC = "Edmund",
+ AnswerD = "Lucy",
+ CorrectAnswer = "B",
+ IsValid = true,
+ Text = "Qui est le souverain de Narnia dans Le Lion, la Sorcière Blanche et l'Armoire Magique ?"
+ },
+ new
+ {
+ Id = 6,
+ AnswerA = "Smaug",
+ AnswerB = "Falkor",
+ AnswerC = "Norbert",
+ AnswerD = "Shenron",
+ CorrectAnswer = "A",
+ IsValid = true,
+ Text = "Quel est le nom du dragon dans Le Hobbit ?"
+ },
+ new
+ {
+ Id = 7,
+ AnswerA = "Bella Swan",
+ AnswerB = "Edward Cullen",
+ AnswerC = "Jacob Black",
+ AnswerD = "Victoria",
+ CorrectAnswer = "A",
+ IsValid = true,
+ Text = "Qui est la première personne à être mordue par un vampire dans Twilight ?"
+ },
+ new
+ {
+ Id = 8,
+ AnswerA = "Obi-Wan Kenobi",
+ AnswerB = "Yoda",
+ AnswerC = "Han Solo",
+ AnswerD = "Luke Skywalker",
+ CorrectAnswer = "A",
+ IsValid = true,
+ Text = "Quel personnage dit Que la Force soit avec toi dans Star Wars ?"
+ },
+ new
+ {
+ Id = 9,
+ AnswerA = "Dr. Ellie Sattler",
+ AnswerB = "Alan Grant",
+ AnswerC = "John Hammond",
+ AnswerD = "Dennis Nedry",
+ CorrectAnswer = "B",
+ IsValid = true,
+ Text = "Dans Jurassic Park, quel est le nom du paléontologue sur l'île ?"
+ },
+ new
+ {
+ Id = 10,
+ AnswerA = "Cersei Lannister",
+ AnswerB = "Arya Stark",
+ AnswerC = "Daenerys Targaryen",
+ AnswerD = "Sansa Stark",
+ CorrectAnswer = "C",
+ IsValid = true,
+ Text = "Dans Game of Thrones, qui est surnommée la Mère des Dragons ?"
+ });
+ });
+
+ modelBuilder.Entity("Entity.Quiz", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("IdImage")
+ .HasColumnType("integer");
+
+ b.Property("NbQuestion")
+ .HasColumnType("integer");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdImage");
+
+ b.ToTable("quizzes");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ IdImage = 1,
+ NbQuestion = 5,
+ Title = "Quiz 1"
+ },
+ new
+ {
+ Id = 2,
+ IdImage = 2,
+ NbQuestion = 5,
+ Title = "Quiz 2"
+ });
+ });
+
+ modelBuilder.Entity("Entity.QuizQuestion", b =>
+ {
+ b.Property("IdQuestion")
+ .HasColumnType("integer");
+
+ b.Property("IdQuiz")
+ .HasColumnType("integer");
+
+ b.HasKey("IdQuestion", "IdQuiz");
+
+ b.HasIndex("IdQuiz");
+
+ b.ToTable("QuizQuestion");
+
+ b.HasData(
+ new
+ {
+ IdQuestion = 1,
+ IdQuiz = 1
+ },
+ new
+ {
+ IdQuestion = 2,
+ IdQuiz = 1
+ },
+ new
+ {
+ IdQuestion = 3,
+ IdQuiz = 1
+ },
+ new
+ {
+ IdQuestion = 4,
+ IdQuiz = 1
+ },
+ new
+ {
+ IdQuestion = 5,
+ IdQuiz = 1
+ },
+ new
+ {
+ IdQuestion = 6,
+ IdQuiz = 2
+ },
+ new
+ {
+ IdQuestion = 7,
+ IdQuiz = 2
+ },
+ new
+ {
+ IdQuestion = 8,
+ IdQuiz = 2
+ },
+ new
+ {
+ IdQuestion = 9,
+ IdQuiz = 2
+ },
+ new
+ {
+ IdQuestion = 10,
+ IdQuiz = 2
+ });
+ });
+
+ modelBuilder.Entity("Entity.Quote", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Content")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)");
+
+ b.Property("IdCharacter")
+ .HasColumnType("integer");
+
+ b.Property("IdSource")
+ .HasColumnType("integer");
+
+ b.Property("IdUsersPropose")
+ .HasColumnType("integer");
+
+ b.Property("IsValid")
+ .HasColumnType("boolean");
+
+ b.Property("Langage")
+ .HasColumnType("integer");
+
+ b.Property("Likes")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdCharacter");
+
+ b.HasIndex("IdSource");
+
+ b.HasIndex("IdUsersPropose");
+
+ b.ToTable("quotes");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Content = "Je n'y crois pas. Je n'y crois pas. Ce n'est pas possible",
+ IdCharacter = 1,
+ IdSource = 1,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 1,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 2,
+ Content = "There is always hope",
+ IdCharacter = 2,
+ IdSource = 2,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 0,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 3,
+ Content = "A red sun rises. Blood has been spilled this night.",
+ IdCharacter = 3,
+ IdSource = 2,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 0,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 4,
+ Content = "I wish the Ring had never come to me.I wish none of this had happened.",
+ IdCharacter = 4,
+ IdSource = 2,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 0,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 5,
+ Content = "Dobby is a free elf!",
+ IdCharacter = 5,
+ IdSource = 4,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 0,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 6,
+ Content = "Winter is comming",
+ IdCharacter = 6,
+ IdSource = 3,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 0,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 7,
+ Content = "Je suis la dernière Targaryen. Je suis la reine des dragons",
+ IdCharacter = 7,
+ IdSource = 3,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 1,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 8,
+ Content = "Je ne suis pas prêt à affronter ça. C'est trop pour moi.",
+ IdCharacter = 8,
+ IdSource = 5,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 1,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 9,
+ Content = "Aidez-moi, Obi-Wan Kenobi, vous êtes mon seul espoir.",
+ IdCharacter = 9,
+ IdSource = 5,
+ IdUsersPropose = 1,
+ IsValid = true,
+ Langage = 1,
+ Likes = 11025
+ },
+ new
+ {
+ Id = 10,
+ Content = "La quoi ?",
+ IdCharacter = 10,
+ IdSource = 4,
+ IdUsersPropose = 1,
+ IsValid = false,
+ Langage = 1,
+ Likes = 11025
+ });
+ });
+
+ modelBuilder.Entity("Entity.Source", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Title")
+ .IsRequired()
+ .HasMaxLength(100)
+ .HasColumnType("character varying(100)");
+
+ b.Property("TypeSrc")
+ .HasColumnType("integer");
+
+ b.Property("Year")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.ToTable("sources");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Title = "Jurassic Park",
+ TypeSrc = 0,
+ Year = 1993
+ },
+ new
+ {
+ Id = 2,
+ Title = "Le Seigneur des anneaux : La Communauté de l'anneau",
+ TypeSrc = 0,
+ Year = 2001
+ },
+ new
+ {
+ Id = 3,
+ Title = "Game of throne",
+ TypeSrc = 1,
+ Year = 2011
+ },
+ new
+ {
+ Id = 4,
+ Title = "Harry Potter à l'école des sorcier",
+ TypeSrc = 0,
+ Year = 1997
+ },
+ new
+ {
+ Id = 5,
+ Title = "Star Wars, épisode IV : Un nouvel espoir",
+ TypeSrc = 0,
+ Year = 1977
+ });
+ });
+
+ modelBuilder.Entity("Entity.Users", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Created")
+ .HasColumnType("date")
+ .HasColumnName("Created");
+
+ b.Property("Email")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.Property("IdImage")
+ .HasColumnType("integer");
+
+ b.Property("Lang")
+ .HasColumnType("integer");
+
+ b.Property("Password")
+ .IsRequired()
+ .HasMaxLength(200)
+ .HasColumnType("character varying(200)");
+
+ b.Property("UserName")
+ .IsRequired()
+ .HasMaxLength(50)
+ .HasColumnType("character varying(50)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IdImage");
+
+ b.ToTable("users");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Created = new DateTime(2025, 5, 12, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "jhonDhoe@gmail.com",
+ IdImage = 1,
+ Lang = 0,
+ Password = "1234",
+ UserName = "Jhon-Dhoe"
+ },
+ new
+ {
+ Id = 2,
+ Created = new DateTime(2025, 3, 19, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "lucy_rose@outlook.com",
+ IdImage = 2,
+ Lang = 0,
+ Password = "abcd",
+ UserName = "Lucy-Rose"
+ },
+ new
+ {
+ Id = 3,
+ Created = new DateTime(2024, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "mark.taylor@yahoo.com",
+ IdImage = 3,
+ Lang = 0,
+ Password = "5678",
+ UserName = "Mark-Taylor"
+ },
+ new
+ {
+ Id = 4,
+ Created = new DateTime(2025, 2, 28, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "sophie.martin@gmail.com",
+ IdImage = 4,
+ Lang = 0,
+ Password = "4321",
+ UserName = "Sophie-Martin"
+ },
+ new
+ {
+ Id = 5,
+ Created = new DateTime(2025, 1, 15, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "nathan_doe@aol.com",
+ IdImage = 5,
+ Lang = 0,
+ Password = "8765",
+ UserName = "Nathan-Doe"
+ },
+ new
+ {
+ Id = 6,
+ Created = new DateTime(2025, 4, 7, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "ella.brown@icloud.com",
+ IdImage = 6,
+ Lang = 0,
+ Password = "2468",
+ UserName = "Ella-Brown"
+ },
+ new
+ {
+ Id = 7,
+ Created = new DateTime(2024, 12, 25, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "oliver_smith@gmail.com",
+ IdImage = 7,
+ Lang = 0,
+ Password = "1357",
+ UserName = "Oliver-Smith"
+ },
+ new
+ {
+ Id = 8,
+ Created = new DateTime(2025, 3, 5, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "mia.jones@outlook.com",
+ IdImage = 8,
+ Lang = 0,
+ Password = "1122",
+ UserName = "Mia-Jones"
+ },
+ new
+ {
+ Id = 9,
+ Created = new DateTime(2025, 2, 22, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "kevin_williams@aol.com",
+ IdImage = 9,
+ Lang = 0,
+ Password = "2233",
+ UserName = "Kevin-Williams"
+ },
+ new
+ {
+ Id = 10,
+ Created = new DateTime(2025, 1, 3, 0, 0, 0, 0, DateTimeKind.Unspecified),
+ Email = "olivia.white@yahoo.com",
+ IdImage = 10,
+ Lang = 0,
+ Password = "3344",
+ UserName = "Olivia-White"
+ });
+ });
+
+ modelBuilder.Entity("Entity.Admin", b =>
+ {
+ b.HasOne("Entity.Users", "User")
+ .WithMany()
+ .HasForeignKey("UserId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("Entity.Character", b =>
+ {
+ b.HasOne("Entity.Images", "Images")
+ .WithMany("Characters")
+ .HasForeignKey("IdImage")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Images");
+ });
+
+ modelBuilder.Entity("Entity.Commentary", b =>
+ {
+ b.HasOne("Entity.Quote", "Quote")
+ .WithMany("Commentarys")
+ .HasForeignKey("IdQuote")
+ .OnDelete(DeleteBehavior.ClientCascade)
+ .IsRequired();
+
+ b.HasOne("Entity.Users", "User")
+ .WithMany()
+ .HasForeignKey("IdUser")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Quote");
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("Entity.Favorite", b =>
+ {
+ b.HasOne("Entity.Quote", "Quote")
+ .WithMany()
+ .HasForeignKey("IdQuote")
+ .OnDelete(DeleteBehavior.ClientCascade)
+ .IsRequired();
+
+ b.HasOne("Entity.Users", "Users")
+ .WithMany()
+ .HasForeignKey("IdUsers")
+ .OnDelete(DeleteBehavior.ClientCascade)
+ .IsRequired();
+
+ b.Navigation("Quote");
+
+ b.Navigation("Users");
+ });
+
+ modelBuilder.Entity("Entity.Quiz", b =>
+ {
+ b.HasOne("Entity.Images", "Images")
+ .WithMany("Quizs")
+ .HasForeignKey("IdImage")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Images");
+ });
+
+ modelBuilder.Entity("Entity.QuizQuestion", b =>
+ {
+ b.HasOne("Entity.Question", null)
+ .WithMany()
+ .HasForeignKey("IdQuestion")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Entity.Quiz", null)
+ .WithMany()
+ .HasForeignKey("IdQuiz")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Entity.Quote", b =>
+ {
+ b.HasOne("Entity.Character", "Character")
+ .WithMany("Quotes")
+ .HasForeignKey("IdCharacter")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Entity.Source", "Source")
+ .WithMany("Quotes")
+ .HasForeignKey("IdSource")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Entity.Users", "User")
+ .WithMany("Quotes")
+ .HasForeignKey("IdUsersPropose");
+
+ b.Navigation("Character");
+
+ b.Navigation("Source");
+
+ b.Navigation("User");
+ });
+
+ modelBuilder.Entity("Entity.Users", b =>
+ {
+ b.HasOne("Entity.Images", "Images")
+ .WithMany("Users")
+ .HasForeignKey("IdImage")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Images");
+ });
+
+ modelBuilder.Entity("Entity.Character", b =>
+ {
+ b.Navigation("Quotes");
+ });
+
+ modelBuilder.Entity("Entity.Images", b =>
+ {
+ b.Navigation("Characters");
+
+ b.Navigation("Quizs");
+
+ b.Navigation("Users");
+ });
+
+ modelBuilder.Entity("Entity.Quote", b =>
+ {
+ b.Navigation("Commentarys");
+ });
+
+ modelBuilder.Entity("Entity.Source", b =>
+ {
+ b.Navigation("Quotes");
+ });
+
+ modelBuilder.Entity("Entity.Users", b =>
+ {
+ b.Navigation("Quotes");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/WF_EF_Api/StubbedContextLib/Migrations/20250405155130_migrLangUser.cs b/WF_EF_Api/StubbedContextLib/Migrations/20250405155130_migrLangUser.cs
new file mode 100644
index 0000000..a3f133e
--- /dev/null
+++ b/WF_EF_Api/StubbedContextLib/Migrations/20250405155130_migrLangUser.cs
@@ -0,0 +1,99 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace StubbedContextLib.Migrations
+{
+ ///
+ public partial class migrLangUser : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn(
+ name: "Lang",
+ table: "users",
+ type: "integer",
+ nullable: false,
+ defaultValue: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 1,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 2,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 3,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 4,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 5,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 6,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 7,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 8,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 9,
+ column: "Lang",
+ value: 0);
+
+ migrationBuilder.UpdateData(
+ table: "users",
+ keyColumn: "Id",
+ keyValue: 10,
+ column: "Lang",
+ value: 0);
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "Lang",
+ table: "users");
+ }
+ }
+}
diff --git a/WF_EF_Api/StubbedContextLib/Migrations/StubWTFContextModelSnapshot.cs b/WF_EF_Api/StubbedContextLib/Migrations/StubWTFContextModelSnapshot.cs
index fa6eee1..f0d8d46 100644
--- a/WF_EF_Api/StubbedContextLib/Migrations/StubWTFContextModelSnapshot.cs
+++ b/WF_EF_Api/StubbedContextLib/Migrations/StubWTFContextModelSnapshot.cs
@@ -808,6 +808,9 @@ namespace StubbedContextLib.Migrations
b.Property("IdImage")
.HasColumnType("integer");
+ b.Property("Lang")
+ .HasColumnType("integer");
+
b.Property("Password")
.IsRequired()
.HasMaxLength(200)
@@ -831,6 +834,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2025, 5, 12, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "jhonDhoe@gmail.com",
IdImage = 1,
+ Lang = 0,
Password = "1234",
UserName = "Jhon-Dhoe"
},
@@ -840,6 +844,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2025, 3, 19, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "lucy_rose@outlook.com",
IdImage = 2,
+ Lang = 0,
Password = "abcd",
UserName = "Lucy-Rose"
},
@@ -849,6 +854,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2024, 11, 2, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "mark.taylor@yahoo.com",
IdImage = 3,
+ Lang = 0,
Password = "5678",
UserName = "Mark-Taylor"
},
@@ -858,6 +864,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2025, 2, 28, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "sophie.martin@gmail.com",
IdImage = 4,
+ Lang = 0,
Password = "4321",
UserName = "Sophie-Martin"
},
@@ -867,6 +874,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2025, 1, 15, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "nathan_doe@aol.com",
IdImage = 5,
+ Lang = 0,
Password = "8765",
UserName = "Nathan-Doe"
},
@@ -876,6 +884,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2025, 4, 7, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "ella.brown@icloud.com",
IdImage = 6,
+ Lang = 0,
Password = "2468",
UserName = "Ella-Brown"
},
@@ -885,6 +894,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2024, 12, 25, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "oliver_smith@gmail.com",
IdImage = 7,
+ Lang = 0,
Password = "1357",
UserName = "Oliver-Smith"
},
@@ -894,6 +904,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2025, 3, 5, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "mia.jones@outlook.com",
IdImage = 8,
+ Lang = 0,
Password = "1122",
UserName = "Mia-Jones"
},
@@ -903,6 +914,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2025, 2, 22, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "kevin_williams@aol.com",
IdImage = 9,
+ Lang = 0,
Password = "2233",
UserName = "Kevin-Williams"
},
@@ -912,6 +924,7 @@ namespace StubbedContextLib.Migrations
Created = new DateTime(2025, 1, 3, 0, 0, 0, 0, DateTimeKind.Unspecified),
Email = "olivia.white@yahoo.com",
IdImage = 10,
+ Lang = 0,
Password = "3344",
UserName = "Olivia-White"
});