public SlackClient(ILogger log, SlackCrawlJobData slackCrawlJobData, IRestClient client) // TODO: pass on any extra dependencies { if (slackCrawlJobData == null) { throw new ArgumentNullException(nameof(slackCrawlJobData)); } if (client == null) { throw new ArgumentNullException(nameof(client)); } _log = log ?? throw new ArgumentNullException(nameof(log)); // TODO use info from slackCrawlJobData to instantiate the connection client.BaseUrl = new Uri(s_baseUri); client.AddDefaultParameter("api_key", slackCrawlJobData.ApiKey, ParameterType.QueryString); }
/********************************************************************************************************** * METHODS **********************************************************************************************************/ public override async Task <CrawlJobData> GetCrawlJobData( ProviderUpdateContext context, IDictionary <string, object> configuration, Guid organizationId, Guid userId, Guid providerDefinitionId) { if (configuration == null) { throw new ArgumentNullException(nameof(configuration)); } var slackCrawlJobData = new SlackCrawlJobData(); if (configuration.ContainsKey(SlackConstants.KeyName.ApiKey)) { slackCrawlJobData.ApiKey = configuration[SlackConstants.KeyName.ApiKey].ToString(); } return(await Task.FromResult(slackCrawlJobData)); }