Revert "Bridges: move credential loading and client creation"

Alexander Scharinger created

This reverts commit 3d14e2e67c4985c429471ea6643f013ade2c2692.

Change summary

bridge/gitlab/import.go | 25 +++++++++++---------
bridge/jira/import.go   | 52 ++++++++++++++++++++----------------------
2 files changed, 39 insertions(+), 38 deletions(-)

Detailed changes

bridge/gitlab/import.go 🔗

@@ -33,29 +33,32 @@ type gitlabImporter struct {
 
 func (gi *gitlabImporter) Init(_ context.Context, repo *cache.RepoCache, conf core.Configuration) error {
 	gi.conf = conf
-	return nil
-}
 
-// ImportAll iterate over all the configured repository issues (notes) and ensure the creation
-// of the missing issues / comments / label events / title changes ...
-func (gi *gitlabImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, since time.Time) (<-chan core.ImportResult, error) {
 	creds, err := auth.List(repo,
 		auth.WithTarget(target),
 		auth.WithKind(auth.KindToken),
-		auth.WithMeta(auth.MetaKeyBaseURL, gi.conf[confKeyGitlabBaseUrl]),
-		auth.WithMeta(auth.MetaKeyLogin, gi.conf[confKeyDefaultLogin]),
+		auth.WithMeta(auth.MetaKeyBaseURL, conf[confKeyGitlabBaseUrl]),
+		auth.WithMeta(auth.MetaKeyLogin, conf[confKeyDefaultLogin]),
 	)
 	if err != nil {
-		return nil, err
+		return err
 	}
+
 	if len(creds) == 0 {
-		return nil, ErrMissingIdentityToken
+		return ErrMissingIdentityToken
 	}
-	gi.client, err = buildClient(gi.conf[confKeyGitlabBaseUrl], creds[0].(*auth.Token))
+
+	gi.client, err = buildClient(conf[confKeyGitlabBaseUrl], creds[0].(*auth.Token))
 	if err != nil {
-		return nil, err
+		return err
 	}
 
+	return nil
+}
+
+// ImportAll iterate over all the configured repository issues (notes) and ensure the creation
+// of the missing issues / comments / label events / title changes ...
+func (gi *gitlabImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, since time.Time) (<-chan core.ImportResult, error) {
 	gi.iterator = iterator.NewIterator(ctx, gi.client, 10, gi.conf[confKeyProjectID], since)
 	out := make(chan core.ImportResult)
 	gi.out = out

bridge/jira/import.go 🔗

@@ -34,12 +34,6 @@ type jiraImporter struct {
 // Init .
 func (ji *jiraImporter) Init(ctx context.Context, repo *cache.RepoCache, conf core.Configuration) error {
 	ji.conf = conf
-	return nil
-}
-
-// ImportAll iterate over all the configured repository issues and ensure the
-// creation of the missing issues / timeline items / edits / label events ...
-func (ji *jiraImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, since time.Time) (<-chan core.ImportResult, error) {
 
 	var cred auth.Credential
 
@@ -47,40 +41,44 @@ func (ji *jiraImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, si
 	creds, err := auth.List(repo,
 		auth.WithTarget(target),
 		auth.WithKind(auth.KindLoginPassword),
-		auth.WithMeta(auth.MetaKeyBaseURL, ji.conf[confKeyBaseUrl]),
-		auth.WithMeta(auth.MetaKeyLogin, ji.conf[confKeyDefaultLogin]),
+		auth.WithMeta(auth.MetaKeyBaseURL, conf[confKeyBaseUrl]),
+		auth.WithMeta(auth.MetaKeyLogin, conf[confKeyDefaultLogin]),
 	)
 	if err != nil {
-		return nil, err
+		return err
 	}
 	if len(creds) > 0 {
 		cred = creds[0]
-	} else {
-		creds, err = auth.List(repo,
-			auth.WithTarget(target),
-			auth.WithKind(auth.KindLogin),
-			auth.WithMeta(auth.MetaKeyBaseURL, ji.conf[confKeyBaseUrl]),
-			auth.WithMeta(auth.MetaKeyLogin, ji.conf[confKeyDefaultLogin]),
-		)
-		if err != nil {
-			return nil, err
-		}
-		if len(creds) > 0 {
-			cred = creds[0]
-		}
+		goto end
 	}
 
+	creds, err = auth.List(repo,
+		auth.WithTarget(target),
+		auth.WithKind(auth.KindLogin),
+		auth.WithMeta(auth.MetaKeyBaseURL, conf[confKeyBaseUrl]),
+		auth.WithMeta(auth.MetaKeyLogin, conf[confKeyDefaultLogin]),
+	)
+	if err != nil {
+		return err
+	}
+	if len(creds) > 0 {
+		cred = creds[0]
+	}
+
+end:
 	if cred == nil {
-		return nil, fmt.Errorf("no credential for this bridge")
+		return fmt.Errorf("no credential for this bridge")
 	}
 
 	// TODO(josh)[da52062]: Validate token and if it is expired then prompt for
 	// credentials and generate a new one
-	ji.client, err = buildClient(ctx, ji.conf[confKeyBaseUrl], ji.conf[confKeyCredentialType], cred)
-	if err != nil {
-		return nil, err
-	}
+	ji.client, err = buildClient(ctx, conf[confKeyBaseUrl], conf[confKeyCredentialType], cred)
+	return err
+}
 
+// ImportAll iterate over all the configured repository issues and ensure the
+// creation of the missing issues / timeline items / edits / label events ...
+func (ji *jiraImporter) ImportAll(ctx context.Context, repo *cache.RepoCache, since time.Time) (<-chan core.ImportResult, error) {
 	sinceStr := since.Format("2006-01-02 15:04")
 	project := ji.conf[confKeyProject]