diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogTransmissions/Queries/Get/GetTransmissionQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogTransmissions/Queries/Get/GetTransmissionQuery.cs index f88740330..0dd96e5e2 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogTransmissions/Queries/Get/GetTransmissionQuery.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogTransmissions/Queries/Get/GetTransmissionQuery.cs @@ -83,7 +83,7 @@ public async Task Handle(GetTransmissionQuery request, if (dto.IsAuthorized) return dto; - var urls = transmission.Attachments.SelectMany(a => a.Urls).ToList(); + var urls = dto.Attachments.SelectMany(a => a.Urls).ToList(); foreach (var url in urls) { url.Url = Constants.UnauthorizedUri; diff --git a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogTransmissions/Queries/Search/SearchTransmissionQuery.cs b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogTransmissions/Queries/Search/SearchTransmissionQuery.cs index 48b0535cb..8e1675ade 100644 --- a/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogTransmissions/Queries/Search/SearchTransmissionQuery.cs +++ b/src/Digdir.Domain.Dialogporten.Application/Features/V1/EndUser/DialogTransmissions/Queries/Search/SearchTransmissionQuery.cs @@ -1,4 +1,5 @@ using AutoMapper; +using Digdir.Domain.Dialogporten.Application.Common.Authorization; using Digdir.Domain.Dialogporten.Application.Common.ReturnTypes; using Digdir.Domain.Dialogporten.Application.Externals; using Digdir.Domain.Dialogporten.Application.Externals.AltinnAuthorization; @@ -68,6 +69,21 @@ public async Task Handle(SearchTransmissionQuery reque return new EntityDeleted(request.DialogId); } - return _mapper.Map>(dialog.Transmissions); + var dto = _mapper.Map>(dialog.Transmissions); + + foreach (var transmission in dto) + { + transmission.IsAuthorized = authorizationResult.HasReadAccessToDialogTransmission(transmission.AuthorizationAttribute); + + if (transmission.IsAuthorized) continue; + + var urls = transmission.Attachments.SelectMany(a => a.Urls).ToList(); + foreach (var url in urls) + { + url.Url = Constants.UnauthorizedUri; + } + } + + return dto; } }