github.com/oinume/lekcije@v0.0.0-20231017100347-5b4c5eb6ab24/backend/infrastructure/gcp/client.go (about)

     1  package gcp
     2  
     3  import (
     4  	"encoding/base64"
     5  
     6  	"github.com/morikuni/failure"
     7  	"google.golang.org/api/option"
     8  )
     9  
    10  type Cleaner func()
    11  
    12  func WithCredentialsJSONFromBase64String(value string) (option.ClientOption, error) {
    13  	b, err := base64.StdEncoding.DecodeString(value)
    14  	if err != nil {
    15  		return nil, failure.Wrap(err, failure.Message("failed to decode base64 string"))
    16  	}
    17  	return option.WithCredentialsJSON(b), nil
    18  }