github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/singletons/auth_client/load.go (about)

     1  //go:build !localAuthClient
     2  
     3  package authClient
     4  
     5  import (
     6  	"github.com/taubyte/tau-cli/i18n"
     7  	singletonsI18n "github.com/taubyte/tau-cli/i18n/singletons"
     8  	client "github.com/taubyte/tau/clients/http/auth"
     9  )
    10  
    11  func Load() (*client.Client, error) {
    12  	if _client == nil {
    13  		profile, client, err := loadClient()
    14  		if err != nil {
    15  			return nil, singletonsI18n.LoadingAuthClientFailed(err)
    16  		}
    17  
    18  		_, err = client.User().Get()
    19  		if err != nil {
    20  			i18n.Help().TokenMayBeExpired(profile.Name())
    21  			return nil, err
    22  		}
    23  
    24  		_client = client
    25  	}
    26  
    27  	return _client, nil
    28  }