aboutsummaryrefslogtreecommitdiff
path: root/Migrations
diff options
context:
space:
mode:
Diffstat (limited to 'Migrations')
-rw-r--r--Migrations/20230806022522_MapType.Designer.cs162
-rw-r--r--Migrations/20230806022522_MapType.cs51
-rw-r--r--Migrations/20230806155332_PagedServices.Designer.cs167
-rw-r--r--Migrations/20230806155332_PagedServices.cs30
-rw-r--r--Migrations/20230807001127_IndexPageDestination.Designer.cs169
-rw-r--r--Migrations/20230807001127_IndexPageDestination.cs27
-rw-r--r--Migrations/20241011050136_v0.4-rc1.Designer.cs222
-rw-r--r--Migrations/20241011050136_v0.4-rc1.cs67
-rw-r--r--Migrations/PagerContextModelSnapshot.cs69
9 files changed, 961 insertions, 3 deletions
diff --git a/Migrations/20230806022522_MapType.Designer.cs b/Migrations/20230806022522_MapType.Designer.cs
new file mode 100644
index 0000000..bb6bb95
--- /dev/null
+++ b/Migrations/20230806022522_MapType.Designer.cs
@@ -0,0 +1,162 @@
+// <auto-generated />
+using System;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using PagerParser;
+
+#nullable disable
+
+namespace PagerParser.Migrations
+{
+ [DbContext(typeof(PagerContext))]
+ [Migration("20230806022522_MapType")]
+ partial class MapType
+ {
+ /// <inheritdoc />
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.8")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("PagerParser.GpsPosition", b =>
+ {
+ b.Property<int>("GpsPositionId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("GpsPositionId"));
+
+ b.Property<double>("Latitude")
+ .HasColumnType("double precision");
+
+ b.Property<double>("Longitude")
+ .HasColumnType("double precision");
+
+ b.HasKey("GpsPositionId");
+
+ b.ToTable("GpsPositions");
+ });
+
+ modelBuilder.Entity("PagerParser.PagerMessage", b =>
+ {
+ b.Property<int>("PagerMessageId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("PagerMessageId"));
+
+ b.Property<string>("Message")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<DateTime>("Timestamp")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("PagerMessageId");
+
+ b.HasIndex("Message");
+
+ b.ToTable("PagerMessages");
+ });
+
+ modelBuilder.Entity("PagerParser.ParsedPagerMessage", b =>
+ {
+ b.Property<int>("ParsedPagerMessageId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("ParsedPagerMessageId"));
+
+ b.Property<int>("AlertLevel")
+ .HasColumnType("integer");
+
+ b.Property<string>("AssignmentArea")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int>("AttendingServices")
+ .HasColumnType("integer");
+
+ b.Property<string>("Description")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int?>("FireGroundChannel")
+ .HasColumnType("integer");
+
+ b.Property<int>("FirecomJobNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("GpsPositionId")
+ .HasColumnType("integer");
+
+ b.Property<int?>("GridReference")
+ .HasColumnType("integer");
+
+ b.Property<string>("JobType")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<string>("MapGrid")
+ .HasColumnType("text");
+
+ b.Property<int?>("MapNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("MapType")
+ .HasColumnType("integer");
+
+ b.Property<string>("Note")
+ .HasColumnType("text");
+
+ b.Property<string>("PageDestination")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int>("PagerMessage")
+ .HasColumnType("integer");
+
+ b.HasKey("ParsedPagerMessageId");
+
+ b.HasIndex("FirecomJobNo");
+
+ b.HasIndex("GpsPositionId");
+
+ b.HasIndex("PagerMessage")
+ .IsUnique();
+
+ b.ToTable("ParsedPagerMessages");
+ });
+
+ modelBuilder.Entity("PagerParser.ParsedPagerMessage", b =>
+ {
+ b.HasOne("PagerParser.GpsPosition", "GpsPosition")
+ .WithMany()
+ .HasForeignKey("GpsPositionId");
+
+ b.HasOne("PagerParser.PagerMessage", "OriginalMessage")
+ .WithOne("ParsedMessage")
+ .HasForeignKey("PagerParser.ParsedPagerMessage", "PagerMessage")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("GpsPosition");
+
+ b.Navigation("OriginalMessage");
+ });
+
+ modelBuilder.Entity("PagerParser.PagerMessage", b =>
+ {
+ b.Navigation("ParsedMessage");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Migrations/20230806022522_MapType.cs b/Migrations/20230806022522_MapType.cs
new file mode 100644
index 0000000..062af61
--- /dev/null
+++ b/Migrations/20230806022522_MapType.cs
@@ -0,0 +1,51 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace PagerParser.Migrations
+{
+ /// <inheritdoc />
+ public partial class MapType : Migration
+ {
+ /// <inheritdoc />
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.RenameColumn(
+ name: "MelwaysMapNo",
+ table: "ParsedPagerMessages",
+ newName: "MapType");
+
+ migrationBuilder.RenameColumn(
+ name: "MelwaysGrid",
+ table: "ParsedPagerMessages",
+ newName: "MapGrid");
+
+ migrationBuilder.AddColumn<int>(
+ name: "MapNo",
+ table: "ParsedPagerMessages",
+ type: "integer",
+ nullable: true);
+
+ migrationBuilder.Sql(
+ "UPDATE \"ParsedPagerMessages\" SET \"MapType\" = 1");
+ }
+
+ /// <inheritdoc />
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "MapNo",
+ table: "ParsedPagerMessages");
+
+ migrationBuilder.RenameColumn(
+ name: "MapType",
+ table: "ParsedPagerMessages",
+ newName: "MelwaysMapNo");
+
+ migrationBuilder.RenameColumn(
+ name: "MapGrid",
+ table: "ParsedPagerMessages",
+ newName: "MelwaysGrid");
+ }
+ }
+}
diff --git a/Migrations/20230806155332_PagedServices.Designer.cs b/Migrations/20230806155332_PagedServices.Designer.cs
new file mode 100644
index 0000000..497d670
--- /dev/null
+++ b/Migrations/20230806155332_PagedServices.Designer.cs
@@ -0,0 +1,167 @@
+// <auto-generated />
+using System;
+using System.Collections.Generic;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using PagerParser;
+
+#nullable disable
+
+namespace PagerParser.Migrations
+{
+ [DbContext(typeof(PagerContext))]
+ [Migration("20230806155332_PagedServices")]
+ partial class PagedServices
+ {
+ /// <inheritdoc />
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.8")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("PagerParser.GpsPosition", b =>
+ {
+ b.Property<int>("GpsPositionId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("GpsPositionId"));
+
+ b.Property<double>("Latitude")
+ .HasColumnType("double precision");
+
+ b.Property<double>("Longitude")
+ .HasColumnType("double precision");
+
+ b.HasKey("GpsPositionId");
+
+ b.ToTable("GpsPositions");
+ });
+
+ modelBuilder.Entity("PagerParser.PagerMessage", b =>
+ {
+ b.Property<int>("PagerMessageId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("PagerMessageId"));
+
+ b.Property<string>("Message")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<DateTime>("Timestamp")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("PagerMessageId");
+
+ b.HasIndex("Message");
+
+ b.ToTable("PagerMessages");
+ });
+
+ modelBuilder.Entity("PagerParser.ParsedPagerMessage", b =>
+ {
+ b.Property<int>("ParsedPagerMessageId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("ParsedPagerMessageId"));
+
+ b.Property<int>("AlertLevel")
+ .HasColumnType("integer");
+
+ b.Property<string>("AssignmentArea")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int>("AttendingServices")
+ .HasColumnType("integer");
+
+ b.Property<string>("Description")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int?>("FireGroundChannel")
+ .HasColumnType("integer");
+
+ b.Property<int>("FirecomJobNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("GpsPositionId")
+ .HasColumnType("integer");
+
+ b.Property<int?>("GridReference")
+ .HasColumnType("integer");
+
+ b.Property<string>("JobType")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<string>("MapGrid")
+ .HasColumnType("text");
+
+ b.Property<int?>("MapNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("MapType")
+ .HasColumnType("integer");
+
+ b.Property<string>("Note")
+ .HasColumnType("text");
+
+ b.Property<string>("PageDestination")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<List<string>>("PagedServices")
+ .IsRequired()
+ .HasColumnType("text[]");
+
+ b.Property<int>("PagerMessage")
+ .HasColumnType("integer");
+
+ b.HasKey("ParsedPagerMessageId");
+
+ b.HasIndex("FirecomJobNo");
+
+ b.HasIndex("GpsPositionId");
+
+ b.HasIndex("PagerMessage")
+ .IsUnique();
+
+ b.ToTable("ParsedPagerMessages");
+ });
+
+ modelBuilder.Entity("PagerParser.ParsedPagerMessage", b =>
+ {
+ b.HasOne("PagerParser.GpsPosition", "GpsPosition")
+ .WithMany()
+ .HasForeignKey("GpsPositionId");
+
+ b.HasOne("PagerParser.PagerMessage", "OriginalMessage")
+ .WithOne("ParsedMessage")
+ .HasForeignKey("PagerParser.ParsedPagerMessage", "PagerMessage")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("GpsPosition");
+
+ b.Navigation("OriginalMessage");
+ });
+
+ modelBuilder.Entity("PagerParser.PagerMessage", b =>
+ {
+ b.Navigation("ParsedMessage");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Migrations/20230806155332_PagedServices.cs b/Migrations/20230806155332_PagedServices.cs
new file mode 100644
index 0000000..b58e85b
--- /dev/null
+++ b/Migrations/20230806155332_PagedServices.cs
@@ -0,0 +1,30 @@
+using System.Collections.Generic;
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace PagerParser.Migrations
+{
+ /// <inheritdoc />
+ public partial class PagedServices : Migration
+ {
+ /// <inheritdoc />
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.AddColumn<List<string>>(
+ name: "PagedServices",
+ table: "ParsedPagerMessages",
+ type: "text[]",
+ defaultValue: new List<string>(),
+ nullable: false);
+ }
+
+ /// <inheritdoc />
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropColumn(
+ name: "PagedServices",
+ table: "ParsedPagerMessages");
+ }
+ }
+}
diff --git a/Migrations/20230807001127_IndexPageDestination.Designer.cs b/Migrations/20230807001127_IndexPageDestination.Designer.cs
new file mode 100644
index 0000000..c9b163c
--- /dev/null
+++ b/Migrations/20230807001127_IndexPageDestination.Designer.cs
@@ -0,0 +1,169 @@
+// <auto-generated />
+using System;
+using System.Collections.Generic;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using PagerParser;
+
+#nullable disable
+
+namespace PagerParser.Migrations
+{
+ [DbContext(typeof(PagerContext))]
+ [Migration("20230807001127_IndexPageDestination")]
+ partial class IndexPageDestination
+ {
+ /// <inheritdoc />
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "7.0.8")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("PagerParser.GpsPosition", b =>
+ {
+ b.Property<int>("GpsPositionId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("GpsPositionId"));
+
+ b.Property<double>("Latitude")
+ .HasColumnType("double precision");
+
+ b.Property<double>("Longitude")
+ .HasColumnType("double precision");
+
+ b.HasKey("GpsPositionId");
+
+ b.ToTable("GpsPositions");
+ });
+
+ modelBuilder.Entity("PagerParser.PagerMessage", b =>
+ {
+ b.Property<int>("PagerMessageId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("PagerMessageId"));
+
+ b.Property<string>("Message")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<DateTime>("Timestamp")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("PagerMessageId");
+
+ b.HasIndex("Message");
+
+ b.ToTable("PagerMessages");
+ });
+
+ modelBuilder.Entity("PagerParser.ParsedPagerMessage", b =>
+ {
+ b.Property<int>("ParsedPagerMessageId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("ParsedPagerMessageId"));
+
+ b.Property<int>("AlertLevel")
+ .HasColumnType("integer");
+
+ b.Property<string>("AssignmentArea")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int>("AttendingServices")
+ .HasColumnType("integer");
+
+ b.Property<string>("Description")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int?>("FireGroundChannel")
+ .HasColumnType("integer");
+
+ b.Property<int>("FirecomJobNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("GpsPositionId")
+ .HasColumnType("integer");
+
+ b.Property<int?>("GridReference")
+ .HasColumnType("integer");
+
+ b.Property<string>("JobType")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<string>("MapGrid")
+ .HasColumnType("text");
+
+ b.Property<int?>("MapNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("MapType")
+ .HasColumnType("integer");
+
+ b.Property<string>("Note")
+ .HasColumnType("text");
+
+ b.Property<string>("PageDestination")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<List<string>>("PagedServices")
+ .IsRequired()
+ .HasColumnType("text[]");
+
+ b.Property<int>("PagerMessage")
+ .HasColumnType("integer");
+
+ b.HasKey("ParsedPagerMessageId");
+
+ b.HasIndex("FirecomJobNo");
+
+ b.HasIndex("GpsPositionId");
+
+ b.HasIndex("PageDestination");
+
+ b.HasIndex("PagerMessage")
+ .IsUnique();
+
+ b.ToTable("ParsedPagerMessages");
+ });
+
+ modelBuilder.Entity("PagerParser.ParsedPagerMessage", b =>
+ {
+ b.HasOne("PagerParser.GpsPosition", "GpsPosition")
+ .WithMany()
+ .HasForeignKey("GpsPositionId");
+
+ b.HasOne("PagerParser.PagerMessage", "OriginalMessage")
+ .WithOne("ParsedMessage")
+ .HasForeignKey("PagerParser.ParsedPagerMessage", "PagerMessage")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("GpsPosition");
+
+ b.Navigation("OriginalMessage");
+ });
+
+ modelBuilder.Entity("PagerParser.PagerMessage", b =>
+ {
+ b.Navigation("ParsedMessage");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Migrations/20230807001127_IndexPageDestination.cs b/Migrations/20230807001127_IndexPageDestination.cs
new file mode 100644
index 0000000..0564a5f
--- /dev/null
+++ b/Migrations/20230807001127_IndexPageDestination.cs
@@ -0,0 +1,27 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+namespace PagerParser.Migrations
+{
+ /// <inheritdoc />
+ public partial class IndexPageDestination : Migration
+ {
+ /// <inheritdoc />
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateIndex(
+ name: "IX_ParsedPagerMessages_PageDestination",
+ table: "ParsedPagerMessages",
+ column: "PageDestination");
+ }
+
+ /// <inheritdoc />
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropIndex(
+ name: "IX_ParsedPagerMessages_PageDestination",
+ table: "ParsedPagerMessages");
+ }
+ }
+}
diff --git a/Migrations/20241011050136_v0.4-rc1.Designer.cs b/Migrations/20241011050136_v0.4-rc1.Designer.cs
new file mode 100644
index 0000000..8c427ed
--- /dev/null
+++ b/Migrations/20241011050136_v0.4-rc1.Designer.cs
@@ -0,0 +1,222 @@
+// <auto-generated />
+using System;
+using System.Collections.Generic;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+using PagerParser;
+
+#nullable disable
+
+namespace PagerParser.Migrations
+{
+ [DbContext(typeof(PagerContext))]
+ [Migration("20241011050136_v0.4-rc1")]
+ partial class v04rc1
+ {
+ /// <inheritdoc />
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "8.0.8")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("PagerParser.GpsPosition", b =>
+ {
+ b.Property<int>("GpsPositionId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("GpsPositionId"));
+
+ b.Property<double>("Latitude")
+ .HasColumnType("double precision");
+
+ b.Property<double>("Longitude")
+ .HasColumnType("double precision");
+
+ b.HasKey("GpsPositionId");
+
+ b.ToTable("GpsPositions");
+ });
+
+ modelBuilder.Entity("PagerParser.Handlers.DiscordAlertChannel", b =>
+ {
+ b.Property<int>("DiscordAlertChannelId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("DiscordAlertChannelId"));
+
+ b.Property<decimal>("ChannelId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property<decimal>("GuildId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property<bool>("RequireMention")
+ .HasColumnType("boolean");
+
+ b.HasKey("DiscordAlertChannelId");
+
+ b.HasIndex("GuildId")
+ .IsUnique();
+
+ b.ToTable("DiscordAlertChannels");
+ });
+
+ modelBuilder.Entity("PagerParser.Handlers.DiscordAlertSubscription", b =>
+ {
+ b.Property<int>("DiscordAlertSubscriptionId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("DiscordAlertSubscriptionId"));
+
+ b.Property<decimal>("GuildId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property<string>("PageDestination")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<decimal>("PrincipalId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property<int>("PrincipalType")
+ .HasColumnType("integer");
+
+ b.HasKey("DiscordAlertSubscriptionId");
+
+ b.HasIndex("GuildId");
+
+ b.ToTable("DiscordAlertSubscriptions");
+ });
+
+ modelBuilder.Entity("PagerParser.PagerMessage", b =>
+ {
+ b.Property<int>("PagerMessageId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("PagerMessageId"));
+
+ b.Property<string>("Message")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<DateTime>("Timestamp")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("PagerMessageId");
+
+ b.HasIndex("Message");
+
+ b.ToTable("PagerMessages");
+ });
+
+ modelBuilder.Entity("PagerParser.ParsedPagerMessage", b =>
+ {
+ b.Property<int>("ParsedPagerMessageId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("ParsedPagerMessageId"));
+
+ b.Property<int>("AlertLevel")
+ .HasColumnType("integer");
+
+ b.Property<string>("AssignmentArea")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int>("AttendingServices")
+ .HasColumnType("integer");
+
+ b.Property<string>("Description")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<int?>("FireGroundChannel")
+ .HasColumnType("integer");
+
+ b.Property<int>("FirecomJobNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("GpsPositionId")
+ .HasColumnType("integer");
+
+ b.Property<int?>("GridReference")
+ .HasColumnType("integer");
+
+ b.Property<string>("JobType")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<string>("MapGrid")
+ .HasColumnType("text");
+
+ b.Property<int?>("MapNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("MapType")
+ .HasColumnType("integer");
+
+ b.Property<string>("Note")
+ .HasColumnType("text");
+
+ b.Property<string>("PageDestination")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<List<string>>("PagedServices")
+ .IsRequired()
+ .HasColumnType("text[]");
+
+ b.Property<int>("PagerMessage")
+ .HasColumnType("integer");
+
+ b.HasKey("ParsedPagerMessageId");
+
+ b.HasIndex("FirecomJobNo");
+
+ b.HasIndex("GpsPositionId");
+
+ b.HasIndex("PageDestination");
+
+ b.HasIndex("PagerMessage")
+ .IsUnique();
+
+ b.ToTable("ParsedPagerMessages");
+ });
+
+ modelBuilder.Entity("PagerParser.ParsedPagerMessage", b =>
+ {
+ b.HasOne("PagerParser.GpsPosition", "GpsPosition")
+ .WithMany()
+ .HasForeignKey("GpsPositionId");
+
+ b.HasOne("PagerParser.PagerMessage", "OriginalMessage")
+ .WithOne("ParsedMessage")
+ .HasForeignKey("PagerParser.ParsedPagerMessage", "PagerMessage")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("GpsPosition");
+
+ b.Navigation("OriginalMessage");
+ });
+
+ modelBuilder.Entity("PagerParser.PagerMessage", b =>
+ {
+ b.Navigation("ParsedMessage");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/Migrations/20241011050136_v0.4-rc1.cs b/Migrations/20241011050136_v0.4-rc1.cs
new file mode 100644
index 0000000..6278225
--- /dev/null
+++ b/Migrations/20241011050136_v0.4-rc1.cs
@@ -0,0 +1,67 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace PagerParser.Migrations
+{
+ /// <inheritdoc />
+ public partial class v04rc1 : Migration
+ {
+ /// <inheritdoc />
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "DiscordAlertChannels",
+ columns: table => new
+ {
+ DiscordAlertChannelId = table.Column<int>(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ GuildId = table.Column<decimal>(type: "numeric(20,0)", nullable: false),
+ ChannelId = table.Column<decimal>(type: "numeric(20,0)", nullable: false),
+ RequireMention = table.Column<bool>(type: "boolean", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_DiscordAlertChannels", x => x.DiscordAlertChannelId);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "DiscordAlertSubscriptions",
+ columns: table => new
+ {
+ DiscordAlertSubscriptionId = table.Column<int>(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ PageDestination = table.Column<string>(type: "text", nullable: false),
+ GuildId = table.Column<decimal>(type: "numeric(20,0)", nullable: false),
+ PrincipalId = table.Column<decimal>(type: "numeric(20,0)", nullable: false),
+ PrincipalType = table.Column<int>(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_DiscordAlertSubscriptions", x => x.DiscordAlertSubscriptionId);
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_DiscordAlertChannels_GuildId",
+ table: "DiscordAlertChannels",
+ column: "GuildId",
+ unique: true);
+
+ migrationBuilder.CreateIndex(
+ name: "IX_DiscordAlertSubscriptions_GuildId",
+ table: "DiscordAlertSubscriptions",
+ column: "GuildId");
+ }
+
+ /// <inheritdoc />
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "DiscordAlertChannels");
+
+ migrationBuilder.DropTable(
+ name: "DiscordAlertSubscriptions");
+ }
+ }
+}
diff --git a/Migrations/PagerContextModelSnapshot.cs b/Migrations/PagerContextModelSnapshot.cs
index 879c13f..4ff5dc3 100644
--- a/Migrations/PagerContextModelSnapshot.cs
+++ b/Migrations/PagerContextModelSnapshot.cs
@@ -1,5 +1,6 @@
// <auto-generated />
using System;
+using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
@@ -17,7 +18,7 @@ namespace PagerParser.Migrations
{
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "7.0.8")
+ .HasAnnotation("ProductVersion", "8.0.8")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -41,6 +42,59 @@ namespace PagerParser.Migrations
b.ToTable("GpsPositions");
});
+ modelBuilder.Entity("PagerParser.Handlers.DiscordAlertChannel", b =>
+ {
+ b.Property<int>("DiscordAlertChannelId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("DiscordAlertChannelId"));
+
+ b.Property<decimal>("ChannelId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property<decimal>("GuildId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property<bool>("RequireMention")
+ .HasColumnType("boolean");
+
+ b.HasKey("DiscordAlertChannelId");
+
+ b.HasIndex("GuildId")
+ .IsUnique();
+
+ b.ToTable("DiscordAlertChannels");
+ });
+
+ modelBuilder.Entity("PagerParser.Handlers.DiscordAlertSubscription", b =>
+ {
+ b.Property<int>("DiscordAlertSubscriptionId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("integer");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property<int>("DiscordAlertSubscriptionId"));
+
+ b.Property<decimal>("GuildId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property<string>("PageDestination")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property<decimal>("PrincipalId")
+ .HasColumnType("numeric(20,0)");
+
+ b.Property<int>("PrincipalType")
+ .HasColumnType("integer");
+
+ b.HasKey("DiscordAlertSubscriptionId");
+
+ b.HasIndex("GuildId");
+
+ b.ToTable("DiscordAlertSubscriptions");
+ });
+
modelBuilder.Entity("PagerParser.PagerMessage", b =>
{
b.Property<int>("PagerMessageId")
@@ -101,10 +155,13 @@ namespace PagerParser.Migrations
.IsRequired()
.HasColumnType("text");
- b.Property<string>("MelwaysGrid")
+ b.Property<string>("MapGrid")
.HasColumnType("text");
- b.Property<int?>("MelwaysMapNo")
+ b.Property<int?>("MapNo")
+ .HasColumnType("integer");
+
+ b.Property<int?>("MapType")
.HasColumnType("integer");
b.Property<string>("Note")
@@ -114,6 +171,10 @@ namespace PagerParser.Migrations
.IsRequired()
.HasColumnType("text");
+ b.Property<List<string>>("PagedServices")
+ .IsRequired()
+ .HasColumnType("text[]");
+
b.Property<int>("PagerMessage")
.HasColumnType("integer");
@@ -123,6 +184,8 @@ namespace PagerParser.Migrations
b.HasIndex("GpsPositionId");
+ b.HasIndex("PageDestination");
+
b.HasIndex("PagerMessage")
.IsUnique();