diff --git a/ManagerService/DTOs/InstanceDTO.cs b/ManagerService/DTOs/InstanceDTO.cs
index 889b205..f0578f5 100644
--- a/ManagerService/DTOs/InstanceDTO.cs
+++ b/ManagerService/DTOs/InstanceDTO.cs
@@ -12,6 +12,7 @@ namespace ManagerService.DTOs
public bool isStatistic { get; set; }
public bool isMobile { get; set; }
public bool isTablet { get; set; }
+ public bool isWeb { get; set; }
public bool isVR { get; set; }
}
}
diff --git a/ManagerService/Data/Instance.cs b/ManagerService/Data/Instance.cs
index 5c69869..d13cf46 100644
--- a/ManagerService/Data/Instance.cs
+++ b/ManagerService/Data/Instance.cs
@@ -28,6 +28,8 @@ namespace ManagerService.Data
public bool IsTablet { get; set; }
+ public bool IsWeb { get; set; }
+
public bool IsVR { get; set; }
@@ -43,6 +45,7 @@ namespace ManagerService.Data
isStatistic = IsStatistic,
isMobile = IsMobile,
isTablet = IsTablet,
+ isWeb = IsWeb,
isVR = IsVR,
};
}
@@ -56,6 +59,7 @@ namespace ManagerService.Data
IsStatistic = instanceDTO.isStatistic;
IsMobile = instanceDTO.isMobile;
IsTablet = instanceDTO.isTablet;
+ IsWeb = instanceDTO.isWeb;
IsVR = instanceDTO.isVR;
return this;
}
diff --git a/ManagerService/Migrations/20250801132952_AddedIsWebtoInstance.Designer.cs b/ManagerService/Migrations/20250801132952_AddedIsWebtoInstance.Designer.cs
new file mode 100644
index 0000000..911f2be
--- /dev/null
+++ b/ManagerService/Migrations/20250801132952_AddedIsWebtoInstance.Designer.cs
@@ -0,0 +1,1205 @@
+//
+using System;
+using System.Collections.Generic;
+using Manager.DTOs;
+using ManagerService.DTOs;
+using ManagerService.Data;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using NetTopologySuite.Geometries;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace ManagerService.Migrations
+{
+ [DbContext(typeof(MyInfoMateDbContext))]
+ [Migration("20250801132952_AddedIsWebtoInstance")]
+ partial class AddedIsWebtoInstance
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "9.0.2")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.HasPostgresExtension(modelBuilder, "postgis");
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("ManagerService.Data.AppConfigurationLink", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property("ApplicationInstanceId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("ConfigurationId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("IsActive")
+ .HasColumnType("boolean");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("WeightMasonryGrid")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ApplicationInstanceId");
+
+ b.HasIndex("ConfigurationId");
+
+ b.ToTable("AppConfigurationLinks");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.ApplicationInstance", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property("AppType")
+ .HasColumnType("integer");
+
+ b.Property("InstanceId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("IsDate")
+ .HasColumnType("boolean");
+
+ b.Property("IsHour")
+ .HasColumnType("boolean");
+
+ b.Property("IsSectionImageBackground")
+ .HasColumnType("boolean");
+
+ b.PrimitiveCollection>("Languages")
+ .HasColumnType("text[]");
+
+ b.Property("LayoutMainPage")
+ .HasColumnType("integer");
+
+ b.Property("LoaderImageId")
+ .HasColumnType("text");
+
+ b.Property("LoaderImageUrl")
+ .HasColumnType("text");
+
+ b.Property("MainImageId")
+ .HasColumnType("text");
+
+ b.Property("MainImageUrl")
+ .HasColumnType("text");
+
+ b.Property("PrimaryColor")
+ .HasColumnType("text");
+
+ b.Property("RoundedValue")
+ .HasColumnType("integer");
+
+ b.Property("ScreenPercentageSectionsMainPage")
+ .HasColumnType("integer");
+
+ b.Property("SecondaryColor")
+ .HasColumnType("text");
+
+ b.Property("SectionEventId")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SectionEventId");
+
+ b.ToTable("ApplicationInstances");
+ });
+
+ 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("IsOffline")
+ .HasColumnType("boolean");
+
+ b.Property("IsQRCode")
+ .HasColumnType("boolean");
+
+ b.Property("IsSearchNumber")
+ .HasColumnType("boolean");
+
+ b.Property("IsSearchText")
+ .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("SecondaryColor")
+ .HasColumnType("text");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ 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")
+ .HasColumnType("text");
+
+ b.Property("IpAddressWLAN")
+ .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("IsMobile")
+ .HasColumnType("boolean");
+
+ b.Property("IsPushNotification")
+ .HasColumnType("boolean");
+
+ b.Property("IsStatistic")
+ .HasColumnType("boolean");
+
+ b.Property("IsTablet")
+ .HasColumnType("boolean");
+
+ b.Property("IsVR")
+ .HasColumnType("boolean");
+
+ b.Property("IsWeb")
+ .HasColumnType("boolean");
+
+ 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(13)
+ .HasColumnType("character varying(13)");
+
+ b.Property("ImageId")
+ .HasColumnType("text");
+
+ b.Property("ImageSource")
+ .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.Property("isActive")
+ .HasColumnType("boolean");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SectionMenuId");
+
+ b.ToTable("Sections");
+
+ b.HasDiscriminator().HasValue("Base");
+
+ b.UseTphMappingStrategy();
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.EventAgenda", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Address")
+ .HasColumnType("jsonb");
+
+ b.Property("DateAdded")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DateFrom")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DateTo")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Description")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("Email")
+ .HasColumnType("text");
+
+ b.Property("Label")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("Phone")
+ .HasColumnType("text");
+
+ b.Property("ResourceId")
+ .HasColumnType("text");
+
+ b.Property("SectionAgendaId")
+ .HasColumnType("text");
+
+ b.Property("SectionEventId")
+ .HasColumnType("text");
+
+ b.Property("Type")
+ .HasColumnType("text");
+
+ b.Property("Website")
+ .HasColumnType("text");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ResourceId");
+
+ b.HasIndex("SectionAgendaId");
+
+ b.HasIndex("SectionEventId");
+
+ b.ToTable("EventAgendas");
+ });
+
+ 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("Geometry")
+ .HasColumnType("geometry");
+
+ b.Property("ImageResourceId")
+ .HasColumnType("text");
+
+ b.Property("ImageUrl")
+ .HasColumnType("text");
+
+ b.Property("Phone")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("PolyColor")
+ .HasColumnType("text");
+
+ b.Property("Prices")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("Schedules")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("SectionEventId")
+ .HasColumnType("text");
+
+ b.Property("SectionMapId")
+ .HasColumnType("text");
+
+ b.Property("Site")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SectionEventId");
+
+ b.HasIndex("SectionMapId");
+
+ b.ToTable("GeoPoints");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.GuidedPath", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property("Description")
+ .HasColumnType("jsonb");
+
+ b.Property("HideNextStepsUntilComplete")
+ .HasColumnType("boolean");
+
+ b.Property("InstanceId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("IsLinear")
+ .HasColumnType("boolean");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("RequireSuccessToAdvance")
+ .HasColumnType("boolean");
+
+ b.Property("SectionEventId")
+ .HasColumnType("text");
+
+ b.Property("SectionMapId")
+ .HasColumnType("text");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SectionEventId");
+
+ b.HasIndex("SectionMapId");
+
+ b.ToTable("GuidedPaths");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.GuidedStep", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property("Description")
+ .HasColumnType("jsonb");
+
+ b.Property("Geometry")
+ .HasColumnType("geometry");
+
+ b.Property("GuidedPathId")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("ImageUrl")
+ .HasColumnType("text");
+
+ b.Property("IsHiddenInitially")
+ .HasColumnType("boolean");
+
+ b.Property("IsStepLocked")
+ .HasColumnType("boolean");
+
+ b.Property("IsStepTimer")
+ .HasColumnType("boolean");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("TimerExpiredMessage")
+ .HasColumnType("jsonb");
+
+ b.Property("TimerSeconds")
+ .HasColumnType("integer");
+
+ b.Property("Title")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("TriggerGeoPointId")
+ .HasColumnType("integer");
+
+ b.Property("ZoneRadiusMeters")
+ .HasColumnType("double precision");
+
+ b.HasKey("Id");
+
+ b.HasIndex("GuidedPathId");
+
+ b.HasIndex("TriggerGeoPointId");
+
+ b.ToTable("GuidedSteps");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.QuizQuestion", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("GuidedStepId")
+ .HasColumnType("text");
+
+ b.Property("IsSlidingPuzzle")
+ .HasColumnType("boolean");
+
+ b.Property>("Label")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("Order")
+ .HasColumnType("integer");
+
+ b.Property("PuzzleCols")
+ .HasColumnType("integer");
+
+ b.Property("PuzzleImageId")
+ .HasColumnType("text");
+
+ b.Property("PuzzleRows")
+ .HasColumnType("integer");
+
+ b.Property("ResourceId")
+ .HasColumnType("text");
+
+ b.Property>("Responses")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("SectionQuizId")
+ .HasColumnType("text");
+
+ b.Property("ValidationQuestionType")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("GuidedStepId");
+
+ b.HasIndex("PuzzleImageId");
+
+ b.HasIndex("ResourceId");
+
+ b.HasIndex("SectionQuizId");
+
+ b.ToTable("QuizQuestions");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionEvent+MapAnnotation", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property("Geometry")
+ .HasColumnType("geometry");
+
+ b.Property("GeometryType")
+ .HasColumnType("integer");
+
+ b.Property("Icon")
+ .HasColumnType("text");
+
+ b.Property("IconResourceId")
+ .HasColumnType("text");
+
+ b.Property>("Label")
+ .HasColumnType("jsonb");
+
+ b.Property("PolyColor")
+ .HasColumnType("text");
+
+ b.Property("ProgrammeBlockId")
+ .HasColumnType("text");
+
+ b.Property>("Type")
+ .HasColumnType("jsonb");
+
+ b.HasKey("Id");
+
+ b.HasIndex("IconResourceId");
+
+ b.HasIndex("ProgrammeBlockId");
+
+ b.ToTable("MapAnnotations");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionEvent+ProgrammeBlock", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("text");
+
+ b.Property>("Description")
+ .HasColumnType("jsonb");
+
+ b.Property("EndTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("SectionEventId")
+ .HasColumnType("text");
+
+ b.Property("StartTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property>("Title")
+ .HasColumnType("jsonb");
+
+ b.HasKey("Id");
+
+ b.HasIndex("SectionEventId");
+
+ b.ToTable("ProgrammeBlocks");
+ });
+
+ 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("AgendaMapProvider")
+ .HasColumnType("integer");
+
+ b.Property>("AgendaResourceIds")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("IsOnlineAgenda")
+ .HasColumnType("boolean");
+
+ b.HasDiscriminator().HasValue("Agenda");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionArticle", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property>("ArticleAudioIds")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property>("ArticleContent")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property>("ArticleContents")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("ArticleIsContentTop")
+ .HasColumnType("boolean");
+
+ b.Property("ArticleIsReadAudioAuto")
+ .HasColumnType("boolean");
+
+ b.HasDiscriminator().HasValue("Article");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionEvent", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property("EndDate")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property>("ParcoursIds")
+ .HasColumnType("jsonb");
+
+ b.Property("StartDate")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasDiscriminator().HasValue("SectionEvent");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionMap", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property>("MapCategories")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("MapCenterLatitude")
+ .HasColumnType("text");
+
+ b.Property("MapCenterLongitude")
+ .HasColumnType("text");
+
+ b.Property("MapMapProvider")
+ .HasColumnType("integer");
+
+ b.Property("MapMapType")
+ .HasColumnType("integer");
+
+ b.Property("MapResourceId")
+ .HasColumnType("text");
+
+ b.Property("MapTypeMapbox")
+ .HasColumnType("integer");
+
+ b.Property("MapZoom")
+ .HasColumnType("integer");
+
+ b.HasIndex("MapResourceId");
+
+ 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.Property>("PDFOrderedTranslationAndResources")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.HasDiscriminator().HasValue("PDF");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionPuzzle", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property("IsSlidingPuzzle")
+ .HasColumnType("boolean");
+
+ b.Property("PuzzleCols")
+ .HasColumnType("integer");
+
+ b.Property("PuzzleImageId")
+ .HasColumnType("text");
+
+ b.Property>("PuzzleMessageDebut")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property>("PuzzleMessageFin")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property("PuzzleRows")
+ .HasColumnType("integer");
+
+ b.HasIndex("PuzzleImageId");
+
+ b.HasDiscriminator().HasValue("Puzzle");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionQuiz", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property>("QuizBadLevel")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property>("QuizGoodLevel")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property>("QuizGreatLevel")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.Property>("QuizMediumLevel")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.HasDiscriminator().HasValue("Quiz");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionSlider", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property>("SliderContents")
+ .IsRequired()
+ .HasColumnType("jsonb");
+
+ b.HasDiscriminator().HasValue("Slider");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionVideo", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property("VideoSource")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasDiscriminator().HasValue("Video");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionWeather", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property("WeatherCity")
+ .HasColumnType("text");
+
+ b.Property("WeatherResult")
+ .HasColumnType("text");
+
+ b.Property("WeatherUpdatedDate")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasDiscriminator().HasValue("Weather");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionWeb", b =>
+ {
+ b.HasBaseType("ManagerService.Data.Section");
+
+ b.Property("WebSource")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.HasDiscriminator().HasValue("Web");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.AppConfigurationLink", b =>
+ {
+ b.HasOne("ManagerService.Data.ApplicationInstance", "ApplicationInstance")
+ .WithMany("Configurations")
+ .HasForeignKey("ApplicationInstanceId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("ManagerService.Data.Configuration", "Configuration")
+ .WithMany()
+ .HasForeignKey("ConfigurationId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("ApplicationInstance");
+
+ b.Navigation("Configuration");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.ApplicationInstance", b =>
+ {
+ b.HasOne("ManagerService.Data.SubSection.SectionEvent", "SectionEvent")
+ .WithMany()
+ .HasForeignKey("SectionEventId");
+
+ b.Navigation("SectionEvent");
+ });
+
+ 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("MenuSections")
+ .HasForeignKey("SectionMenuId");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.EventAgenda", b =>
+ {
+ b.HasOne("ManagerService.Data.Resource", "Resource")
+ .WithMany()
+ .HasForeignKey("ResourceId");
+
+ b.HasOne("ManagerService.Data.SubSection.SectionAgenda", "SectionAgenda")
+ .WithMany("EventAgendas")
+ .HasForeignKey("SectionAgendaId");
+
+ b.HasOne("ManagerService.Data.SubSection.SectionEvent", "SectionEvent")
+ .WithMany()
+ .HasForeignKey("SectionEventId");
+
+ b.Navigation("Resource");
+
+ b.Navigation("SectionAgenda");
+
+ b.Navigation("SectionEvent");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.GeoPoint", b =>
+ {
+ b.HasOne("ManagerService.Data.SubSection.SectionEvent", "SectionEvent")
+ .WithMany()
+ .HasForeignKey("SectionEventId");
+
+ b.HasOne("ManagerService.Data.SubSection.SectionMap", "SectionMap")
+ .WithMany("MapPoints")
+ .HasForeignKey("SectionMapId");
+
+ b.Navigation("SectionEvent");
+
+ b.Navigation("SectionMap");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.GuidedPath", b =>
+ {
+ b.HasOne("ManagerService.Data.SubSection.SectionEvent", "SectionEvent")
+ .WithMany()
+ .HasForeignKey("SectionEventId");
+
+ b.HasOne("ManagerService.Data.SubSection.SectionMap", "SectionMap")
+ .WithMany()
+ .HasForeignKey("SectionMapId");
+
+ b.Navigation("SectionEvent");
+
+ b.Navigation("SectionMap");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.GuidedStep", b =>
+ {
+ b.HasOne("ManagerService.Data.SubSection.GuidedPath", "GuidedPath")
+ .WithMany("Steps")
+ .HasForeignKey("GuidedPathId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("ManagerService.Data.SubSection.GeoPoint", "TriggerGeoPoint")
+ .WithMany()
+ .HasForeignKey("TriggerGeoPointId");
+
+ b.Navigation("GuidedPath");
+
+ b.Navigation("TriggerGeoPoint");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.QuizQuestion", b =>
+ {
+ b.HasOne("ManagerService.Data.SubSection.GuidedStep", "GuidedStep")
+ .WithMany("QuizQuestions")
+ .HasForeignKey("GuidedStepId");
+
+ b.HasOne("ManagerService.Data.Resource", "PuzzleImage")
+ .WithMany()
+ .HasForeignKey("PuzzleImageId");
+
+ b.HasOne("ManagerService.Data.Resource", "Resource")
+ .WithMany()
+ .HasForeignKey("ResourceId");
+
+ b.HasOne("ManagerService.Data.SubSection.SectionQuiz", "SectionQuiz")
+ .WithMany("QuizQuestions")
+ .HasForeignKey("SectionQuizId");
+
+ b.Navigation("GuidedStep");
+
+ b.Navigation("PuzzleImage");
+
+ b.Navigation("Resource");
+
+ b.Navigation("SectionQuiz");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionEvent+MapAnnotation", b =>
+ {
+ b.HasOne("ManagerService.Data.Resource", "IconResource")
+ .WithMany()
+ .HasForeignKey("IconResourceId");
+
+ b.HasOne("ManagerService.Data.SubSection.SectionEvent+ProgrammeBlock", null)
+ .WithMany("MapAnnotations")
+ .HasForeignKey("ProgrammeBlockId");
+
+ b.Navigation("IconResource");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionEvent+ProgrammeBlock", b =>
+ {
+ b.HasOne("ManagerService.Data.SubSection.SectionEvent", null)
+ .WithMany("Programme")
+ .HasForeignKey("SectionEventId");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionMap", b =>
+ {
+ b.HasOne("ManagerService.Data.Resource", "MapResource")
+ .WithMany()
+ .HasForeignKey("MapResourceId");
+
+ b.Navigation("MapResource");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionPuzzle", b =>
+ {
+ b.HasOne("ManagerService.Data.Resource", "PuzzleImage")
+ .WithMany()
+ .HasForeignKey("PuzzleImageId");
+
+ b.Navigation("PuzzleImage");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.ApplicationInstance", b =>
+ {
+ b.Navigation("Configurations");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.GuidedPath", b =>
+ {
+ b.Navigation("Steps");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.GuidedStep", b =>
+ {
+ b.Navigation("QuizQuestions");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionEvent+ProgrammeBlock", b =>
+ {
+ b.Navigation("MapAnnotations");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionAgenda", b =>
+ {
+ b.Navigation("EventAgendas");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionEvent", b =>
+ {
+ b.Navigation("Programme");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionMap", b =>
+ {
+ b.Navigation("MapPoints");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionMenu", b =>
+ {
+ b.Navigation("MenuSections");
+ });
+
+ modelBuilder.Entity("ManagerService.Data.SubSection.SectionQuiz", b =>
+ {
+ b.Navigation("QuizQuestions");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/ManagerService/Migrations/20250801132952_AddedIsWebtoInstance.cs b/ManagerService/Migrations/20250801132952_AddedIsWebtoInstance.cs
new file mode 100644
index 0000000..c1eb864
--- /dev/null
+++ b/ManagerService/Migrations/20250801132952_AddedIsWebtoInstance.cs
@@ -0,0 +1,119 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace ManagerService.Migrations
+{
+ ///
+ public partial class AddedIsWebtoInstance : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropForeignKey(
+ name: "FK_MapAnnotation_ProgrammeBlocks_ProgrammeBlockId",
+ table: "MapAnnotation");
+
+ migrationBuilder.DropForeignKey(
+ name: "FK_MapAnnotation_Resources_IconResourceId",
+ table: "MapAnnotation");
+
+ migrationBuilder.DropPrimaryKey(
+ name: "PK_MapAnnotation",
+ table: "MapAnnotation");
+
+ migrationBuilder.RenameTable(
+ name: "MapAnnotation",
+ newName: "MapAnnotations");
+
+ migrationBuilder.RenameIndex(
+ name: "IX_MapAnnotation_ProgrammeBlockId",
+ table: "MapAnnotations",
+ newName: "IX_MapAnnotations_ProgrammeBlockId");
+
+ migrationBuilder.RenameIndex(
+ name: "IX_MapAnnotation_IconResourceId",
+ table: "MapAnnotations",
+ newName: "IX_MapAnnotations_IconResourceId");
+
+ migrationBuilder.AddColumn(
+ name: "IsWeb",
+ table: "Instances",
+ type: "boolean",
+ nullable: false,
+ defaultValue: false);
+
+ migrationBuilder.AddPrimaryKey(
+ name: "PK_MapAnnotations",
+ table: "MapAnnotations",
+ column: "Id");
+
+ migrationBuilder.AddForeignKey(
+ name: "FK_MapAnnotations_ProgrammeBlocks_ProgrammeBlockId",
+ table: "MapAnnotations",
+ column: "ProgrammeBlockId",
+ principalTable: "ProgrammeBlocks",
+ principalColumn: "Id");
+
+ migrationBuilder.AddForeignKey(
+ name: "FK_MapAnnotations_Resources_IconResourceId",
+ table: "MapAnnotations",
+ column: "IconResourceId",
+ principalTable: "Resources",
+ principalColumn: "Id");
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropForeignKey(
+ name: "FK_MapAnnotations_ProgrammeBlocks_ProgrammeBlockId",
+ table: "MapAnnotations");
+
+ migrationBuilder.DropForeignKey(
+ name: "FK_MapAnnotations_Resources_IconResourceId",
+ table: "MapAnnotations");
+
+ migrationBuilder.DropPrimaryKey(
+ name: "PK_MapAnnotations",
+ table: "MapAnnotations");
+
+ migrationBuilder.DropColumn(
+ name: "IsWeb",
+ table: "Instances");
+
+ migrationBuilder.RenameTable(
+ name: "MapAnnotations",
+ newName: "MapAnnotation");
+
+ migrationBuilder.RenameIndex(
+ name: "IX_MapAnnotations_ProgrammeBlockId",
+ table: "MapAnnotation",
+ newName: "IX_MapAnnotation_ProgrammeBlockId");
+
+ migrationBuilder.RenameIndex(
+ name: "IX_MapAnnotations_IconResourceId",
+ table: "MapAnnotation",
+ newName: "IX_MapAnnotation_IconResourceId");
+
+ migrationBuilder.AddPrimaryKey(
+ name: "PK_MapAnnotation",
+ table: "MapAnnotation",
+ column: "Id");
+
+ migrationBuilder.AddForeignKey(
+ name: "FK_MapAnnotation_ProgrammeBlocks_ProgrammeBlockId",
+ table: "MapAnnotation",
+ column: "ProgrammeBlockId",
+ principalTable: "ProgrammeBlocks",
+ principalColumn: "Id");
+
+ migrationBuilder.AddForeignKey(
+ name: "FK_MapAnnotation_Resources_IconResourceId",
+ table: "MapAnnotation",
+ column: "IconResourceId",
+ principalTable: "Resources",
+ principalColumn: "Id");
+ }
+ }
+}
diff --git a/ManagerService/Migrations/MyInfoMateDbContextModelSnapshot.cs b/ManagerService/Migrations/MyInfoMateDbContextModelSnapshot.cs
index c6181fb..7c1607e 100644
--- a/ManagerService/Migrations/MyInfoMateDbContextModelSnapshot.cs
+++ b/ManagerService/Migrations/MyInfoMateDbContextModelSnapshot.cs
@@ -253,6 +253,9 @@ namespace ManagerService.Migrations
b.Property("IsVR")
.HasColumnType("boolean");
+ b.Property("IsWeb")
+ .HasColumnType("boolean");
+
b.Property("Name")
.IsRequired()
.HasColumnType("text");
@@ -693,7 +696,7 @@ namespace ManagerService.Migrations
b.HasIndex("ProgrammeBlockId");
- b.ToTable("MapAnnotation");
+ b.ToTable("MapAnnotations");
});
modelBuilder.Entity("ManagerService.Data.SubSection.SectionEvent+ProgrammeBlock", b =>
diff --git a/ManagerService/Startup.cs b/ManagerService/Startup.cs
index 7a3d473..00ea28a 100644
--- a/ManagerService/Startup.cs
+++ b/ManagerService/Startup.cs
@@ -188,7 +188,7 @@ namespace ManagerService
app.UseCors(
#if DEBUG
options => options
- .SetIsOriginAllowed(origin => string.IsNullOrEmpty(origin) || origin == "http://localhost:52444")
+ .SetIsOriginAllowed(origin => string.IsNullOrEmpty(origin) || origin == "http://localhost:53264")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials()