UNPKG

@backstage/integration

Version:

Helpers for managing integrations towards external systems

29 lines (26 loc) 1.09 kB
import { SingleInstanceGitlabCredentialsProvider } from './SingleInstanceGitlabCredentialsProvider.esm.js'; class DefaultGitlabCredentialsProvider { constructor(providers) { this.providers = providers; } static fromIntegrations(integrations) { const credentialsProviders = /* @__PURE__ */ new Map(); integrations.gitlab.list().forEach((integration) => { const credentialsProvider = SingleInstanceGitlabCredentialsProvider.create(integration.config); credentialsProviders.set(integration.config.host, credentialsProvider); }); return new DefaultGitlabCredentialsProvider(credentialsProviders); } async getCredentials(opts) { const parsed = new URL(opts.url); const provider = this.providers.get(parsed.host); if (!provider) { throw new Error( `There is no GitLab integration that matches ${opts.url}. Please add a configuration for an integration.` ); } return provider.getCredentials(opts); } } export { DefaultGitlabCredentialsProvider }; //# sourceMappingURL=DefaultGitlabCredentialsProvider.esm.js.map