public override async Task DeleteWebHook(ExecutionContext context, [NotNull] CrawlJobData jobData, [NotNull] IWebhookDefinition webhookDefinition) { if (jobData == null) { throw new ArgumentNullException(nameof(jobData)); } if (webhookDefinition == null) { throw new ArgumentNullException(nameof(webhookDefinition)); } await Task.Run(() => { var webhookDefinitionProviderDataStore = context.Organization.DataStores.GetDataStore <WebhookDefinition>(); if (webhookDefinitionProviderDataStore != null) { var webhook = webhookDefinitionProviderDataStore.GetById(context, webhookDefinition.Id); if (webhook != null) { webhookDefinitionProviderDataStore.Delete(context, webhook); } } var organizationProviderDataStore = context.Organization.DataStores.GetDataStore <ProviderDefinition>(); if (organizationProviderDataStore != null) { if (webhookDefinition.ProviderDefinitionId != null) { var webhookEnabled = organizationProviderDataStore.GetById(context, webhookDefinition.ProviderDefinitionId.Value); if (webhookEnabled != null) { webhookEnabled.WebHooks = false; organizationProviderDataStore.Update(context, webhookEnabled); } } } }); }
public override bool Accept(IWebhookDefinition webhookDefinition) { return(webhookDefinition.ProviderId == OneDriveConstants.ProviderId || base.Accept(webhookDefinition)); }
public override Task <IEnumerable <WebHookSignature> > CreateWebHook(ExecutionContext context, [NotNull] CrawlJobData jobData, [NotNull] IWebhookDefinition webhookDefinition, [NotNull] IDictionary <string, object> config) { if (jobData == null) { throw new ArgumentNullException(nameof(jobData)); } if (webhookDefinition == null) { throw new ArgumentNullException(nameof(webhookDefinition)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } throw new NotImplementedException(); }
public override async Task <IEnumerable <WebHookSignature> > CreateWebHook(ExecutionContext context, [NotNull] CrawlJobData jobData, [NotNull] IWebhookDefinition webhookDefinition, [NotNull] IDictionary <string, object> config) { if (jobData == null) { throw new ArgumentNullException(nameof(jobData)); } if (webhookDefinition == null) { throw new ArgumentNullException(nameof(webhookDefinition)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } var hubSpotCrawlJobData = (HubSpotCrawlJobData)jobData; var webhookSignatures = new List <WebHookSignature>(); try { var client = _hubspotClientFactory.CreateNew(hubSpotCrawlJobData); var data = await client.GetWebHooks(); if (data == null) { return(webhookSignatures); } var hookTypes = new[] { "contact.creation", "contact.deletion", "contact.propertyChange", "company.creation", "company.deletion", "company.propertyChange", "deal.creation", "deal.deletion", "deal.propertyChange" }; foreach (var subscription in hookTypes) { if (config.ContainsKey("webhooks")) { var enabledHooks = (List <Webhook>)config["webhooks"]; var enabled = enabledHooks.Where(s => s.Status == "ACTIVE").Select(s => s.Name); if (!enabled.Contains(subscription)) { continue; } } try { await client.CreateWebHook(subscription); webhookSignatures.Add(new WebHookSignature { Signature = webhookDefinition.ProviderDefinitionId.ToString(), ExternalVersion = "v1", ExternalId = null, EventTypes = "contact.creation,contact.deletion,contact.propertyChange,company.creation,company.deletion,company.propertyChange,deal.creation,deal.deletion,deal.propertyChange" }); } catch (Exception e) { _log.Warn(() => $"Could not create HubSpot Webhook for subscription: {subscription}", e); } } webhookDefinition.Uri = new Uri(this.appContext.System.Configuration.WebhookReturnUrl.Trim('/') + ConfigurationManager.AppSettings["Providers.HubSpot.WebhookEndpoint"]); webhookDefinition.Verified = true; } catch (Exception exception) { _log.Warn(() => "Could not create HubSpot Webhook", exception); } var organizationProviderDataStore = context.Organization.DataStores.GetDataStore <ProviderDefinition>(); if (organizationProviderDataStore != null) { if (webhookDefinition.ProviderDefinitionId != null) { var webhookEnabled = organizationProviderDataStore.GetById(context, webhookDefinition.ProviderDefinitionId.Value); if (webhookEnabled != null) { webhookEnabled.WebHooks = true; organizationProviderDataStore.Update(context, webhookEnabled); } } } return(webhookSignatures); }
public override Task <IEnumerable <WebHookSignature> > CreateWebHook(Core.ExecutionContext context, CrawlJobData jobData, IWebhookDefinition webhookDefinition, IDictionary <string, object> config) { throw new NotImplementedException(); }
public override Task DeleteWebHook(ExecutionContext context, [NotNull] CrawlJobData jobData, [NotNull] IWebhookDefinition webhookDefinition) { if (jobData == null) { throw new ArgumentNullException(nameof(jobData)); } if (webhookDefinition == null) { throw new ArgumentNullException(nameof(webhookDefinition)); } throw new NotImplementedException(); }
public override bool Accept(IWebhookDefinition webhookDefinition) { return(webhookDefinition.ProviderId == HarvestCrawlerConstants.ProviderId || base.Accept(webhookDefinition)); }
public override Task DeleteWebHook(Core.ExecutionContext context, CrawlJobData jobData, IWebhookDefinition webhookDefinition) { throw new NotImplementedException(); }
public override async Task <IEnumerable <WebHookSignature> > CreateWebHook(ExecutionContext context, [NotNull] CrawlJobData jobData, [NotNull] IWebhookDefinition webhookDefinition, [NotNull] IDictionary <string, object> config) { if (jobData == null) { throw new ArgumentNullException(nameof(jobData)); } if (webhookDefinition == null) { throw new ArgumentNullException(nameof(webhookDefinition)); } if (config == null) { throw new ArgumentNullException(nameof(config)); } return(await Task.Run(() => { var webhookSignatures = new List <WebHookSignature>(); var webhookSignature = new WebHookSignature { Signature = webhookDefinition.ProviderDefinitionId.ToString(), ExternalVersion = "v1", ExternalId = null, EventTypes = "Created,Uploaded,Commented,Downloaded,Previewed,Moved,Copied" }; webhookSignatures.Add(webhookSignature); webhookDefinition.Uri = new Uri(appContext.System.Configuration.WebhookReturnUrl.Trim('/') + ConfigurationManager.AppSettings["Providers.Dropbox.WebhookEndpoint"]); var organizationProviderDataStore = context.Organization.DataStores.GetDataStore <ProviderDefinition>(); if (organizationProviderDataStore != null) { if (webhookDefinition.ProviderDefinitionId != null) { var webhookEnabled = organizationProviderDataStore.GetById(context, webhookDefinition.ProviderDefinitionId.Value); if (webhookEnabled != null) { webhookEnabled.WebHooks = true; organizationProviderDataStore.Update(context, webhookEnabled); } } } webhookDefinition.Verified = true; return webhookSignatures; })); }
public override bool Accept(IWebhookDefinition webhookDefinition) { return(webhookDefinition.ProviderId == GoToMeetingConstants.ProviderId || base.Accept(webhookDefinition)); }
public override bool Accept(ExecutionContext context, IWebhookDefinition webhookDefinition) { return(true); }
public override async Task <IEnumerable <WebHookSignature> > CreateWebHook(ExecutionContext context, [NotNull] CrawlJobData jobData, [NotNull] IWebhookDefinition webhookDefinition, [NotNull] IDictionary <string, object> config) { await Task.Run(() => { var adversusCrawlJobData = (AdversusCrawlJobData)jobData; var webhookSignatures = new List <WebHookSignature>(); try { var client = _adversusClientFactory.CreateNew(adversusCrawlJobData); var data = client.GetWebhooks(adversusCrawlJobData.Username, adversusCrawlJobData.Password); if (data == null) { return(webhookSignatures); } var hookTypes = new[] { "lead_saved", "call_ended", "callAnswered", "leadClosedSuccess", "leadClosedAutomaticRedial", "leadClosedPrivateRedial", "leadClosedNotInterested", "leadClosedInvalid", "leadClosedUnqualified", "leadClosedSystem", "leads_deactivated", "leads_inserted", "mail_activity", "sms_sent", "sms_received", "appointment_added", "appointment_updated" }; webhookDefinition.Uri = new Uri(this.appContext.System.Configuration.WebhookReturnUrl.Trim('/') /*+ ConfigurationManagerEx.AppSettings["Providers.HubSpot.WebhookEndpoint"]*/); foreach (var subscription in hookTypes) { if (config.ContainsKey("webhooks")) { //var enabledHooks = (List<WebhookEventType>)config["webhooks"]; //var enabled = enabledHooks.Where(s => s.Status == "ACTIVE").Select(s => s.Name); //if (!enabled.Contains(subscription)) //{ // continue; //} } try { var result = client.CreateWebhooks(webhookDefinition.Uri, subscription); webhookSignatures.Add(new WebHookSignature { Signature = webhookDefinition.ProviderDefinitionId.ToString(), ExternalVersion = "v1", ExternalId = null, EventTypes = "lead_saved,call_ended,callAnswered,leadClosedSuccess,leadClosedAutomaticRedial,leadClosedPrivateRedial,leadClosedNotInterested,leadClosedInvalid,leadClosedUnqualified,leadClosedSystem,leads_deactivated,leads_inserted,mail_activity,sms_sent,sms_received,appointment_added,appointment_updated" }); } catch (Exception exception) { context.Log.LogWarning("Could not create HubSpot Webhook for subscription", exception); return(new List <WebHookSignature>()); } } webhookDefinition.Verified = true; } catch (Exception exception) { context.Log.LogWarning("Could not create Adversus Webhook", exception); return(new List <WebHookSignature>()); } var organizationProviderDataStore = context.Organization.DataStores.GetDataStore <ProviderDefinition>(); if (organizationProviderDataStore != null) { if (webhookDefinition.ProviderDefinitionId != null) { var webhookEnabled = organizationProviderDataStore.GetById(context, webhookDefinition.ProviderDefinitionId.Value); if (webhookEnabled != null) { webhookEnabled.WebHooks = true; organizationProviderDataStore.Update(context, webhookEnabled); } } } return(webhookSignatures); }); return(new List <WebHookSignature>()); }
public override bool Accept(IWebhookDefinition webhookDefinition) { return(webhookDefinition.ProviderId == AdventureWorksConstants.ProviderId || base.Accept(webhookDefinition)); }