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));
        }
示例#2
0
        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));
        }