Skip to content

Commit 025dafa

Browse files
Andreass2Hammerbeck
and
Hammerbeck
authored
Add correct party ID to all events to ensure correct receiver for event (#453)
* fix correct source on all events * Add missing events with wrong or missing partyId * add AlternativeSubject to events --------- Co-authored-by: Hammerbeck <andreas.hammerbeck@digdir.no>
1 parent 52f87b1 commit 025dafa

File tree

4 files changed

+12
-6
lines changed

4 files changed

+12
-6
lines changed

src/Altinn.Broker.Application/ConfirmDownloadCommand/ConfirmDownloadCommandHandler.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,9 @@ public async Task<OneOf<Task, Error>> Process(ConfirmDownloadCommandRequest requ
6565
{
6666
return Task.CompletedTask;
6767
}
68-
6968
await _actorFileTransferStatusRepository.InsertActorFileTransferStatus(request.FileTransferId, ActorFileTransferStatus.DownloadConfirmed, request.Token.Consumer, cancellationToken);
7069
await _eventBus.Publish(AltinnEventType.DownloadConfirmed, fileTransfer.ResourceId, fileTransfer.FileTransferId.ToString(), request.Token.Consumer, cancellationToken);
70+
await _eventBus.Publish(AltinnEventType.DownloadConfirmed, fileTransfer.ResourceId, fileTransfer.FileTransferId.ToString(), fileTransfer.Sender.ActorExternalId, cancellationToken);
7171
bool shouldConfirmAll = fileTransfer.RecipientCurrentStatuses.Where(recipientStatus => recipientStatus.Actor.ActorExternalId != request.Token.Consumer).All(status => status.Status >= ActorFileTransferStatus.DownloadConfirmed);
7272
if (shouldConfirmAll)
7373
{

src/Altinn.Broker.Application/ExpireFileTransferCommand/ExpireFileTransferCommandHandler.cs

+2-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public async Task<OneOf<Task, Error>> Process(ExpireFileTransferCommandRequest r
4747
else if (!request.DoNotUpdateStatus)
4848
{
4949
await _fileTransferStatusRepository.InsertFileTransferStatus(fileTransfer.FileTransferId, Core.Domain.Enums.FileTransferStatus.Purged, cancellationToken: cancellationToken);
50-
await _eventBus.Publish(AltinnEventType.FilePurged, fileTransfer.ResourceId, fileTransfer.FileTransferId.ToString(), null, cancellationToken);
50+
await _eventBus.Publish(AltinnEventType.FilePurged, fileTransfer.ResourceId, fileTransfer.FileTransferId.ToString(), fileTransfer.Sender.ActorExternalId, cancellationToken);
5151
}
5252
if (request.Force || fileTransfer.ExpirationTime < DateTime.UtcNow)
5353
{
@@ -58,6 +58,7 @@ public async Task<OneOf<Task, Error>> Process(ExpireFileTransferCommandRequest r
5858
_logger.LogError("Recipient {recipientExternalReference} did not download the fileTransfer with id {fileTransferId}", recipient.Actor.ActorExternalId, recipient.FileTransferId.ToString());
5959
await _eventBus.Publish(AltinnEventType.FileNeverConfirmedDownloaded, fileTransfer.ResourceId, fileTransfer.FileTransferId.ToString(), recipient.Actor.ActorExternalId, cancellationToken);
6060
}
61+
await _eventBus.Publish(AltinnEventType.FileNeverConfirmedDownloaded, fileTransfer.ResourceId, fileTransfer.FileTransferId.ToString(), fileTransfer.Sender.ActorExternalId, cancellationToken);
6162
}
6263
else
6364
{

src/Altinn.Broker.Application/MalwareScanResults/MalwareScanResultHandler.cs

+4
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ public async Task<OneOf<Task, Error>> Process(ScanResultData data, CancellationT
5757
_logger.LogInformation("Non-malicious result for {fileTransferId} with result type {scanResultType}", fileTransferId, data.ScanResultType);
5858
await _fileTransferStatusRepository.InsertFileTransferStatus(fileTransferId, Core.Domain.Enums.FileTransferStatus.Published, cancellationToken: cancellationToken);
5959
await _eventBus.Publish(AltinnEventType.Published, fileTransfer.ResourceId, fileTransferIdFromUri, fileTransfer.Sender.ActorExternalId, cancellationToken);
60+
foreach (var recipient in fileTransfer.RecipientCurrentStatuses)
61+
{
62+
await _eventBus.Publish(AltinnEventType.Published, fileTransfer.ResourceId, fileTransferIdFromUri, recipient.Actor.ActorExternalId, cancellationToken);
63+
}
6064
return Task.CompletedTask;
6165
}
6266

src/Altinn.Broker.Integrations/Altinn/Events/AltinnEventBus.cs

+5-4
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public async Task Publish(AltinnEventType type, string resourceId, string fileTr
4040
if (partyId != null) await _partyRepository.InitializeParty(organizationId, partyId);
4141
}
4242
}
43-
var cloudEvent = CreateCloudEvent(type, resourceId, fileTransferId, partyId);
43+
var cloudEvent = CreateCloudEvent(type, resourceId, fileTransferId, partyId, organizationId);
4444
var serializerOptions = new JsonSerializerOptions
4545
{
4646
PropertyNamingPolicy = new LowerCaseNamingPolicy()
@@ -53,7 +53,7 @@ public async Task Publish(AltinnEventType type, string resourceId, string fileTr
5353
}
5454
}
5555

56-
private CloudEvent CreateCloudEvent(AltinnEventType type, string resourceId, string fileTransferId, string? partyId)
56+
private CloudEvent CreateCloudEvent(AltinnEventType type, string resourceId, string fileTransferId, string? partyId, string? alternativeSubject)
5757
{
5858
CloudEvent cloudEvent = new CloudEvent()
5959
{
@@ -63,8 +63,9 @@ private CloudEvent CreateCloudEvent(AltinnEventType type, string resourceId, str
6363
Resource = "urn:altinn:resource:" + resourceId,
6464
ResourceInstance = fileTransferId,
6565
Type = "no.altinn.broker." + type.ToString().ToLowerInvariant(),
66-
Source = _altinnOptions.PlatformGatewayUrl + "broker/api/v1/file",
67-
Subject = !string.IsNullOrWhiteSpace(partyId) ? "/party/" + partyId : null
66+
Source = _altinnOptions.PlatformGatewayUrl + "broker/api/v1/filetransfer",
67+
Subject = !string.IsNullOrWhiteSpace(partyId) ? "/party/" + partyId : null,
68+
AlternativeSubject = !string.IsNullOrWhiteSpace(alternativeSubject) ? "/organisation/" + alternativeSubject : null,
6869
};
6970

7071
return cloudEvent;

0 commit comments

Comments
 (0)