Exemplo n.º 1
0
 public void Build(ICapabilityStatementBuilder builder)
 {
     if (_featureConfiguration.SupportsXml)
     {
         builder.Update(x => x.Format.Add(KnownContentTypes.XmlContentType));
     }
 }
Exemplo n.º 2
0
        public void Build(ICapabilityStatementBuilder builder)
        {
            if (_operationConfiguration.Export.Enabled)
            {
                AddExportDetailsHelper(builder);
            }

            if (_operationConfiguration.Reindex.Enabled)
            {
                builder.Update(AddReindexDetails);
            }

            if (_featureConfiguration.SupportsAnonymizedExport)
            {
                builder.Update(AddAnonymizedExportDetails);
            }
        }
        public void GivenAConformanceBuilder_WhenExecutingScalar_ThenCorrectInformationIsReturned()
        {
            string httpMicrosoftCom = "http://microsoft.com";

            _builder.Update(x => x.Url = new Uri(httpMicrosoftCom));

            ITypedElement statement = _builder.Build();

            object url = statement.Scalar("Resource.url");

            Assert.Equal(httpMicrosoftCom, url);
        }
        public override async Task <ResourceElement> GetCapabilityStatementAsync(CancellationToken cancellationToken = default(CancellationToken))
        {
            if (_listedCapabilityStatement == null)
            {
                await _sem.WaitAsync(cancellationToken);

                try
                {
                    if (_listedCapabilityStatement == null)
                    {
                        ICapabilityStatementBuilder builder = CapabilityStatementBuilder.Create(_modelInfoProvider, _searchParameterDefinitionManager)
                                                              .Update(x =>
                        {
                            x.FhirVersion = _modelInfoProvider.SupportedVersion.ToString();
                            x.Software    = new SoftwareComponent
                            {
                                Name    = Resources.ServerName,
                                Version = Assembly.GetExecutingAssembly().GetName().Version.ToString(),
                            };
                        });

                        using (IScoped <IEnumerable <IProvideCapability> > providerFactory = _capabilityProviders())
                        {
                            foreach (IProvideCapability provider in providerFactory.Value)
                            {
                                provider.Build(builder);
                            }
                        }

                        foreach (Action <ListedCapabilityStatement> postConfiguration in _configurationUpdates)
                        {
                            builder.Update(statement => postConfiguration(statement));
                        }

                        _listedCapabilityStatement = builder.Build().ToResourceElement();
                    }
                }
                finally
                {
                    _configurationUpdates.Clear();
                    _sem.Release();
                }
            }

            return(_listedCapabilityStatement);
        }
Exemplo n.º 5
0
 public void Build(ICapabilityStatementBuilder builder)
 {
     if (_securityConfiguration.Enabled)
     {
         builder.Update(statement =>
         {
             if (_securityConfiguration.EnableAadSmartOnFhirProxy)
             {
                 AddProxyOAuthSecurityService(statement, _urlResolver, RouteNames.AadSmartOnFhirProxyAuthorize, RouteNames.AadSmartOnFhirProxyToken);
             }
             else
             {
                 AddOAuthSecurityService(statement, _securityConfiguration.Authentication.Authority, _httpClientFactory, _logger);
             }
         });
     }
 }
 private void AddExportDetailsHelper(ICapabilityStatementBuilder builder)
 {
     builder.Update(AddExportDetails);
 }
 private void AddExportDetailsHelper(ICapabilityStatementBuilder builder)
 {
     AddResourceSpecificExportDetails(builder, OperationsConstants.PatientExport, KnownResourceTypes.Patient);
     AddResourceSpecificExportDetails(builder, OperationsConstants.GroupExport, KnownResourceTypes.Group);
     builder.Update(AddExportDetails);
 }