private async Task DisableIntegrationAsync(WebHookNotification body) { switch (body.Type) { case WebHookType.General: await _webHookRepository.MarkDisabledAsync(body.WebHookId).AnyContext(); break; case WebHookType.Slack: var project = await _projectRepository.GetByIdAsync(body.ProjectId).AnyContext(); var token = project?.GetSlackToken(); if (token == null) { return; } await _slackService.RevokeAccessTokenAsync(token.AccessToken).AnyContext(); if (project.NotificationSettings.Remove(Project.NotificationIntegrations.Slack) | project.Data.Remove(Project.KnownDataKeys.SlackToken)) { await _projectRepository.SaveAsync(project, o => o.Cache()); } break; } }