//
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.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
#nullable disable
namespace ManagerService.Migrations
{
[DbContext(typeof(MyInfoMateDbContext))]
partial class MyInfoMateDbContextModelSnapshot : ModelSnapshot
{
protected override void BuildModel(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("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.HasIndex("ConfigurationId");
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("text");
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.Device", b =>
{
b.HasOne("ManagerService.Data.Configuration", "Configuration")
.WithMany()
.HasForeignKey("ConfigurationId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
b.Navigation("Configuration");
});
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
}
}
}