UNPKG

@backstage/integration

Version:

Helpers for managing integrations towards external systems

31 lines (27 loc) 1.18 kB
'use strict'; var SingleInstanceGitlabCredentialsProvider = require('./SingleInstanceGitlabCredentialsProvider.cjs.js'); class DefaultGitlabCredentialsProvider { constructor(providers) { this.providers = providers; } static fromIntegrations(integrations) { const credentialsProviders = /* @__PURE__ */ new Map(); integrations.gitlab.list().forEach((integration) => { const credentialsProvider = SingleInstanceGitlabCredentialsProvider.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); } } exports.DefaultGitlabCredentialsProvider = DefaultGitlabCredentialsProvider; //# sourceMappingURL=DefaultGitlabCredentialsProvider.cjs.js.map