Beispiel #1
0
        public ExportJobTask(
            IFhirOperationDataStore fhirOperationDataStore,
            ISecretStore secretStore,
            IOptions <ExportJobConfiguration> exportJobConfiguration,
            ISearchService searchService,
            IResourceToByteArraySerializer resourceToByteArraySerializer,
            IExportDestinationClientFactory exportDestinationClientFactory,
            ILogger <ExportJobTask> logger)
        {
            EnsureArg.IsNotNull(fhirOperationDataStore, nameof(fhirOperationDataStore));
            EnsureArg.IsNotNull(secretStore, nameof(secretStore));
            EnsureArg.IsNotNull(exportJobConfiguration?.Value, nameof(exportJobConfiguration));
            EnsureArg.IsNotNull(searchService, nameof(searchService));
            EnsureArg.IsNotNull(resourceToByteArraySerializer, nameof(resourceToByteArraySerializer));
            EnsureArg.IsNotNull(exportDestinationClientFactory, nameof(exportDestinationClientFactory));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _fhirOperationDataStore         = fhirOperationDataStore;
            _secretStore                    = secretStore;
            _exportJobConfiguration         = exportJobConfiguration.Value;
            _searchService                  = searchService;
            _resourceToByteArraySerializer  = resourceToByteArraySerializer;
            _exportDestinationClientFactory = exportDestinationClientFactory;
            _logger = logger;
        }
        public ValidateExportRequestFilterAttribute(IExportDestinationClientFactory exportDestinationClientFactory)
        {
            EnsureArg.IsNotNull(exportDestinationClientFactory, nameof(exportDestinationClientFactory));

            _exportDestinationClientFactory = exportDestinationClientFactory;

            _supportedQueryParams = new HashSet <string>(StringComparer.Ordinal)
            {
                KnownQueryParameterNames.DestinationType,
                KnownQueryParameterNames.DestinationConnectionSettings,
            };
        }