@@ -103,37 +103,38 @@ type Auth struct {
103103
104104const BrevAPIKeyPrefix = "bak-"
105105
106- type TokenProvider interface {
107- GetAccessToken () (string , error )
108- }
106+ const MissingAPIKeyOrgIDMessage = "api key auth requires an org id; run brev login --api-key <api-key> --org-id <org-id>"
109107
110- type APIKeyOrgProvider interface {
108+ type APIKeyAuthStore interface {
111109 GetAuthTokens () (* entity.AuthTokens , error )
112110}
113111
114112func IsBrevAPIKey (token string ) bool {
115113 return strings .HasPrefix (strings .TrimSpace (token ), BrevAPIKeyPrefix )
116114}
117115
118- func IsAPIKeyAuthStore (tokenProvider TokenProvider ) bool {
119- token , err := tokenProvider . GetAccessToken ()
116+ func IsAPIKeyAuthStore (authTokensProvider APIKeyAuthStore ) bool {
117+ tokens , err := authTokensProvider . GetAuthTokens ()
120118 if err != nil {
121119 return false
122120 }
123- return IsBrevAPIKey (token )
121+ if tokens == nil {
122+ return false
123+ }
124+ return IsBrevAPIKey (tokens .APIKey )
124125}
125126
126- func GetAPIKeyOrgID (authTokensProvider APIKeyOrgProvider ) (string , error ) {
127+ func GetAPIKeyOrgID (authTokensProvider APIKeyAuthStore ) (string , error ) {
127128 tokens , err := authTokensProvider .GetAuthTokens ()
128129 if err != nil {
129130 return "" , breverrors .WrapAndTrace (err )
130131 }
131132 if tokens == nil {
132- return "" , breverrors .NewValidationError ("api key auth requires an org id; run brev login --api-key <api-key> --org-id <org-id>" )
133+ return "" , breverrors .NewValidationError (MissingAPIKeyOrgIDMessage )
133134 }
134135 orgID := strings .TrimSpace (tokens .APIKeyOrgID )
135136 if orgID == "" {
136- return "" , breverrors .NewValidationError ("api key auth requires an org id; run brev login --api-key <api-key> --org-id <org-id>" )
137+ return "" , breverrors .NewValidationError (MissingAPIKeyOrgIDMessage )
137138 }
138139 return orgID , nil
139140}
@@ -183,13 +184,13 @@ func (t Auth) GetFreshAccessTokenOrNil() (string, error) {
183184 return "" , nil
184185 }
185186
186- if tokens .APIKey != "" {
187- apiKey := strings .TrimSpace (tokens .APIKey )
188- if apiKey == "" {
189- return "" , breverrors .NewValidationError ("api key is empty" )
190- }
187+ apiKey := strings .TrimSpace (tokens .APIKey )
188+ if apiKey != "" {
191189 return apiKey , nil
192190 }
191+ if tokens .APIKey != "" {
192+ return "" , breverrors .NewValidationError ("api key is empty" )
193+ }
193194
194195 // should always at least have access token?
195196 if tokens .AccessToken == "" {
@@ -277,7 +278,7 @@ func (t Auth) LoginWithAPIKey(apiKey string, orgID string) error {
277278 }
278279 orgID = strings .TrimSpace (orgID )
279280 if orgID == "" {
280- return breverrors .NewValidationError ("org-id is required with api-key" )
281+ return breverrors .NewValidationError (MissingAPIKeyOrgIDMessage )
281282 }
282283
283284 tokens , err := t .getSavedTokensOrNil ()
0 commit comments