public ReadDataApiController(ServiceUtility serviceUtility, ControllerRestInfoRepository controllerRestInfoRepository) { this.serviceUtility = serviceUtility; dataStructureParameters = new Lazy <Tuple <string, Type>[]>(() => { var dataStructureInfoMetadata = controllerRestInfoRepository.ControllerConceptInfo[this.GetType()] as DataStructureInfoMetadata; if (dataStructureInfoMetadata == null) { throw new InvalidOperationException( $"Registered {nameof(ConceptInfoRestMetadata)} for {GetType().Name} should be an instance of {nameof(DataStructureInfoMetadata)}."); } return(dataStructureInfoMetadata.GetParameters()); }); }
private static ControllerRestInfoRepository CreateControllerRestInfoRepository(RhetosHost rhetosHost, RestApiOptions options) { var controllerRepository = new ControllerRestInfoRepository(); foreach (var conceptInfoRestMetadataProvider in options.ConceptInfoRestMetadataProviders) { var metadataFromProvider = conceptInfoRestMetadataProvider.GetConceptInfoRestMetadata(rhetosHost); foreach (var metadataItem in metadataFromProvider) { controllerRepository.ControllerConceptInfo.Add(metadataItem.ControllerType, metadataItem); } } // transform all group names if (options.GroupNameMapper != null) { foreach (var restMetadata in controllerRepository.ControllerConceptInfo.Values) { restMetadata.ApiExplorerGroupName = options.GroupNameMapper.Invoke(restMetadata.ConceptInfo, restMetadata.ApiExplorerGroupName); } } return(controllerRepository); }
public RestApiControllerRouteConvention(RestApiOptions restApiOptions, ControllerRestInfoRepository controllerRestInfoRepository) { this.restApiOptions = restApiOptions; this.controllerRestInfoRepository = controllerRestInfoRepository; }
public ReadWriteDataApiController(ServiceUtility serviceUtility, ControllerRestInfoRepository controllerRestInfoRepository) : base(serviceUtility, controllerRestInfoRepository) { }
public ConfigureSwaggerGenOptions(ControllerRestInfoRepository controllerRestInfoRepository) { this.controllerRestInfoRepository = controllerRestInfoRepository; }
public RestApiControllerFeatureProvider(ControllerRestInfoRepository controllerRestInfoRepository) { this.controllerRestInfoRepository = controllerRestInfoRepository; }