public async Task <ChangeFeedLatestResponse> Handle(ChangeFeedLatestRequest request, CancellationToken cancellationToken) { EnsureArg.IsNotNull(request, nameof(request)); ChangeFeedEntry latestEntry = await _changeFeedService.GetChangeFeedLatestAsync(request.IncludeMetadata, cancellationToken); return(new ChangeFeedLatestResponse(latestEntry)); }
private async Task PopulateMetadata(ChangeFeedEntry entry, CancellationToken cancellationToken) { if (entry.State == ChangeFeedState.Deleted || entry.CurrentVersion == null) { return; } var identifier = new VersionedInstanceIdentifier(entry.StudyInstanceUid, entry.SeriesInstanceUid, entry.SopInstanceUid, entry.CurrentVersion.Value); entry.Metadata = await _metadataStore.GetInstanceMetadataAsync(identifier, cancellationToken); entry.IncludeMetadata = true; }
public async Task <ChangeFeedLatestResponse> Handle(ChangeFeedLatestRequest request, CancellationToken cancellationToken) { EnsureArg.IsNotNull(request, nameof(request)); if (await AuthorizationService.CheckAccess(DataActions.Read, cancellationToken) != DataActions.Read) { throw new UnauthorizedDicomActionException(DataActions.Read); } ChangeFeedEntry latestEntry = await _changeFeedService.GetChangeFeedLatestAsync(request.IncludeMetadata, cancellationToken); return(new ChangeFeedLatestResponse(latestEntry)); }