internal CheckedContext( AircloakConnection connection, string dataSource, string table, string column, DColumnInfo columnInfo, int samplesToPublish) { Connection = connection; DataSource = dataSource; Table = table; Columns = ImmutableArray.Create(column); ColumnInfos = ImmutableArray.Create(columnInfo); SamplesToPublish = samplesToPublish; }
public TestScope( Container rootContainer, Uri apiUri, string dataSource, string table, string column, DColumnInfo columnInfo, string vcrFileName, int samplesToPublish = 10, int pollFrequencySecs = 2) : this( rootContainer, apiUri, dataSource, table, new[] { column }, new[] { columnInfo }, vcrFileName, samplesToPublish, pollFrequencySecs) { }
public async Task <IEnumerable <ExplorerContext> > Build( Models.ExploreParams requestData, CancellationToken cancellationToken) { var connection = connectionBuilder.Build( new Uri(requestData.ApiUrl), requestData.DataSource, cancellationToken); var dataSources = await connection.GetDataSources(); var(dataSource, table, columns) = (requestData.DataSource, requestData.Table, requestData.Columns); if (!dataSources.AsDict.TryGetValue(dataSource, out var dataSourceInfo)) { throw new MetaDataCheckException($"Could not find datasource '{dataSource}'."); } if (!dataSourceInfo.TableDict.TryGetValue(table, out var tableInfo)) { throw new MetaDataCheckException($"Could not find table '{dataSource}.{table}'."); } return(columns.Select(column => { if (!tableInfo.ColumnDict.TryGetValue(column, out var columnInfo)) { throw new MetaDataCheckException($"Could not find column '{dataSource}.{table}.{column}'."); } var ci = new DColumnInfo(columnInfo.Type, columnInfo.UserId, columnInfo.Isolating.IsIsolator); return new CheckedContext( connection, dataSource, table, column, ci, requestData.SamplesToPublish ?? Options.DefaultSamplesToPublish); })); }