コード例 #1
0
        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);
        }
コード例 #2
0
        /**********************************************************************************************************
        * 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));
        }