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 moodleCrawlJobData = new MoodleCrawlJobData(); if (configuration.ContainsKey(MoodleConstants.KeyName.ApiKey)) { moodleCrawlJobData.ApiKey = configuration[MoodleConstants.KeyName.ApiKey].ToString(); } if (configuration.ContainsKey(MoodleConstants.KeyName.Token)) { moodleCrawlJobData.Token = configuration[MoodleConstants.KeyName.Token].ToString(); } if (configuration.ContainsKey(MoodleConstants.KeyName.Function)) { moodleCrawlJobData.Function = configuration[MoodleConstants.KeyName.Function].ToString(); } return(await Task.FromResult(moodleCrawlJobData)); }
public MoodleClient(ILogger log, MoodleCrawlJobData moodleCrawlJobData, IRestClient client) // TODO: pass on any extra dependencies { if (moodleCrawlJobData == null) { throw new ArgumentNullException(nameof(moodleCrawlJobData)); } if (client == null) { throw new ArgumentNullException(nameof(client)); } this.log = log ?? throw new ArgumentNullException(nameof(log)); this.client = client ?? throw new ArgumentNullException(nameof(client)); // TODO use info from moodleCrawlJobData to instantiate the connection client.BaseUrl = new Uri(BaseUri); client.AddDefaultParameter("api_key", moodleCrawlJobData.ApiKey, ParameterType.QueryString); }