diff --git a/docs/schema/V1/swagger.verified.json b/docs/schema/V1/swagger.verified.json
index 84320cc4f..816c83190 100644
--- a/docs/schema/V1/swagger.verified.json
+++ b/docs/schema/V1/swagger.verified.json
@@ -83,7 +83,13 @@
"TransmissionOpened",
"PaymentMade",
"SignatureProvided",
- "DialogOpened"
+ "DialogOpened",
+ "DialogDeleted",
+ "DialogRestored",
+ "SentToSigning",
+ "SentToFormFill",
+ "SentToSendIn",
+ "SentToPayment"
],
"type": "string",
"x-enumNames": [
@@ -93,7 +99,13 @@
"TransmissionOpened",
"PaymentMade",
"SignatureProvided",
- "DialogOpened"
+ "DialogOpened",
+ "DialogDeleted",
+ "DialogRestored",
+ "SentToSigning",
+ "SentToFormFill",
+ "SentToSendIn",
+ "SentToPayment"
]
},
"DialogsEntitiesTransmissions_DialogTransmissionType": {
diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs
index 71a28d03f..3aa06d588 100644
--- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs
+++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/Common/Events/CloudEventTypes.cs
@@ -21,6 +21,12 @@ internal static class CloudEventTypes
nameof(DialogActivityType.Values.PaymentMade) => "dialogporten.dialog.activity.payment-made.v1",
nameof(DialogActivityType.Values.SignatureProvided) => "dialogporten.dialog.activity.signature-provided.v1",
nameof(DialogActivityType.Values.DialogOpened) => "dialogporten.dialog.activity.dialog-opened.v1",
+ nameof(DialogActivityType.Values.DialogDeleted) => "dialogporten.dialog.activity.dialog-deleted.v1",
+ nameof(DialogActivityType.Values.DialogRestored) => "dialogporten.dialog.activity.dialog-restored.v1",
+ nameof(DialogActivityType.Values.SentToSigning) => "dialogporten.dialog.activity.sent-to-signing.v1",
+ nameof(DialogActivityType.Values.SentToFormFill) => "dialogporten.dialog.activity.sent-to-form-fill.v1",
+ nameof(DialogActivityType.Values.SentToSendIn) => "dialogporten.dialog.activity.sent-to-send-in.v1",
+ nameof(DialogActivityType.Values.SentToPayment) => "dialogporten.dialog.activity.sent-to-payment.v1",
_ => throw new ArgumentOutOfRangeException(nameof(eventName), eventName, null)
};
diff --git a/src/Digdir.Domain.Dialogporten.Domain/Dialogs/Entities/Activities/DialogActivityType.cs b/src/Digdir.Domain.Dialogporten.Domain/Dialogs/Entities/Activities/DialogActivityType.cs
index 344be95c0..41b95e447 100644
--- a/src/Digdir.Domain.Dialogporten.Domain/Dialogs/Entities/Activities/DialogActivityType.cs
+++ b/src/Digdir.Domain.Dialogporten.Domain/Dialogs/Entities/Activities/DialogActivityType.cs
@@ -10,12 +10,12 @@ public DialogActivityType(Values id) : base(id) { }
public enum Values
{
///
- /// Refers to a dialog that has been created.
+ /// Indicates that a dialog has been created.
///
DialogCreated = 1,
///
- /// Refers to a dialog that has been closed.
+ /// Indicates that a dialog has been closed.
///
DialogClosed = 2,
@@ -25,7 +25,7 @@ public enum Values
Information = 3,
///
- /// Refers to a transmission that has been opened.
+ /// Indicates that a transmission has been opened.
///
TransmissionOpened = 4,
@@ -40,8 +40,38 @@ public enum Values
SignatureProvided = 6,
///
- /// Refers to a dialog that has been opened.
+ /// Indicates that a dialog has been opened.
///
DialogOpened = 7,
+
+ ///
+ /// Indicates that a dialog has been deleted.
+ ///
+ DialogDeleted = 8,
+
+ ///
+ /// Indicates that a dialog has been restored.
+ ///
+ DialogRestored = 9,
+
+ ///
+ /// Indicates that a dialog has been sent to signing.
+ ///
+ SentToSigning = 10,
+
+ ///
+ /// Indicates that a dialog has been sent to form fill.
+ ///
+ SentToFormFill = 11,
+
+ ///
+ /// Indicates that a dialog has been sent to send in.
+ ///
+ SentToSendIn = 12,
+
+ ///
+ /// Indicates that a dialog has been sent to payment.
+ ///
+ SentToPayment = 13,
}
}
diff --git a/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20241222195253_AddAdditionalActivityTypes.Designer.cs b/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20241222195253_AddAdditionalActivityTypes.Designer.cs
new file mode 100644
index 000000000..523a8413b
--- /dev/null
+++ b/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20241222195253_AddAdditionalActivityTypes.Designer.cs
@@ -0,0 +1,2194 @@
+//
+using System;
+using Digdir.Domain.Dialogporten.Infrastructure.Persistence;
+using Microsoft.EntityFrameworkCore;
+using Microsoft.EntityFrameworkCore.Infrastructure;
+using Microsoft.EntityFrameworkCore.Migrations;
+using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
+using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
+
+#nullable disable
+
+namespace Digdir.Domain.Dialogporten.Infrastructure.Persistence.Migrations
+{
+ [DbContext(typeof(DialogDbContext))]
+ [Migration("20241222195253_AddAdditionalActivityTypes")]
+ partial class AddAdditionalActivityTypes
+ {
+ ///
+ protected override void BuildTargetModel(ModelBuilder modelBuilder)
+ {
+#pragma warning disable 612, 618
+ modelBuilder
+ .HasAnnotation("ProductVersion", "9.0.0")
+ .HasAnnotation("Relational:MaxIdentifierLength", 63);
+
+ NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Actors.Actor", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("ActorId")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("ActorName")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("ActorTypeId")
+ .HasColumnType("integer");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Discriminator")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ActorTypeId");
+
+ b.ToTable("Actor");
+
+ b.HasDiscriminator().HasValue("Actor");
+
+ b.UseTphMappingStrategy();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Actors.ActorType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("ActorType");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "PartyRepresentative"
+ },
+ new
+ {
+ Id = 2,
+ Name = "ServiceOwner"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Attachments.Attachment", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Discriminator")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("Id");
+
+ b.ToTable("Attachment");
+
+ b.HasDiscriminator().HasValue("Attachment");
+
+ b.UseTphMappingStrategy();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Attachments.AttachmentUrl", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("AttachmentId")
+ .HasColumnType("uuid");
+
+ b.Property("ConsumerTypeId")
+ .HasColumnType("integer");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("MediaType")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Url")
+ .IsRequired()
+ .HasMaxLength(1023)
+ .HasColumnType("character varying(1023)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("AttachmentId");
+
+ b.HasIndex("ConsumerTypeId");
+
+ b.ToTable("AttachmentUrl");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Attachments.AttachmentUrlConsumerType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("AttachmentUrlConsumerType");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "Gui"
+ },
+ new
+ {
+ Id = 2,
+ Name = "Api"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.DialogEndUserContext", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.Property("Revision")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("SystemLabelId")
+ .HasColumnType("integer");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DialogId")
+ .IsUnique();
+
+ b.HasIndex("SystemLabelId");
+
+ b.ToTable("DialogEndUserContext");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.LabelAssignmentLog", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("Action")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("ContextId")
+ .HasColumnType("uuid");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ContextId");
+
+ b.ToTable("LabelAssignmentLog");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.SystemLabel", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("SystemLabel");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "Default"
+ },
+ new
+ {
+ Id = 2,
+ Name = "Bin"
+ },
+ new
+ {
+ Id = 3,
+ Name = "Archive"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogApiAction", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("Action")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("AuthorizationAttribute")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DialogId");
+
+ b.ToTable("DialogApiAction");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogApiActionEndpoint", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("ActionId")
+ .HasColumnType("uuid");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Deprecated")
+ .HasColumnType("boolean");
+
+ b.Property("DocumentationUrl")
+ .HasMaxLength(1023)
+ .HasColumnType("character varying(1023)");
+
+ b.Property("HttpMethodId")
+ .HasColumnType("integer");
+
+ b.Property("RequestSchema")
+ .HasMaxLength(1023)
+ .HasColumnType("character varying(1023)");
+
+ b.Property("ResponseSchema")
+ .HasMaxLength(1023)
+ .HasColumnType("character varying(1023)");
+
+ b.Property("SunsetAt")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Url")
+ .IsRequired()
+ .HasMaxLength(1023)
+ .HasColumnType("character varying(1023)");
+
+ b.Property("Version")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("ActionId");
+
+ b.HasIndex("HttpMethodId");
+
+ b.ToTable("DialogApiActionEndpoint");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiAction", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("Action")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("AuthorizationAttribute")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.Property("HttpMethodId")
+ .HasColumnType("integer");
+
+ b.Property("IsDeleteDialogAction")
+ .HasColumnType("boolean");
+
+ b.Property("PriorityId")
+ .HasColumnType("integer");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Url")
+ .IsRequired()
+ .HasMaxLength(1023)
+ .HasColumnType("character varying(1023)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DialogId");
+
+ b.HasIndex("HttpMethodId");
+
+ b.HasIndex("PriorityId");
+
+ b.ToTable("DialogGuiAction");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiActionPriority", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("DialogGuiActionPriority");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "Primary"
+ },
+ new
+ {
+ Id = 2,
+ Name = "Secondary"
+ },
+ new
+ {
+ Id = 3,
+ Name = "Tertiary"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivity", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.Property("ExtendedType")
+ .HasMaxLength(1023)
+ .HasColumnType("character varying(1023)");
+
+ b.Property("TransmissionId")
+ .HasColumnType("uuid");
+
+ b.Property("TypeId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DialogId");
+
+ b.HasIndex("TransmissionId");
+
+ b.HasIndex("TypeId");
+
+ b.ToTable("DialogActivity");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivityType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("DialogActivityType");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "DialogCreated"
+ },
+ new
+ {
+ Id = 2,
+ Name = "DialogClosed"
+ },
+ new
+ {
+ Id = 3,
+ Name = "Information"
+ },
+ new
+ {
+ Id = 4,
+ Name = "TransmissionOpened"
+ },
+ new
+ {
+ Id = 5,
+ Name = "PaymentMade"
+ },
+ new
+ {
+ Id = 6,
+ Name = "SignatureProvided"
+ },
+ new
+ {
+ Id = 7,
+ Name = "DialogOpened"
+ },
+ new
+ {
+ Id = 8,
+ Name = "DialogDeleted"
+ },
+ new
+ {
+ Id = 9,
+ Name = "DialogRestored"
+ },
+ new
+ {
+ Id = 10,
+ Name = "SentToSigning"
+ },
+ new
+ {
+ Id = 11,
+ Name = "SentToFormFill"
+ },
+ new
+ {
+ Id = 12,
+ Name = "SentToSendIn"
+ },
+ new
+ {
+ Id = 13,
+ Name = "SentToPayment"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContent", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.Property("MediaType")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("TypeId")
+ .HasColumnType("integer");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TypeId");
+
+ b.HasIndex("DialogId", "TypeId")
+ .IsUnique();
+
+ b.ToTable("DialogContent");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContentType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.PrimitiveCollection("AllowedMediaTypes")
+ .IsRequired()
+ .HasColumnType("text[]");
+
+ b.Property("MaxLength")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("OutputInList")
+ .HasColumnType("boolean");
+
+ b.Property("Required")
+ .HasColumnType("boolean");
+
+ b.HasKey("Id");
+
+ b.ToTable("DialogContentType");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ AllowedMediaTypes = new[] { "text/plain" },
+ MaxLength = 255,
+ Name = "Title",
+ OutputInList = true,
+ Required = true
+ },
+ new
+ {
+ Id = 2,
+ AllowedMediaTypes = new[] { "text/plain" },
+ MaxLength = 255,
+ Name = "SenderName",
+ OutputInList = true,
+ Required = false
+ },
+ new
+ {
+ Id = 3,
+ AllowedMediaTypes = new[] { "text/plain" },
+ MaxLength = 255,
+ Name = "Summary",
+ OutputInList = true,
+ Required = true
+ },
+ new
+ {
+ Id = 4,
+ AllowedMediaTypes = new[] { "text/plain", "text/markdown" },
+ MaxLength = 1023,
+ Name = "AdditionalInfo",
+ OutputInList = false,
+ Required = false
+ },
+ new
+ {
+ Id = 5,
+ AllowedMediaTypes = new[] { "text/plain" },
+ MaxLength = 20,
+ Name = "ExtendedStatus",
+ OutputInList = true,
+ Required = false
+ },
+ new
+ {
+ Id = 6,
+ AllowedMediaTypes = new[] { "application/vnd.dialogporten.frontchannelembed+json;type=markdown" },
+ MaxLength = 1023,
+ Name = "MainContentReference",
+ OutputInList = false,
+ Required = false
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Deleted")
+ .HasColumnType("boolean");
+
+ b.Property("DeletedAt")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("DueAt")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ExpiresAt")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ExtendedStatus")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("ExternalReference")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("Org")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .UseCollation("C");
+
+ b.Property("Party")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .UseCollation("C");
+
+ b.Property("PrecedingProcess")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("Process")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("Progress")
+ .HasColumnType("integer");
+
+ b.Property("Revision")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("ServiceResource")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)")
+ .UseCollation("C");
+
+ b.Property("ServiceResourceType")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("StatusId")
+ .HasColumnType("integer");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("VisibleFrom")
+ .HasColumnType("timestamp with time zone");
+
+ b.HasKey("Id");
+
+ b.HasIndex("CreatedAt");
+
+ b.HasIndex("DueAt");
+
+ b.HasIndex("Org");
+
+ b.HasIndex("Party");
+
+ b.HasIndex("Process");
+
+ b.HasIndex("ServiceResource");
+
+ b.HasIndex("StatusId");
+
+ b.HasIndex("UpdatedAt");
+
+ b.ToTable("Dialog", (string)null);
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSearchTag", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.Property("Value")
+ .IsRequired()
+ .HasMaxLength(63)
+ .HasColumnType("character varying(63)");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DialogId", "Value")
+ .IsUnique();
+
+ b.ToTable("DialogSearchTag");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSeenLog", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.Property("EndUserTypeId")
+ .HasColumnType("integer");
+
+ b.Property("IsViaServiceOwner")
+ .HasColumnType("boolean");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DialogId");
+
+ b.HasIndex("EndUserTypeId");
+
+ b.ToTable("DialogSeenLog");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogStatus", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("DialogStatus");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "New"
+ },
+ new
+ {
+ Id = 2,
+ Name = "InProgress"
+ },
+ new
+ {
+ Id = 3,
+ Name = "Draft"
+ },
+ new
+ {
+ Id = 4,
+ Name = "Sent"
+ },
+ new
+ {
+ Id = 5,
+ Name = "RequiresAttention"
+ },
+ new
+ {
+ Id = 6,
+ Name = "Completed"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogUserType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("DialogUserType");
+
+ b.HasData(
+ new
+ {
+ Id = 0,
+ Name = "Unknown"
+ },
+ new
+ {
+ Id = 1,
+ Name = "Person"
+ },
+ new
+ {
+ Id = 2,
+ Name = "SystemUser"
+ },
+ new
+ {
+ Id = 3,
+ Name = "ServiceOwner"
+ },
+ new
+ {
+ Id = 4,
+ Name = "ServiceOwnerOnBehalfOfPerson"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContent", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("MediaType")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("TransmissionId")
+ .HasColumnType("uuid");
+
+ b.Property("TypeId")
+ .HasColumnType("integer");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("Id");
+
+ b.HasIndex("TypeId");
+
+ b.HasIndex("TransmissionId", "TypeId")
+ .IsUnique();
+
+ b.ToTable("DialogTransmissionContent");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContentType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.PrimitiveCollection("AllowedMediaTypes")
+ .IsRequired()
+ .HasColumnType("text[]");
+
+ b.Property("MaxLength")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("Required")
+ .HasColumnType("boolean");
+
+ b.HasKey("Id");
+
+ b.ToTable("DialogTransmissionContentType");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ AllowedMediaTypes = new[] { "text/plain" },
+ MaxLength = 255,
+ Name = "Title",
+ Required = true
+ },
+ new
+ {
+ Id = 2,
+ AllowedMediaTypes = new[] { "text/plain" },
+ MaxLength = 255,
+ Name = "Summary",
+ Required = true
+ },
+ new
+ {
+ Id = 3,
+ AllowedMediaTypes = new[] { "application/vnd.dialogporten.frontchannelembed+json;type=markdown" },
+ MaxLength = 1023,
+ Name = "ContentReference",
+ Required = false
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmission", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("AuthorizationAttribute")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.Property("ExtendedType")
+ .HasMaxLength(1023)
+ .HasColumnType("character varying(1023)");
+
+ b.Property("RelatedTransmissionId")
+ .HasColumnType("uuid");
+
+ b.Property("TypeId")
+ .HasColumnType("integer");
+
+ b.HasKey("Id");
+
+ b.HasIndex("DialogId");
+
+ b.HasIndex("RelatedTransmissionId");
+
+ b.HasIndex("TypeId");
+
+ b.ToTable("DialogTransmission");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmissionType", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("DialogTransmissionType");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "Information"
+ },
+ new
+ {
+ Id = 2,
+ Name = "Acceptance"
+ },
+ new
+ {
+ Id = 3,
+ Name = "Rejection"
+ },
+ new
+ {
+ Id = 4,
+ Name = "Request"
+ },
+ new
+ {
+ Id = 5,
+ Name = "Alert"
+ },
+ new
+ {
+ Id = 6,
+ Name = "Decision"
+ },
+ new
+ {
+ Id = 7,
+ Name = "Submission"
+ },
+ new
+ {
+ Id = 8,
+ Name = "Correction"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Http.HttpVerb", b =>
+ {
+ b.Property("Id")
+ .HasColumnType("integer");
+
+ b.Property("Name")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("HttpVerb");
+
+ b.HasData(
+ new
+ {
+ Id = 1,
+ Name = "GET"
+ },
+ new
+ {
+ Id = 2,
+ Name = "POST"
+ },
+ new
+ {
+ Id = 3,
+ Name = "PUT"
+ },
+ new
+ {
+ Id = 4,
+ Name = "PATCH"
+ },
+ new
+ {
+ Id = 5,
+ Name = "DELETE"
+ },
+ new
+ {
+ Id = 6,
+ Name = "HEAD"
+ },
+ new
+ {
+ Id = 7,
+ Name = "OPTIONS"
+ },
+ new
+ {
+ Id = 8,
+ Name = "TRACE"
+ },
+ new
+ {
+ Id = 9,
+ Name = "CONNECT"
+ });
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Localizations.Localization", b =>
+ {
+ b.Property("LocalizationSetId")
+ .HasColumnType("uuid");
+
+ b.Property("LanguageCode")
+ .HasMaxLength(15)
+ .HasColumnType("character varying(15)");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Value")
+ .IsRequired()
+ .HasMaxLength(4095)
+ .HasColumnType("character varying(4095)");
+
+ b.HasKey("LocalizationSetId", "LanguageCode");
+
+ b.ToTable("Localization");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Discriminator")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.HasKey("Id");
+
+ b.ToTable("LocalizationSet");
+
+ b.HasDiscriminator().HasValue("LocalizationSet");
+
+ b.UseTphMappingStrategy();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.ResourcePolicyInformation.ResourcePolicyInformation", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("MinimumAuthenticationLevel")
+ .HasColumnType("integer");
+
+ b.Property("Resource")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Resource")
+ .IsUnique();
+
+ b.ToTable("ResourcePolicyInformation");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.SubjectResources.SubjectResource", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid")
+ .HasDefaultValueSql("gen_random_uuid()");
+
+ b.Property("CreatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.Property("Resource")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("Subject")
+ .IsRequired()
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("UpdatedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Resource", "Subject")
+ .IsUnique();
+
+ b.ToTable("SubjectResource");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Infrastructure.Persistence.IdempotentNotifications.NotificationAcknowledgement", b =>
+ {
+ b.Property("EventId")
+ .HasColumnType("uuid");
+
+ b.Property("NotificationHandler")
+ .HasMaxLength(255)
+ .HasColumnType("character varying(255)");
+
+ b.Property("AcknowledgedAt")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("timestamp with time zone")
+ .HasDefaultValueSql("current_timestamp at time zone 'utc'");
+
+ b.HasKey("EventId", "NotificationHandler");
+
+ b.HasIndex("EventId");
+
+ b.ToTable("NotificationAcknowledgement");
+ });
+
+ modelBuilder.Entity("MassTransit.EntityFrameworkCoreIntegration.InboxState", b =>
+ {
+ b.Property("Id")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id"));
+
+ b.Property("Consumed")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ConsumerId")
+ .HasColumnType("uuid");
+
+ b.Property("Delivered")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ExpirationTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("LastSequenceNumber")
+ .HasColumnType("bigint");
+
+ b.Property("LockId")
+ .HasColumnType("uuid");
+
+ b.Property("MessageId")
+ .HasColumnType("uuid");
+
+ b.Property("ReceiveCount")
+ .HasColumnType("integer");
+
+ b.Property("Received")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("RowVersion")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("bytea");
+
+ b.HasKey("Id");
+
+ b.HasIndex("Delivered");
+
+ b.ToTable("MassTransitInboxState", (string)null);
+ });
+
+ modelBuilder.Entity("MassTransit.EntityFrameworkCoreIntegration.OutboxMessage", b =>
+ {
+ b.Property("SequenceNumber")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("bigint");
+
+ NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("SequenceNumber"));
+
+ b.Property("Body")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("ContentType")
+ .IsRequired()
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("ConversationId")
+ .HasColumnType("uuid");
+
+ b.Property("CorrelationId")
+ .HasColumnType("uuid");
+
+ b.Property("DestinationAddress")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("EnqueueTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("ExpirationTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("FaultAddress")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("Headers")
+ .HasColumnType("text");
+
+ b.Property("InboxConsumerId")
+ .HasColumnType("uuid");
+
+ b.Property("InboxMessageId")
+ .HasColumnType("uuid");
+
+ b.Property("InitiatorId")
+ .HasColumnType("uuid");
+
+ b.Property("MessageId")
+ .HasColumnType("uuid");
+
+ b.Property("MessageType")
+ .IsRequired()
+ .HasColumnType("text");
+
+ b.Property("OutboxId")
+ .HasColumnType("uuid");
+
+ b.Property("Properties")
+ .HasColumnType("text");
+
+ b.Property("RequestId")
+ .HasColumnType("uuid");
+
+ b.Property("ResponseAddress")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.Property("SentTime")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("SourceAddress")
+ .HasMaxLength(256)
+ .HasColumnType("character varying(256)");
+
+ b.HasKey("SequenceNumber");
+
+ b.HasIndex("EnqueueTime");
+
+ b.HasIndex("ExpirationTime");
+
+ b.HasIndex("OutboxId", "SequenceNumber")
+ .IsUnique();
+
+ b.HasIndex("InboxMessageId", "InboxConsumerId", "SequenceNumber")
+ .IsUnique();
+
+ b.ToTable("MassTransitOutboxMessage", (string)null);
+ });
+
+ modelBuilder.Entity("MassTransit.EntityFrameworkCoreIntegration.OutboxState", b =>
+ {
+ b.Property("OutboxId")
+ .ValueGeneratedOnAdd()
+ .HasColumnType("uuid");
+
+ b.Property("Created")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("Delivered")
+ .HasColumnType("timestamp with time zone");
+
+ b.Property("LastSequenceNumber")
+ .HasColumnType("bigint");
+
+ b.Property("LockId")
+ .HasColumnType("uuid");
+
+ b.Property("RowVersion")
+ .IsConcurrencyToken()
+ .ValueGeneratedOnAddOrUpdate()
+ .HasColumnType("bytea");
+
+ b.HasKey("OutboxId");
+
+ b.HasIndex("Created");
+
+ b.ToTable("MassTransitOutboxState", (string)null);
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.LabelAssignmentLogActor", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Actors.Actor");
+
+ b.Property("LabelAssignmentLogId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("LabelAssignmentLogId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("LabelAssignmentLogActor");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivityPerformedByActor", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Actors.Actor");
+
+ b.Property("ActivityId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("ActivityId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("DialogActivityPerformedByActor");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSeenLogSeenByActor", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Actors.Actor");
+
+ b.Property("DialogSeenLogId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("DialogSeenLogId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("DialogSeenLogSeenByActor");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmissionSenderActor", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Actors.Actor");
+
+ b.Property("TransmissionId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("TransmissionId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("DialogTransmissionSenderActor");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogAttachment", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Attachments.Attachment");
+
+ b.Property("DialogId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("DialogId");
+
+ b.HasDiscriminator().HasValue("DialogAttachment");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmissionAttachment", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Attachments.Attachment");
+
+ b.Property("TransmissionId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("TransmissionId");
+
+ b.HasDiscriminator().HasValue("DialogTransmissionAttachment");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Attachments.AttachmentDisplayName", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet");
+
+ b.Property("AttachmentId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("AttachmentId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("AttachmentDisplayName");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiActionPrompt", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet");
+
+ b.Property("GuiActionId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("GuiActionId")
+ .IsUnique();
+
+ b.ToTable("LocalizationSet", t =>
+ {
+ t.Property("GuiActionId")
+ .HasColumnName("DialogGuiActionPrompt_GuiActionId");
+ });
+
+ b.HasDiscriminator().HasValue("DialogGuiActionPrompt");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiActionTitle", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet");
+
+ b.Property("GuiActionId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("GuiActionId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("DialogGuiActionTitle");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivityDescription", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet");
+
+ b.Property("ActivityId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("ActivityId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("DialogActivityDescription");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContentValue", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet");
+
+ b.Property("DialogContentId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("DialogContentId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("DialogContentValue");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContentValue", b =>
+ {
+ b.HasBaseType("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet");
+
+ b.Property("TransmissionContentId")
+ .HasColumnType("uuid");
+
+ b.HasIndex("TransmissionContentId")
+ .IsUnique();
+
+ b.HasDiscriminator().HasValue("DialogTransmissionContentValue");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Actors.Actor", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Actors.ActorType", "ActorType")
+ .WithMany()
+ .HasForeignKey("ActorTypeId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("ActorType");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Attachments.AttachmentUrl", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Attachments.Attachment", "Attachment")
+ .WithMany("Urls")
+ .HasForeignKey("AttachmentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Attachments.AttachmentUrlConsumerType", "ConsumerType")
+ .WithMany()
+ .HasForeignKey("ConsumerTypeId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Attachment");
+
+ b.Navigation("ConsumerType");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.DialogEndUserContext", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithOne("DialogEndUserContext")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.DialogEndUserContext", "DialogId")
+ .OnDelete(DeleteBehavior.SetNull);
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.SystemLabel", "SystemLabel")
+ .WithMany()
+ .HasForeignKey("SystemLabelId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+
+ b.Navigation("SystemLabel");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.LabelAssignmentLog", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.DialogEndUserContext", "Context")
+ .WithMany("LabelAssignmentLogs")
+ .HasForeignKey("ContextId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Context");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogApiAction", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithMany("ApiActions")
+ .HasForeignKey("DialogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogApiActionEndpoint", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogApiAction", "Action")
+ .WithMany("Endpoints")
+ .HasForeignKey("ActionId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Http.HttpVerb", "HttpMethod")
+ .WithMany()
+ .HasForeignKey("HttpMethodId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Action");
+
+ b.Navigation("HttpMethod");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiAction", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithMany("GuiActions")
+ .HasForeignKey("DialogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Http.HttpVerb", "HttpMethod")
+ .WithMany()
+ .HasForeignKey("HttpMethodId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiActionPriority", "Priority")
+ .WithMany()
+ .HasForeignKey("PriorityId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+
+ b.Navigation("HttpMethod");
+
+ b.Navigation("Priority");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivity", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithMany("Activities")
+ .HasForeignKey("DialogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmission", "Transmission")
+ .WithMany("Activities")
+ .HasForeignKey("TransmissionId")
+ .OnDelete(DeleteBehavior.SetNull);
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivityType", "Type")
+ .WithMany()
+ .HasForeignKey("TypeId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+
+ b.Navigation("Transmission");
+
+ b.Navigation("Type");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContent", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithMany("Content")
+ .HasForeignKey("DialogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContentType", "Type")
+ .WithMany()
+ .HasForeignKey("TypeId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+
+ b.Navigation("Type");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogStatus", "Status")
+ .WithMany()
+ .HasForeignKey("StatusId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Status");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSearchTag", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithMany("SearchTags")
+ .HasForeignKey("DialogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSeenLog", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithMany("SeenLog")
+ .HasForeignKey("DialogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogUserType", "EndUserType")
+ .WithMany()
+ .HasForeignKey("EndUserTypeId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+
+ b.Navigation("EndUserType");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContent", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmission", "Transmission")
+ .WithMany("Content")
+ .HasForeignKey("TransmissionId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContentType", "Type")
+ .WithMany()
+ .HasForeignKey("TypeId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Transmission");
+
+ b.Navigation("Type");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmission", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithMany("Transmissions")
+ .HasForeignKey("DialogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmission", "RelatedTransmission")
+ .WithMany("RelatedTransmissions")
+ .HasForeignKey("RelatedTransmissionId")
+ .OnDelete(DeleteBehavior.SetNull);
+
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmissionType", "Type")
+ .WithMany()
+ .HasForeignKey("TypeId")
+ .OnDelete(DeleteBehavior.Restrict)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+
+ b.Navigation("RelatedTransmission");
+
+ b.Navigation("Type");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Localizations.Localization", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet", "LocalizationSet")
+ .WithMany("Localizations")
+ .HasForeignKey("LocalizationSetId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("LocalizationSet");
+ });
+
+ modelBuilder.Entity("MassTransit.EntityFrameworkCoreIntegration.OutboxMessage", b =>
+ {
+ b.HasOne("MassTransit.EntityFrameworkCoreIntegration.OutboxState", null)
+ .WithMany()
+ .HasForeignKey("OutboxId");
+
+ b.HasOne("MassTransit.EntityFrameworkCoreIntegration.InboxState", null)
+ .WithMany()
+ .HasForeignKey("InboxMessageId", "InboxConsumerId")
+ .HasPrincipalKey("MessageId", "ConsumerId");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.LabelAssignmentLogActor", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.LabelAssignmentLog", "LabelAssignmentLog")
+ .WithOne("PerformedBy")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.LabelAssignmentLogActor", "LabelAssignmentLogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("LabelAssignmentLog");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivityPerformedByActor", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivity", "Activity")
+ .WithOne("PerformedBy")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivityPerformedByActor", "ActivityId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Activity");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSeenLogSeenByActor", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSeenLog", "DialogSeenLog")
+ .WithOne("SeenBy")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSeenLogSeenByActor", "DialogSeenLogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("DialogSeenLog");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmissionSenderActor", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmission", "Transmission")
+ .WithOne("Sender")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmissionSenderActor", "TransmissionId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Transmission");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogAttachment", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", "Dialog")
+ .WithMany("Attachments")
+ .HasForeignKey("DialogId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Dialog");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmissionAttachment", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmission", "Transmission")
+ .WithMany("Attachments")
+ .HasForeignKey("TransmissionId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Transmission");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Attachments.AttachmentDisplayName", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Attachments.Attachment", "Attachment")
+ .WithOne("DisplayName")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Attachments.AttachmentDisplayName", "AttachmentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Attachment");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiActionPrompt", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiAction", "GuiAction")
+ .WithOne("Prompt")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiActionPrompt", "GuiActionId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("GuiAction");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiActionTitle", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiAction", "GuiAction")
+ .WithOne("Title")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiActionTitle", "GuiActionId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("GuiAction");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivityDescription", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivity", "Activity")
+ .WithOne("Description")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivityDescription", "ActivityId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("Activity");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContentValue", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContent", "DialogContent")
+ .WithOne("Value")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContentValue", "DialogContentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("DialogContent");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContentValue", b =>
+ {
+ b.HasOne("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContent", "TransmissionContent")
+ .WithOne("Value")
+ .HasForeignKey("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContentValue", "TransmissionContentId")
+ .OnDelete(DeleteBehavior.Cascade)
+ .IsRequired();
+
+ b.Navigation("TransmissionContent");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Attachments.Attachment", b =>
+ {
+ b.Navigation("DisplayName");
+
+ b.Navigation("Urls");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.DialogEndUserContext", b =>
+ {
+ b.Navigation("LabelAssignmentLogs");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.DialogEndUserContexts.Entities.LabelAssignmentLog", b =>
+ {
+ b.Navigation("PerformedBy")
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogApiAction", b =>
+ {
+ b.Navigation("Endpoints");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Actions.DialogGuiAction", b =>
+ {
+ b.Navigation("Prompt");
+
+ b.Navigation("Title");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities.DialogActivity", b =>
+ {
+ b.Navigation("Description");
+
+ b.Navigation("PerformedBy")
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Contents.DialogContent", b =>
+ {
+ b.Navigation("Value")
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogEntity", b =>
+ {
+ b.Navigation("Activities");
+
+ b.Navigation("ApiActions");
+
+ b.Navigation("Attachments");
+
+ b.Navigation("Content");
+
+ b.Navigation("DialogEndUserContext")
+ .IsRequired();
+
+ b.Navigation("GuiActions");
+
+ b.Navigation("SearchTags");
+
+ b.Navigation("SeenLog");
+
+ b.Navigation("Transmissions");
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.DialogSeenLog", b =>
+ {
+ b.Navigation("SeenBy")
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.Contents.DialogTransmissionContent", b =>
+ {
+ b.Navigation("Value")
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Transmissions.DialogTransmission", b =>
+ {
+ b.Navigation("Activities");
+
+ b.Navigation("Attachments");
+
+ b.Navigation("Content");
+
+ b.Navigation("RelatedTransmissions");
+
+ b.Navigation("Sender")
+ .IsRequired();
+ });
+
+ modelBuilder.Entity("Digdir.Domain.Dialogporten.Domain.Localizations.LocalizationSet", b =>
+ {
+ b.Navigation("Localizations");
+ });
+#pragma warning restore 612, 618
+ }
+ }
+}
diff --git a/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20241222195253_AddAdditionalActivityTypes.cs b/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20241222195253_AddAdditionalActivityTypes.cs
new file mode 100644
index 000000000..7b2663816
--- /dev/null
+++ b/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20241222195253_AddAdditionalActivityTypes.cs
@@ -0,0 +1,63 @@
+using Microsoft.EntityFrameworkCore.Migrations;
+
+#nullable disable
+
+#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
+
+namespace Digdir.Domain.Dialogporten.Infrastructure.Persistence.Migrations
+{
+ ///
+ public partial class AddAdditionalActivityTypes : Migration
+ {
+ ///
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.InsertData(
+ table: "DialogActivityType",
+ columns: new[] { "Id", "Name" },
+ values: new object[,]
+ {
+ { 8, "DialogDeleted" },
+ { 9, "DialogRestored" },
+ { 10, "SentToSigning" },
+ { 11, "SentToFormFill" },
+ { 12, "SentToSendIn" },
+ { 13, "SentToPayment" }
+ });
+ }
+
+ ///
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DeleteData(
+ table: "DialogActivityType",
+ keyColumn: "Id",
+ keyValue: 8);
+
+ migrationBuilder.DeleteData(
+ table: "DialogActivityType",
+ keyColumn: "Id",
+ keyValue: 9);
+
+ migrationBuilder.DeleteData(
+ table: "DialogActivityType",
+ keyColumn: "Id",
+ keyValue: 10);
+
+ migrationBuilder.DeleteData(
+ table: "DialogActivityType",
+ keyColumn: "Id",
+ keyValue: 11);
+
+ migrationBuilder.DeleteData(
+ table: "DialogActivityType",
+ keyColumn: "Id",
+ keyValue: 12);
+
+ migrationBuilder.DeleteData(
+ table: "DialogActivityType",
+ keyColumn: "Id",
+ keyValue: 13);
+ }
+ }
+}
diff --git a/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/DialogDbContextModelSnapshot.cs b/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/DialogDbContextModelSnapshot.cs
index 78f3166d4..c1495c887 100644
--- a/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/DialogDbContextModelSnapshot.cs
+++ b/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/DialogDbContextModelSnapshot.cs
@@ -17,7 +17,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
- .HasAnnotation("ProductVersion", "8.0.10")
+ .HasAnnotation("ProductVersion", "9.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
@@ -561,6 +561,36 @@ protected override void BuildModel(ModelBuilder modelBuilder)
{
Id = 7,
Name = "DialogOpened"
+ },
+ new
+ {
+ Id = 8,
+ Name = "DialogDeleted"
+ },
+ new
+ {
+ Id = 9,
+ Name = "DialogRestored"
+ },
+ new
+ {
+ Id = 10,
+ Name = "SentToSigning"
+ },
+ new
+ {
+ Id = 11,
+ Name = "SentToFormFill"
+ },
+ new
+ {
+ Id = 12,
+ Name = "SentToSendIn"
+ },
+ new
+ {
+ Id = 13,
+ Name = "SentToPayment"
});
});
@@ -607,7 +637,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.Property("Id")
.HasColumnType("integer");
- b.Property("AllowedMediaTypes")
+ b.PrimitiveCollection("AllowedMediaTypes")
.IsRequired()
.HasColumnType("text[]");
@@ -980,7 +1010,7 @@ protected override void BuildModel(ModelBuilder modelBuilder)
b.Property("Id")
.HasColumnType("integer");
- b.Property("AllowedMediaTypes")
+ b.PrimitiveCollection("AllowedMediaTypes")
.IsRequired()
.HasColumnType("text[]");
diff --git a/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/Common/Events/DomainEventsTests.cs b/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/Common/Events/DomainEventsTests.cs
index 306d3100a..3ac416221 100644
--- a/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/Common/Events/DomainEventsTests.cs
+++ b/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/Common/Events/DomainEventsTests.cs
@@ -32,6 +32,20 @@ static DomainEventsTests()
Mapper = mapperConfiguration.CreateMapper();
}
+ [Fact]
+ public void All_DialogActivityTypes_Must_Have_A_Mapping_In_CloudEventTypes()
+ {
+ // Arrange
+ var allActivityTypes = Enum.GetValues().ToList();
+
+ // Act/Assert
+ allActivityTypes.ForEach(activityType =>
+ {
+ Action act = () => CloudEventTypes.Get(activityType.ToString());
+ act.Should().NotThrow($"all activity types must have a mapping in {nameof(CloudEventTypes)} ({activityType} is missing)");
+ });
+ }
+
[Fact]
public async Task Creates_CloudEvents_When_Dialog_Created()
{