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 skypeCrawlJobData = new SkypeCrawlJobData(); if (configuration.ContainsKey(SkypeConstants.KeyName.ApiKey)) { skypeCrawlJobData.ApiKey = configuration[SkypeConstants.KeyName.ApiKey].ToString(); } if (configuration.ContainsKey(SkypeConstants.KeyName.email)) { skypeCrawlJobData.email = configuration[SkypeConstants.KeyName.email].ToString(); } if (configuration.ContainsKey(SkypeConstants.KeyName.password)) { skypeCrawlJobData.password = configuration[SkypeConstants.KeyName.password].ToString(); } return(await Task.FromResult(skypeCrawlJobData)); }
public SkypeClient(ILogger log, SkypeCrawlJobData skypeCrawlJobData, IRestClient client) // TODO: pass on any extra dependencies { if (skypeCrawlJobData == null) { throw new ArgumentNullException(nameof(skypeCrawlJobData)); } if (client == null) { throw new ArgumentNullException(nameof(client)); } _exchangeService = new ExchangeService(ExchangeVersion.Exchange2010_SP1); _exchangeService.UseDefaultCredentials = false; _exchangeService.Credentials = new WebCredentials(skypeCrawlJobData.email, skypeCrawlJobData.password); _exchangeService.AutodiscoverUrl(skypeCrawlJobData.email); _imHistory = new List <EmailMessage>(); this.log = log ?? throw new ArgumentNullException(nameof(log)); this.client = client ?? throw new ArgumentNullException(nameof(client)); // TODO use info from skypeCrawlJobData to instantiate the connection client.BaseUrl = new Uri(BaseUri); client.AddDefaultParameter("api_key", skypeCrawlJobData.ApiKey, ParameterType.QueryString); }