diff --git a/docs/schema/V1/schema.verified.graphql b/docs/schema/V1/schema.verified.graphql index 3e214b904..e914f1029 100644 --- a/docs/schema/V1/schema.verified.graphql +++ b/docs/schema/V1/schema.verified.graphql @@ -16,10 +16,16 @@ type Activity { extendedType: URL type: ActivityType! relatedActivityId: UUID - performedBy: String + performedBy: Actor! description: [Localization!]! } +type Actor { + actorType: ActorType + actorId: String + actorName: String +} + type ApiAction { id: UUID! action: String! @@ -173,8 +179,7 @@ type SearchDialogsPayload { type SeenLog { id: UUID! seenAt: DateTime! - endUserIdHash: String! - endUserName: String + seenBy: Actor! isCurrentEndUser: Boolean! } @@ -224,6 +229,11 @@ enum ActivityType { FORWARDED } +enum ActorType { + PARTY_REPRESENTATIVE + SERVICE_OWNER +} + enum ApplyPolicy { BEFORE_RESOLVER AFTER_RESOLVER diff --git a/docs/schema/V1/swagger.verified.json b/docs/schema/V1/swagger.verified.json index 145a9355c..120307510 100644 --- a/docs/schema/V1/swagger.verified.json +++ b/docs/schema/V1/swagger.verified.json @@ -1887,7 +1887,8 @@ "$ref": "#/components/schemas/GetDialogSeenLogActorDtoSO" }, "isViaServiceOwner": { - "type": "boolean" + "type": "boolean", + "nullable": true } } }, diff --git a/src/Digdir.Domain.Dialogporten.Application/Common/IdentifierMasker.cs b/src/Digdir.Domain.Dialogporten.Application/Common/IdentifierMasker.cs index f5b47f921..70daf3a81 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Common/IdentifierMasker.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Common/IdentifierMasker.cs @@ -11,7 +11,7 @@ public static class IdentifierMasker private const int SaltSize = 16; private static readonly byte[] Salt = RandomNumberGenerator.GetBytes(SaltSize); - public static string? Hash(string? plaintext) + private static string? Hash(string? plaintext) { if (string.IsNullOrWhiteSpace(plaintext)) { diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/GetDialogActivityDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/GetDialogActivityDto.cs index 08d1194a3..78024dea1 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/GetDialogActivityDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogActivities/Queries/Get/GetDialogActivityDto.cs @@ -12,11 +12,9 @@ public sealed class GetDialogActivityDto public DialogActivityType.Values Type { get; set; } - public DateTimeOffset? DeletedAt { get; set; } - public Guid? RelatedActivityId { get; set; } - public GetDialogActivityActorDto PerformedBy { get; set; } = new(); + public GetDialogActivityActorDto PerformedBy { get; set; } = null!; public List Description { get; set; } = []; } diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogDto.cs index 867662fce..83b0153b7 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogDto.cs @@ -44,7 +44,7 @@ public sealed class GetDialogDialogSeenLogDto public Guid Id { get; set; } public DateTimeOffset SeenAt { get; set; } - public GetDialogDialogSeenLogActorDto SeenBy { get; set; } = new(); + public GetDialogDialogSeenLogActorDto SeenBy { get; set; } = null!; public bool? IsViaServiceOwner { get; set; } public bool IsCurrentEndUser { get; set; } @@ -73,7 +73,7 @@ public sealed class GetDialogDialogActivityDto public Guid? RelatedActivityId { get; set; } - public GetDialogDialogActivityActorDto PerformedBy { get; set; } = new(); + public GetDialogDialogActivityActorDto PerformedBy { get; set; } = null!; public List Description { get; set; } = []; } diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogQuery.cs index d3740eb7b..01abb0fe7 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogQuery.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/GetDialogQuery.cs @@ -6,7 +6,6 @@ using Digdir.Domain.Dialogporten.Application.Externals; using Digdir.Domain.Dialogporten.Application.Externals.AltinnAuthorization; using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities; -using Digdir.Domain.Dialogporten.Domain.Parties; using MediatR; using Microsoft.EntityFrameworkCore; using OneOf; diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/MappingProfile.cs index f00ef9afa..ef9064dea 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/MappingProfile.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Get/MappingProfile.cs @@ -22,7 +22,6 @@ public MappingProfile() .ForMember(dest => dest.SeenAt, opt => opt.MapFrom(src => src.CreatedAt)); CreateMap() - .ForMember(dest => dest.ActorId, opt => opt.MapFrom(src => src.Id)) .ForMember(dest => dest.ActorId, opt => opt.MapFrom(src => IdentifierMasker.GetMaybeMaskedIdentifier(src.ActorId))); CreateMap() diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogDto.cs index 4383ef050..f605efaef 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/Dialogs/Queries/Search/SearchDialogDto.cs @@ -61,7 +61,7 @@ public sealed class SearchDialogDialogActivityDto public Guid? RelatedActivityId { get; set; } - public SearchDialogDialogActivityActorDto PerformedBy { get; set; } = new(); + public SearchDialogDialogActivityActorDto PerformedBy { get; set; } = null!; public List Description { get; set; } = []; } diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/GetDialogActivityDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/GetDialogActivityDto.cs index a517c6ef5..bffc2eaa7 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/GetDialogActivityDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogActivities/Queries/Get/GetDialogActivityDto.cs @@ -16,7 +16,7 @@ public sealed class GetDialogActivityDto public Guid? RelatedActivityId { get; set; } - public GetDialogActivityActorDto PerformedBy { get; set; } = new(); + public GetDialogActivityActorDto PerformedBy { get; set; } = null!; public List Description { get; set; } = []; } diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogSeenLogs/Queries/Get/GetDialogSeenLogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogSeenLogs/Queries/Get/GetDialogSeenLogDto.cs index adacd81e4..06c037a4f 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogSeenLogs/Queries/Get/GetDialogSeenLogDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogSeenLogs/Queries/Get/GetDialogSeenLogDto.cs @@ -7,7 +7,7 @@ public sealed class GetDialogSeenLogDto public GetDialogSeenLogActorDto SeenBy { get; set; } = null!; - public bool IsViaServiceOwner { get; set; } + public bool? IsViaServiceOwner { get; set; } } public sealed class GetDialogSeenLogActorDto diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogSeenLogs/Queries/Search/SearchDialogSeenLogQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogSeenLogs/Queries/Search/SearchDialogSeenLogQuery.cs index 96d9159ed..a74a94f6c 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogSeenLogs/Queries/Search/SearchDialogSeenLogQuery.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/DialogSeenLogs/Queries/Search/SearchDialogSeenLogQuery.cs @@ -40,7 +40,7 @@ public async Task Handle(SearchDialogSeenLogQuery req var dialog = await _db.Dialogs .AsNoTracking() .Include(x => x.SeenLog) - .ThenInclude(x => x.SeenBy) + .ThenInclude(x => x.SeenBy) .IgnoreQueryFilters() .Where(x => resourceIds.Contains(x.ServiceResource)) .FirstOrDefaultAsync(x => x.Id == request.DialogId, diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommand.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommand.cs index e7e2c868a..4ccb7fd14 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommand.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommand.cs @@ -76,13 +76,20 @@ public async Task Handle(CreateDialogCommand request, Cancel foreach (var activity in request.Activities) { - if (activity.PerformedBy.ActorId is null) continue; + if (activity.PerformedBy.ActorId is null) + { + continue; + } activity.PerformedBy.ActorName = await _partyNameRegistry.GetName(activity.PerformedBy.ActorId, cancellationToken); - if (activity.PerformedBy.ActorName == null) + + if (!string.IsNullOrWhiteSpace(activity.PerformedBy.ActorName)) { - return new DomainError(new DomainFailure(nameof(activity.PerformedBy.ActorId), $"Unable to look up actor id: {activity.PerformedBy.ActorId}")); + continue; } + + var domainFailure = new DomainFailure(nameof(activity.PerformedBy.ActorId), $"Unable to look up name for actor id: {activity.PerformedBy.ActorId}"); + return new DomainError(domainFailure); } var dialog = _mapper.Map(request); diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs index 3599f2b3a..3a50fee6e 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogCommandValidator.cs @@ -275,6 +275,7 @@ public CreateDialogDialogActivityDtoValidator( .NotEqual(x => x.Id) .When(x => x.RelatedActivityId.HasValue); RuleFor(x => x.PerformedBy) + .NotNull() .SetValidator(actorValidator); RuleFor(x => x.Description) .NotEmpty() diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogDto.cs index d69054640..e541da881 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Create/CreateDialogDto.cs @@ -55,7 +55,7 @@ public sealed class CreateDialogDialogActivityDto public Guid? RelatedActivityId { get; set; } - public CreateDialogDialogActivityActorDto PerformedBy { get; set; } = new(); + public CreateDialogDialogActivityActorDto PerformedBy { get; set; } = null!; public List Description { get; set; } = []; } diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommandValidator.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommandValidator.cs index abab4aec8..8a41548de 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommandValidator.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogCommandValidator.cs @@ -274,6 +274,7 @@ public UpdateDialogDialogActivityDtoValidator( .NotEqual(x => x.Id) .When(x => x.RelatedActivityId.HasValue); RuleFor(x => x.PerformedBy) + .NotNull() .SetValidator(actorValidator); RuleFor(x => x.Description) .NotEmpty() diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogDto.cs index 564aa9090..42495c44a 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Commands/Update/UpdateDialogDto.cs @@ -53,7 +53,7 @@ public class UpdateDialogDialogActivityDto public Guid? RelatedActivityId { get; set; } - public UpdateDialogDialogActivityActorDto PerformedBy { get; set; } = new(); + public UpdateDialogDialogActivityActorDto PerformedBy { get; set; } = null!; public List Description { get; set; } = []; } diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogDto.cs index e60f4b4a0..d8009eb16 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogDto.cs @@ -77,7 +77,7 @@ public sealed class GetDialogDialogActivityDto public Guid? RelatedActivityId { get; set; } - public GetDialogDialogActivityActorDto PerformedBy { get; set; } = new(); + public GetDialogDialogActivityActorDto PerformedBy { get; set; } = null!; public List Description { get; set; } = []; } diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogQuery.cs index f13dd1a6f..2ba826e71 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogQuery.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/GetDialogQuery.cs @@ -81,7 +81,7 @@ public async Task Handle(GetDialogQuery request, CancellationTo { var logDto = _mapper.Map(log); // TODO: Set when #386 is implemented - // logDto.IsAuthenticatedUser = log.EndUserId == userPid; + // logDto.IsCurrentEndUser = log.EndUserId == userPid; return logDto; }) .ToList(); diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/MappingProfile.cs index 9a1b12f19..e762f361d 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/MappingProfile.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Get/MappingProfile.cs @@ -17,7 +17,9 @@ public MappingProfile() .ForMember(dest => dest.Status, opt => opt.MapFrom(src => src.StatusId)) .ForMember(dest => dest.SeenSinceLastUpdate, opt => opt.Ignore()); - CreateMap(); + CreateMap() + .ForMember(dest => dest.SeenAt, opt => opt.MapFrom(src => src.CreatedAt)); + CreateMap(); CreateMap() diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogDto.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogDto.cs index c08fd162f..af640f31a 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogDto.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogDto.cs @@ -68,7 +68,7 @@ public sealed class SearchDialogDialogActivityDto public Guid? RelatedActivityId { get; set; } - public SearchDialogDialogActivityActorDto PerformedBy { get; set; } = new(); + public SearchDialogDialogActivityActorDto PerformedBy { get; set; } = null!; public List Description { get; set; } = []; } diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogQuery.cs index 9577509f3..be3241622 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogQuery.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/ServiceOwner/Dialogs/Queries/Search/SearchDialogQuery.cs @@ -10,6 +10,7 @@ using Digdir.Domain.Dialogporten.Application.Externals.AltinnAuthorization; using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities; using Digdir.Domain.Dialogporten.Domain.Localizations; +using Digdir.Domain.Dialogporten.Domain.Parties; using MediatR; using Microsoft.EntityFrameworkCore; using OneOf; @@ -182,7 +183,6 @@ public async Task Handle(SearchDialogQuery request, Cancella foreach (var seenRecord in paginatedList.Items.SelectMany(x => x.SeenSinceLastUpdate)) { seenRecord.IsCurrentEndUser = seenRecord.SeenBy.ActorId == request.EndUserId; - } } diff --git a/src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/MappingProfile.cs b/src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/MappingProfile.cs index 8924c36d8..756771323 100644 --- a/src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/MappingProfile.cs +++ b/src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/MappingProfile.cs @@ -12,7 +12,10 @@ public MappingProfile() CreateMap(); CreateMap(); + CreateMap(); + CreateMap(); + CreateMap(); CreateMap() .ForMember(dest => dest.Type, opt => opt.MapFrom(src => src.Type)); @@ -21,7 +24,12 @@ public MappingProfile() CreateMap() .ForMember(dest => dest.Type, opt => opt.MapFrom(src => src.Type)); + CreateMap() + .ForMember(dest => dest.ActorType, opt => opt.MapFrom(src => src.ActorType)); + CreateMap() .ForMember(dest => dest.Type, opt => opt.MapFrom(src => src.Type)); + CreateMap() + .ForMember(dest => dest.ActorType, opt => opt.MapFrom(src => src.ActorType)); } } diff --git a/src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/ObjectTypes.cs b/src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/ObjectTypes.cs index 313dc1d45..dfc761928 100644 --- a/src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/ObjectTypes.cs +++ b/src/Digdir.Domain.Dialogporten.GraphQL/EndUser/Common/ObjectTypes.cs @@ -28,9 +28,7 @@ public sealed class SeenLog public Guid Id { get; set; } public DateTimeOffset SeenAt { get; set; } - public string EndUserIdHash { get; set; } = null!; - - public string? EndUserName { get; set; } + public Actor SeenBy { get; set; } = null!; public bool IsCurrentEndUser { get; set; } } @@ -45,10 +43,24 @@ public sealed class Activity public Guid? RelatedActivityId { get; set; } - public string? PerformedBy { get; set; } + public Actor PerformedBy { get; set; } = null!; + public List Description { get; set; } = []; } +public sealed class Actor +{ + public ActorType? ActorType { get; set; } + public string? ActorId { get; set; } + public string? ActorName { get; set; } +} + +public enum ActorType +{ + PartyRepresentative = 1, + ServiceOwner = 2 +} + public enum ActivityType { [GraphQLDescription("Refers to a submission made by a party that has been received by the service provider.")] diff --git a/src/Digdir.Domain.Dialogporten.Infrastructure/Altinn/Authorization/DecisionRequestHelper.cs b/src/Digdir.Domain.Dialogporten.Infrastructure/Altinn/Authorization/DecisionRequestHelper.cs index 3b744d849..36a26cdce 100644 --- a/src/Digdir.Domain.Dialogporten.Infrastructure/Altinn/Authorization/DecisionRequestHelper.cs +++ b/src/Digdir.Domain.Dialogporten.Infrastructure/Altinn/Authorization/DecisionRequestHelper.cs @@ -1,6 +1,5 @@ using Altinn.Authorization.ABAC.Xacml.JsonProfile; using System.Security.Claims; -using System.Text.Json; using Digdir.Domain.Dialogporten.Application.Common.Authorization; using Digdir.Domain.Dialogporten.Application.Common.Extensions; using Digdir.Domain.Dialogporten.Application.Externals.AltinnAuthorization; diff --git a/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240720163626_AddActor.cs b/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240720163626_AddActor.cs index 68dee23e2..11061c86a 100644 --- a/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240720163626_AddActor.cs +++ b/src/Digdir.Domain.Dialogporten.Infrastructure/Persistence/Migrations/20240720163626_AddActor.cs @@ -13,6 +13,13 @@ public partial class AddActor : Migration /// protected override void Up(MigrationBuilder migrationBuilder) { + migrationBuilder.Sql(""" + DELETE FROM public."DialogActivity" + """); + migrationBuilder.Sql(""" + DELETE FROM public."DialogSeenLog" + """); + migrationBuilder.DropForeignKey( name: "FK_LocalizationSet_DialogSeenLog_DialogSeenLogId", table: "LocalizationSet"); @@ -47,15 +54,13 @@ protected override void Up(MigrationBuilder migrationBuilder) name: "SeenById", table: "DialogSeenLog", type: "uuid", - nullable: false, - defaultValue: new Guid("00000000-0000-0000-0000-000000000000")); + nullable: false); migrationBuilder.AddColumn( name: "PerformedById", table: "DialogActivity", type: "uuid", - nullable: false, - defaultValue: new Guid("00000000-0000-0000-0000-000000000000")); + nullable: false); migrationBuilder.CreateTable( name: "DialogActorType", diff --git a/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/EndUser/Dialogs/Queries/ActivityLogTests.cs b/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/EndUser/Dialogs/Queries/ActivityLogTests.cs index c0ea34457..4106b3be0 100644 --- a/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/EndUser/Dialogs/Queries/ActivityLogTests.cs +++ b/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/EndUser/Dialogs/Queries/ActivityLogTests.cs @@ -3,6 +3,7 @@ using Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogActivities.Queries.Get; using Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.Dialogs.Commands.Create; using Digdir.Domain.Dialogporten.Application.Integration.Tests.Common; +using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities; using Digdir.Domain.Dialogporten.Domain.Parties; using Digdir.Tool.Dialogporten.GenerateFakeData; using FluentAssertions; @@ -84,7 +85,7 @@ public async Task Get_ActivityLog_Should_Not_Return_User_Ids_Unhashed() private async Task<(CreateDialogCommand, CreateDialogResult)> GenerateDialogWithActivity() { var createDialogCommand = DialogGenerator.GenerateSimpleFakeDialog(); - var activity = DialogGenerator.GenerateFakeDialogActivity(); + var activity = DialogGenerator.GenerateFakeDialogActivity(type: DialogActivityType.Values.Information); activity.PerformedBy.ActorId = DialogGenerator.GenerateRandomParty(forcePerson: true); activity.PerformedBy.ActorName = null; createDialogCommand.Activities.Add(activity); diff --git a/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/EndUser/Dialogs/Queries/SeenLogTests.cs b/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/EndUser/Dialogs/Queries/SeenLogTests.cs index 5b99374ea..37578216e 100644 --- a/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/EndUser/Dialogs/Queries/SeenLogTests.cs +++ b/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/EndUser/Dialogs/Queries/SeenLogTests.cs @@ -1,4 +1,3 @@ -using Digdir.Domain.Dialogporten.Application.Common; using Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.Get; using Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.Dialogs.Queries.Search; using Digdir.Domain.Dialogporten.Application.Features.V1.EndUser.DialogSeenLogs.Queries.Get; diff --git a/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/ServiceOwner/Dialogs/Queries/ActivityLogTests.cs b/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/ServiceOwner/Dialogs/Queries/ActivityLogTests.cs index 9e4d37b03..7ae32eb66 100644 --- a/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/ServiceOwner/Dialogs/Queries/ActivityLogTests.cs +++ b/tests/Digdir.Domain.Dialogporten.Application.Integration.Tests/Features/V1/ServiceOwner/Dialogs/Queries/ActivityLogTests.cs @@ -3,6 +3,7 @@ using Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.DialogActivities.Queries.Get; using Digdir.Domain.Dialogporten.Application.Features.V1.ServiceOwner.Dialogs.Commands.Create; using Digdir.Domain.Dialogporten.Application.Integration.Tests.Common; +using Digdir.Domain.Dialogporten.Domain.Dialogs.Entities.Activities; using Digdir.Domain.Dialogporten.Domain.Parties; using Digdir.Tool.Dialogporten.GenerateFakeData; using FluentAssertions; @@ -15,6 +16,7 @@ public class ActivityLogTests(DialogApplication application) : ApplicationCollec [Fact] public async Task Get_Dialog_ActivityLog_Should_Return_User_Ids_Unhashed() { + // Arrange var (_, createCommandResponse) = await GenerateDialogWithActivity(); // Act @@ -84,7 +86,7 @@ public async Task Get_ActivityLog_Should_Return_User_Ids_Unhashed() private async Task<(CreateDialogCommand, CreateDialogResult)> GenerateDialogWithActivity() { var createDialogCommand = DialogGenerator.GenerateSimpleFakeDialog(); - var activity = DialogGenerator.GenerateFakeDialogActivity(); + var activity = DialogGenerator.GenerateFakeDialogActivity(type: DialogActivityType.Values.Information); activity.PerformedBy.ActorId = DialogGenerator.GenerateRandomParty(forcePerson: true); activity.PerformedBy.ActorName = null; createDialogCommand.Activities.Add(activity);