// using System; using System.Collections.Generic; using Manager.DTOs; using ManagerService.DTOs; using ManagerService.Data; using ManagerService.Data.SubSection; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Migrations; using Microsoft.EntityFrameworkCore.Storage.ValueConversion; using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; #nullable disable namespace ManagerService.Migrations { [DbContext(typeof(MyInfoMateDbContext))] [Migration("20250319073520_UpdateDB")] partial class UpdateDB { /// protected override void BuildTargetModel(ModelBuilder modelBuilder) { #pragma warning disable 612, 618 modelBuilder .HasAnnotation("ProductVersion", "9.0.2") .HasAnnotation("Relational:MaxIdentifierLength", 63); NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); modelBuilder.Entity("ManagerService.Data.Configuration", b => { b.Property("Id") .HasColumnType("text"); b.Property("DateCreation") .HasColumnType("timestamp with time zone"); b.Property("ImageId") .HasColumnType("text"); b.Property("ImageSource") .HasColumnType("text"); b.Property("InstanceId") .IsRequired() .HasColumnType("text"); b.Property("IsDate") .HasColumnType("boolean"); b.Property("IsHour") .HasColumnType("boolean"); b.Property("IsMobile") .HasColumnType("boolean"); b.Property("IsOffline") .HasColumnType("boolean"); b.Property("IsSectionImageBackground") .HasColumnType("boolean"); b.Property("IsTablet") .HasColumnType("boolean"); b.Property("Label") .IsRequired() .HasColumnType("text"); b.PrimitiveCollection>("Languages") .HasColumnType("text[]"); b.Property("LoaderImageId") .HasColumnType("text"); b.Property("LoaderImageUrl") .HasColumnType("text"); b.Property("PrimaryColor") .HasColumnType("text"); b.Property("RoundedValue") .HasColumnType("integer"); b.Property("ScreenPercentageSectionsMainPage") .HasColumnType("integer"); b.Property("SecondaryColor") .HasColumnType("text"); b.Property>("Title") .IsRequired() .HasColumnType("jsonb"); b.Property("WeatherCity") .HasColumnType("text"); b.Property("WeatherResult") .HasColumnType("text"); b.Property("WeatherUpdatedDate") .HasColumnType("timestamp with time zone"); b.HasKey("Id"); b.ToTable("Configurations"); }); modelBuilder.Entity("ManagerService.Data.Device", b => { b.Property("Id") .HasColumnType("text"); b.Property("BatteryLevel") .HasColumnType("text"); b.Property("Configuration") .HasColumnType("text"); b.Property("ConfigurationId") .IsRequired() .HasColumnType("text"); b.Property("Connected") .HasColumnType("boolean"); b.Property("ConnectionLevel") .HasColumnType("text"); b.Property("DateCreation") .HasColumnType("timestamp with time zone"); b.Property("DateUpdate") .HasColumnType("timestamp with time zone"); b.Property("Identifier") .HasColumnType("text"); b.Property("InstanceId") .IsRequired() .HasColumnType("text"); b.Property("IpAddressETH") .IsRequired() .HasColumnType("text"); b.Property("IpAddressWLAN") .IsRequired() .HasColumnType("text"); b.Property("LastBatteryLevel") .HasColumnType("timestamp with time zone"); b.Property("LastConnectionLevel") .HasColumnType("timestamp with time zone"); b.Property("Name") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Devices"); }); modelBuilder.Entity("ManagerService.Data.Instance", b => { b.Property("Id") .HasColumnType("text"); b.Property("DateCreation") .HasColumnType("timestamp with time zone"); b.Property("Name") .IsRequired() .HasColumnType("text"); b.Property("PinCode") .HasColumnType("integer"); b.HasKey("Id"); b.ToTable("Instances"); }); modelBuilder.Entity("ManagerService.Data.Resource", b => { b.Property("Id") .HasColumnType("text"); b.Property("DateCreation") .HasColumnType("timestamp with time zone"); b.Property("InstanceId") .IsRequired() .HasColumnType("text"); b.Property("Label") .IsRequired() .HasColumnType("text"); b.Property("Type") .HasColumnType("integer"); b.Property("Url") .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Resources"); }); modelBuilder.Entity("ManagerService.Data.Section", b => { b.Property("Id") .HasColumnType("text"); b.Property("BeaconId") .HasColumnType("integer"); b.Property("ConfigurationId") .IsRequired() .HasColumnType("text"); b.Property("DateCreation") .HasColumnType("timestamp with time zone"); b.Property>("Description") .HasColumnType("jsonb"); b.Property("Discriminator") .IsRequired() .HasMaxLength(8) .HasColumnType("character varying(8)"); b.Property("ImageId") .IsRequired() .HasColumnType("text"); b.Property("ImageSource") .IsRequired() .HasColumnType("text"); b.Property("InstanceId") .IsRequired() .HasColumnType("text"); b.Property("IsBeacon") .HasColumnType("boolean"); b.Property("IsSubSection") .HasColumnType("boolean"); b.Property("Label") .IsRequired() .HasColumnType("text"); b.Property("Latitude") .HasColumnType("text"); b.Property("Longitude") .HasColumnType("text"); b.Property("MeterZoneGPS") .HasColumnType("integer"); b.Property("Order") .HasColumnType("integer"); b.Property("ParentId") .HasColumnType("text"); b.Property("SectionMenuId") .HasColumnType("text"); b.Property>("Title") .IsRequired() .HasColumnType("jsonb"); b.Property("Type") .HasColumnType("integer"); b.HasKey("Id"); b.HasIndex("SectionMenuId"); b.ToTable("Sections"); b.HasDiscriminator().HasValue("Base"); b.UseTphMappingStrategy(); }); modelBuilder.Entity("ManagerService.Data.SubSection.Categorie", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Icon") .HasColumnType("text"); b.Property>("Label") .IsRequired() .HasColumnType("jsonb"); b.Property("Order") .HasColumnType("integer"); b.Property("ResourceId") .HasColumnType("text"); b.Property("SectionMapId") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("ResourceId"); b.HasIndex("SectionMapId"); b.ToTable("Categorie"); }); modelBuilder.Entity("ManagerService.Data.SubSection.Content", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property>("Description") .IsRequired() .HasColumnType("jsonb"); b.Property("Order") .HasColumnType("integer"); b.Property("ResourceId") .HasColumnType("text"); b.Property("SectionArticleId") .HasColumnType("text"); b.Property("SectionSliderId") .HasColumnType("text"); b.Property>("Title") .IsRequired() .HasColumnType("jsonb"); b.HasKey("Id"); b.HasIndex("ResourceId"); b.HasIndex("SectionArticleId"); b.HasIndex("SectionSliderId"); b.ToTable("Content"); }); modelBuilder.Entity("ManagerService.Data.SubSection.GeoPoint", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("CategorieId") .HasColumnType("integer"); b.Property>("Contents") .IsRequired() .HasColumnType("jsonb"); b.Property>("Description") .IsRequired() .HasColumnType("jsonb"); b.Property>("Email") .IsRequired() .HasColumnType("jsonb"); b.Property("ImageResourceId") .HasColumnType("text"); b.Property("ImageUrl") .HasColumnType("text"); b.Property("Latitude") .HasColumnType("text"); b.Property("Longitude") .HasColumnType("text"); b.Property>("Phone") .IsRequired() .HasColumnType("jsonb"); b.Property>("Prices") .IsRequired() .HasColumnType("jsonb"); b.Property>("Schedules") .IsRequired() .HasColumnType("jsonb"); b.Property("SectionMapId") .HasColumnType("text"); b.Property>("Site") .IsRequired() .HasColumnType("jsonb"); b.Property>("Title") .IsRequired() .HasColumnType("jsonb"); b.HasKey("Id"); b.HasIndex("SectionMapId"); b.ToTable("GeoPoint"); }); modelBuilder.Entity("ManagerService.Data.SubSection.OrderedTranslationAndResource", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property("Order") .HasColumnType("integer"); b.Property("SectionPdfId") .HasColumnType("text"); b.Property>("TranslationAndResources") .IsRequired() .HasColumnType("jsonb"); b.HasKey("Id"); b.HasIndex("SectionPdfId"); b.ToTable("OrderedTranslationAndResource"); }); modelBuilder.Entity("ManagerService.Data.SubSection.QuizQuestion", b => { b.Property("Id") .ValueGeneratedOnAdd() .HasColumnType("integer"); NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); b.Property>("Label") .IsRequired() .HasColumnType("jsonb"); b.Property("Order") .HasColumnType("integer"); b.Property("ResourceId") .HasColumnType("text"); b.Property>("Responses") .IsRequired() .HasColumnType("jsonb"); b.Property("SectionQuizId") .HasColumnType("text"); b.HasKey("Id"); b.HasIndex("ResourceId"); b.HasIndex("SectionQuizId"); b.ToTable("QuizQuestion"); }); modelBuilder.Entity("ManagerService.Data.User", b => { b.Property("Id") .HasColumnType("text"); b.Property("DateCreation") .HasColumnType("timestamp with time zone"); b.Property("Email") .IsRequired() .HasColumnType("text"); b.Property("FirstName") .HasColumnType("text"); b.Property("InstanceId") .IsRequired() .HasColumnType("text"); b.Property("LastName") .IsRequired() .HasColumnType("text"); b.Property("Password") .IsRequired() .HasColumnType("text"); b.Property("Token") .IsRequired() .HasColumnType("text"); b.HasKey("Id"); b.ToTable("Users"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionAgenda", b => { b.HasBaseType("ManagerService.Data.Section"); b.Property("mapProvider") .HasColumnType("integer"); b.Property>("resourceIds") .IsRequired() .HasColumnType("jsonb"); b.HasDiscriminator().HasValue("Agenda"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionArticle", b => { b.HasBaseType("ManagerService.Data.Section"); b.Property>("audioIds") .IsRequired() .HasColumnType("jsonb"); b.Property>("content") .IsRequired() .HasColumnType("jsonb"); b.Property("isContentTop") .HasColumnType("boolean"); b.Property("isReadAudioAuto") .HasColumnType("boolean"); b.HasDiscriminator().HasValue("Article"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionMap", b => { b.HasBaseType("ManagerService.Data.Section"); b.Property("CenterLatitude") .HasColumnType("text"); b.Property("CenterLongitude") .HasColumnType("text"); b.Property("MapProvider") .HasColumnType("integer"); b.Property("MapType") .HasColumnType("integer"); b.Property("MapTypeMapbox") .HasColumnType("integer"); b.Property("ResourceId") .HasColumnType("text"); b.Property("Zoom") .HasColumnType("integer"); b.HasIndex("ResourceId"); b.HasDiscriminator().HasValue("Map"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionMenu", b => { b.HasBaseType("ManagerService.Data.Section"); b.HasDiscriminator().HasValue("Menu"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionPdf", b => { b.HasBaseType("ManagerService.Data.Section"); b.HasDiscriminator().HasValue("PDF"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionPuzzle", b => { b.HasBaseType("ManagerService.Data.Section"); b.Property("Cols") .HasColumnType("integer"); b.Property("ContentId") .HasColumnType("text"); b.Property("ContentId1") .HasColumnType("integer"); b.Property>("MessageDebut") .IsRequired() .HasColumnType("jsonb"); b.Property>("MessageFin") .IsRequired() .HasColumnType("jsonb"); b.Property("Rows") .HasColumnType("integer"); b.HasIndex("ContentId1"); b.HasDiscriminator().HasValue("Puzzle"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionQuiz", b => { b.HasBaseType("ManagerService.Data.Section"); b.Property>("BadLevel") .IsRequired() .HasColumnType("jsonb"); b.Property>("GoodLevel") .IsRequired() .HasColumnType("jsonb"); b.Property>("GreatLevel") .IsRequired() .HasColumnType("jsonb"); b.Property>("MediumLevel") .IsRequired() .HasColumnType("jsonb"); b.HasDiscriminator().HasValue("Quiz"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionSlider", b => { b.HasBaseType("ManagerService.Data.Section"); b.HasDiscriminator().HasValue("Slider"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionVideo", b => { b.HasBaseType("ManagerService.Data.Section"); b.Property("Source") .IsRequired() .HasColumnType("text"); b.HasDiscriminator().HasValue("Video"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionWeather", b => { b.HasBaseType("ManagerService.Data.Section"); b.Property("City") .HasColumnType("text"); b.Property("Result") .HasColumnType("text"); b.Property("UpdatedDate") .HasColumnType("timestamp with time zone"); b.HasDiscriminator().HasValue("Weather"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionWeb", b => { b.HasBaseType("ManagerService.Data.Section"); b.Property("Source") .IsRequired() .HasColumnType("text"); b.ToTable("Sections", t => { t.Property("Source") .HasColumnName("SectionWeb_Source"); }); b.HasDiscriminator().HasValue("Web"); }); modelBuilder.Entity("ManagerService.Data.Section", b => { b.HasOne("ManagerService.Data.SubSection.SectionMenu", null) .WithMany("Sections") .HasForeignKey("SectionMenuId"); }); modelBuilder.Entity("ManagerService.Data.SubSection.Categorie", b => { b.HasOne("ManagerService.Data.Resource", "Resource") .WithMany() .HasForeignKey("ResourceId"); b.HasOne("ManagerService.Data.SubSection.SectionMap", null) .WithMany("Categories") .HasForeignKey("SectionMapId"); b.Navigation("Resource"); }); modelBuilder.Entity("ManagerService.Data.SubSection.Content", b => { b.HasOne("ManagerService.Data.Resource", "Resource") .WithMany() .HasForeignKey("ResourceId"); b.HasOne("ManagerService.Data.SubSection.SectionArticle", null) .WithMany("contents") .HasForeignKey("SectionArticleId"); b.HasOne("ManagerService.Data.SubSection.SectionSlider", null) .WithMany("Contents") .HasForeignKey("SectionSliderId"); b.Navigation("Resource"); }); modelBuilder.Entity("ManagerService.Data.SubSection.GeoPoint", b => { b.HasOne("ManagerService.Data.SubSection.SectionMap", null) .WithMany("Points") .HasForeignKey("SectionMapId"); }); modelBuilder.Entity("ManagerService.Data.SubSection.OrderedTranslationAndResource", b => { b.HasOne("ManagerService.Data.SubSection.SectionPdf", null) .WithMany("orderedTranslationAndResources") .HasForeignKey("SectionPdfId"); }); modelBuilder.Entity("ManagerService.Data.SubSection.QuizQuestion", b => { b.HasOne("ManagerService.Data.Resource", "Resource") .WithMany() .HasForeignKey("ResourceId"); b.HasOne("ManagerService.Data.SubSection.SectionQuiz", null) .WithMany("Questions") .HasForeignKey("SectionQuizId"); b.Navigation("Resource"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionMap", b => { b.HasOne("ManagerService.Data.Resource", "Resource") .WithMany() .HasForeignKey("ResourceId"); b.Navigation("Resource"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionPuzzle", b => { b.HasOne("ManagerService.Data.SubSection.Content", "Content") .WithMany() .HasForeignKey("ContentId1"); b.Navigation("Content"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionArticle", b => { b.Navigation("contents"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionMap", b => { b.Navigation("Categories"); b.Navigation("Points"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionMenu", b => { b.Navigation("Sections"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionPdf", b => { b.Navigation("orderedTranslationAndResources"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionQuiz", b => { b.Navigation("Questions"); }); modelBuilder.Entity("ManagerService.Data.SubSection.SectionSlider", b => { b.Navigation("Contents"); }); #pragma warning restore 612, 618 } } }