From 8e0c90c0850ba85680bd93b03b26a71c59e6c938 Mon Sep 17 00:00:00 2001 From: lgaljer20 Date: Tue, 9 Jan 2024 16:14:52 +0100 Subject: [PATCH] Added new migration with customer and admin user --- .../20240109151419_newUsers.Designer.cs | 293 ++++++++++++++++++ .../Migrations/20240109151419_newUsers.cs | 40 +++ .../SmartChargerContextModelSnapshot.cs | 26 ++ SmartCharger.Data/SmartChargerContext.cs | 33 +- 4 files changed, 389 insertions(+), 3 deletions(-) create mode 100644 SmartCharger.Data/Migrations/20240109151419_newUsers.Designer.cs create mode 100644 SmartCharger.Data/Migrations/20240109151419_newUsers.cs diff --git a/SmartCharger.Data/Migrations/20240109151419_newUsers.Designer.cs b/SmartCharger.Data/Migrations/20240109151419_newUsers.Designer.cs new file mode 100644 index 0000000..1b0160d --- /dev/null +++ b/SmartCharger.Data/Migrations/20240109151419_newUsers.Designer.cs @@ -0,0 +1,293 @@ +// +using System; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using SmartCharger.Data; + +#nullable disable + +namespace SmartCharger.Data.Migrations +{ + [DbContext(typeof(SmartChargerContext))] + [Migration("20240109151419_newUsers")] + partial class newUsers + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "7.0.13") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("SmartCharger.Data.Entities.Card", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Active") + .HasColumnType("boolean"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.Property("UsageStatus") + .HasColumnType("boolean"); + + b.Property("UserId") + .HasColumnType("integer"); + + b.Property("Value") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("UserId"); + + b.ToTable("Cards"); + }); + + modelBuilder.Entity("SmartCharger.Data.Entities.Charger", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Active") + .HasColumnType("boolean"); + + b.Property("CreationTime") + .HasColumnType("timestamp with time zone"); + + b.Property("CreatorId") + .HasColumnType("integer"); + + b.Property("LastSync") + .HasColumnType("timestamp with time zone"); + + b.Property("Latitude") + .HasColumnType("double precision"); + + b.Property("Longitude") + .HasColumnType("double precision"); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("CreatorId"); + + b.ToTable("Chargers"); + }); + + modelBuilder.Entity("SmartCharger.Data.Entities.Event", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CardId") + .HasColumnType("integer"); + + b.Property("ChargerId") + .HasColumnType("integer"); + + b.Property("EndTime") + .HasColumnType("timestamp with time zone"); + + b.Property("StartTime") + .HasColumnType("timestamp with time zone"); + + b.Property("UserId") + .HasColumnType("integer"); + + b.Property("Volume") + .HasColumnType("double precision"); + + b.HasKey("Id"); + + b.HasIndex("CardId"); + + b.HasIndex("ChargerId"); + + b.HasIndex("UserId"); + + b.ToTable("Events"); + }); + + modelBuilder.Entity("SmartCharger.Data.Entities.Role", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text"); + + b.HasKey("Id"); + + b.ToTable("Roles"); + + b.HasData( + new + { + Id = 1, + Name = "Admin" + }, + new + { + Id = 2, + Name = "Customer" + }); + }); + + modelBuilder.Entity("SmartCharger.Data.Entities.User", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Active") + .HasColumnType("boolean"); + + b.Property("CreationTime") + .HasColumnType("timestamp with time zone"); + + b.Property("Email") + .IsRequired() + .HasColumnType("text"); + + b.Property("FirstName") + .IsRequired() + .HasColumnType("text"); + + b.Property("LastName") + .IsRequired() + .HasColumnType("text"); + + b.Property("Password") + .HasColumnType("text"); + + b.Property("RoleId") + .HasColumnType("integer"); + + b.Property("Salt") + .HasColumnType("text"); + + b.HasKey("Id"); + + b.HasIndex("RoleId"); + + b.ToTable("Users"); + + b.HasData( + new + { + Id = 1, + Active = true, + CreationTime = new DateTime(2024, 1, 9, 15, 14, 19, 692, DateTimeKind.Utc).AddTicks(8005), + Email = "admin@gmail.com", + FirstName = "Admin", + LastName = "Admin", + Password = "$2b$10$hmyMVezD9FUJdULq3sFnI.oWajZxHcuWusLmIdCUTcg5XI9Zy4R3a", + RoleId = 1, + Salt = "$2b$10$f1wBguLF9ane/U9yySuKau" + }, + new + { + Id = 2, + Active = true, + CreationTime = new DateTime(2024, 1, 9, 15, 14, 19, 692, DateTimeKind.Utc).AddTicks(8012), + Email = "customer@gmail.com", + FirstName = "Customer", + LastName = "Customer", + Password = "$2b$10$Zeaai0Ju24WY/x.cpZpFiOCZAyjdphShUUqCIeoPpPEn.LPBDB1uy", + RoleId = 2, + Salt = "$2b$10$Zeaai0Ju24WY/x.cpZpFiO" + }); + }); + + modelBuilder.Entity("SmartCharger.Data.Entities.Card", b => + { + b.HasOne("SmartCharger.Data.Entities.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("SmartCharger.Data.Entities.Charger", b => + { + b.HasOne("SmartCharger.Data.Entities.User", "User") + .WithMany() + .HasForeignKey("CreatorId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("User"); + }); + + modelBuilder.Entity("SmartCharger.Data.Entities.Event", b => + { + b.HasOne("SmartCharger.Data.Entities.Card", "Card") + .WithMany() + .HasForeignKey("CardId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("SmartCharger.Data.Entities.Charger", "Charger") + .WithMany() + .HasForeignKey("ChargerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.HasOne("SmartCharger.Data.Entities.User", "User") + .WithMany() + .HasForeignKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Card"); + + b.Navigation("Charger"); + + b.Navigation("User"); + }); + + modelBuilder.Entity("SmartCharger.Data.Entities.User", b => + { + b.HasOne("SmartCharger.Data.Entities.Role", "Role") + .WithMany() + .HasForeignKey("RoleId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired(); + + b.Navigation("Role"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/SmartCharger.Data/Migrations/20240109151419_newUsers.cs b/SmartCharger.Data/Migrations/20240109151419_newUsers.cs new file mode 100644 index 0000000..524cce7 --- /dev/null +++ b/SmartCharger.Data/Migrations/20240109151419_newUsers.cs @@ -0,0 +1,40 @@ +using System; +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional + +namespace SmartCharger.Data.Migrations +{ + /// + public partial class newUsers : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.InsertData( + table: "Users", + columns: new[] { "Id", "Active", "CreationTime", "Email", "FirstName", "LastName", "Password", "RoleId", "Salt" }, + values: new object[,] + { + { 1, true, new DateTime(2024, 1, 9, 15, 14, 19, 692, DateTimeKind.Utc).AddTicks(8005), "admin@gmail.com", "Admin", "Admin", "$2b$10$hmyMVezD9FUJdULq3sFnI.oWajZxHcuWusLmIdCUTcg5XI9Zy4R3a", 1, "$2b$10$f1wBguLF9ane/U9yySuKau" }, + { 2, true, new DateTime(2024, 1, 9, 15, 14, 19, 692, DateTimeKind.Utc).AddTicks(8012), "customer@gmail.com", "Customer", "Customer", "$2b$10$Zeaai0Ju24WY/x.cpZpFiOCZAyjdphShUUqCIeoPpPEn.LPBDB1uy", 2, "$2b$10$Zeaai0Ju24WY/x.cpZpFiO" } + }); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DeleteData( + table: "Users", + keyColumn: "Id", + keyValue: 1); + + migrationBuilder.DeleteData( + table: "Users", + keyColumn: "Id", + keyValue: 2); + } + } +} diff --git a/SmartCharger.Data/Migrations/SmartChargerContextModelSnapshot.cs b/SmartCharger.Data/Migrations/SmartChargerContextModelSnapshot.cs index 3c4f4de..33377b8 100644 --- a/SmartCharger.Data/Migrations/SmartChargerContextModelSnapshot.cs +++ b/SmartCharger.Data/Migrations/SmartChargerContextModelSnapshot.cs @@ -197,6 +197,32 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.HasIndex("RoleId"); b.ToTable("Users"); + + b.HasData( + new + { + Id = 1, + Active = true, + CreationTime = new DateTime(2024, 1, 9, 15, 14, 19, 692, DateTimeKind.Utc).AddTicks(8005), + Email = "admin@gmail.com", + FirstName = "Admin", + LastName = "Admin", + Password = "$2b$10$hmyMVezD9FUJdULq3sFnI.oWajZxHcuWusLmIdCUTcg5XI9Zy4R3a", + RoleId = 1, + Salt = "$2b$10$f1wBguLF9ane/U9yySuKau" + }, + new + { + Id = 2, + Active = true, + CreationTime = new DateTime(2024, 1, 9, 15, 14, 19, 692, DateTimeKind.Utc).AddTicks(8012), + Email = "customer@gmail.com", + FirstName = "Customer", + LastName = "Customer", + Password = "$2b$10$Zeaai0Ju24WY/x.cpZpFiOCZAyjdphShUUqCIeoPpPEn.LPBDB1uy", + RoleId = 2, + Salt = "$2b$10$Zeaai0Ju24WY/x.cpZpFiO" + }); }); modelBuilder.Entity("SmartCharger.Data.Entities.Card", b => diff --git a/SmartCharger.Data/SmartChargerContext.cs b/SmartCharger.Data/SmartChargerContext.cs index 0a29653..7232fca 100644 --- a/SmartCharger.Data/SmartChargerContext.cs +++ b/SmartCharger.Data/SmartChargerContext.cs @@ -19,9 +19,36 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) base.OnModelCreating(modelBuilder); modelBuilder.Entity().HasData( - new Role {Id = 1, Name = "Admin" }, - new Role { Id = 2, Name = "Customer" }); - } + new Role { Id = 1, Name = "Admin" }, + new Role { Id = 2, Name = "Customer" }); + + modelBuilder.Entity().HasData( + new User + { + Id = 1, + FirstName = "Admin", + LastName = "Admin", + Email = "admin@gmail.com", + Password = "$2b$10$hmyMVezD9FUJdULq3sFnI.oWajZxHcuWusLmIdCUTcg5XI9Zy4R3a", + Active = true, + CreationTime = DateTime.UtcNow, + Salt = "$2b$10$f1wBguLF9ane/U9yySuKau", + RoleId = 1 + }, + new User + { + Id = 2, + FirstName = "Customer", + LastName = "Customer", + Email = "customer@gmail.com", + Password = "$2b$10$Zeaai0Ju24WY/x.cpZpFiOCZAyjdphShUUqCIeoPpPEn.LPBDB1uy", + Active = true, + CreationTime = DateTime.UtcNow, + Salt = "$2b$10$Zeaai0Ju24WY/x.cpZpFiO", + RoleId = 2 + }); } } +} +