/// <summary> /// Instantiates an instance of <see cref="Bootstrapping" /> /// </summary> /// <param name="logger">A looger</param> /// <param name="handlers">A collection of implementations that can handle github webhook requests</param> /// <param name="registry">A registry of handler methods for associating requests with handlers</param> public Bootstrapping( ILogger logger, IImplementationsOf <ICanHandleGitHubWebhooks> handlers, IWebhookHandlerRegistry registry ) { _logger = logger; _handlers = handlers; _registry = registry; }
/// <summary> /// Instantiates an instance of <see cref="WebhookCoordinator" /> /// </summary> /// <param name="tenantMapper">An installation to tenant mapper</param> /// <param name="schedulerFactory">A factory for creating an instance of the scheduler</param> /// <param name="executionContextManager">The execution context manager for scoping to the correct tenant</param> /// <param name="handlerRegistry">The handler registry for finding the correct handlers for the webhook type</param> /// <param name="logger">A logger for logging</param> public WebhookCoordinator( IInstallationToTenantMapper tenantMapper, FactoryFor <IWebhookScheduler> schedulerFactory, IExecutionContextManager executionContextManager, IWebhookHandlerRegistry handlerRegistry, ILogger logger ) { _tenantMapper = tenantMapper; _schedulerFactory = schedulerFactory; _executionContextManager = executionContextManager; _logger = logger; _handlerRegistry = handlerRegistry; }