Skip to content

Commit

Permalink
Wrap storage.ErrNotFound in backends for context
Browse files Browse the repository at this point in the history
  • Loading branch information
jessepeterson committed Nov 3, 2022
1 parent 2a3e363 commit b4726a4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
7 changes: 4 additions & 3 deletions storage/file/file.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"errors"
"fmt"
"io/fs"
"os"
"path"
Expand Down Expand Up @@ -65,7 +66,7 @@ func (s *FileStorage) RetrieveAuthTokens(_ context.Context, name string) (*clien
tokens := new(client.OAuth1Tokens)
err := decodeJSONfile(s.tokensFilename(name), tokens)
if errors.Is(err, os.ErrNotExist) {
err = storage.ErrNotFound
err = fmt.Errorf("%v: %w", err, storage.ErrNotFound)
}
return tokens, err
}
Expand Down Expand Up @@ -173,14 +174,14 @@ func (s *FileStorage) RetrieveTokenPKI(_ context.Context, name string) ([]byte,
certBytes, err := os.ReadFile(s.tokenpkiFilename(name, "cert"))
if err != nil {
if errors.Is(err, os.ErrNotExist) {
return nil, nil, storage.ErrNotFound
return nil, nil, fmt.Errorf("%v: %w", err, storage.ErrNotFound)
}
return nil, nil, err
}
keyBytes, err := os.ReadFile(s.tokenpkiFilename(name, "key"))
if err != nil {
if errors.Is(err, os.ErrNotExist) {
return nil, nil, storage.ErrNotFound
return nil, nil, fmt.Errorf("%v: %w", err, storage.ErrNotFound)
}
return nil, nil, err
}
Expand Down
9 changes: 5 additions & 4 deletions storage/mysql/mysql.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"database/sql"
_ "embed"
"errors"
"fmt"
"time"

"github.com/micromdm/nanodep/client"
Expand Down Expand Up @@ -108,12 +109,12 @@ WHERE
)
if err != nil {
if errors.Is(err, sql.ErrNoRows) {
return nil, storage.ErrNotFound
return nil, fmt.Errorf("%v: %w", err, storage.ErrNotFound)
}
return nil, err
}
if !consumerKey.Valid { // all auth token fields are set together
return nil, storage.ErrNotFound
return nil, fmt.Errorf("consumer key not valid: %w", storage.ErrNotFound)
}
accessTokenExpiryTime, err := time.Parse(timestampFormat, accessTokenExpiry.String)
if err != nil {
Expand Down Expand Up @@ -315,12 +316,12 @@ func (s *MySQLStorage) RetrieveTokenPKI(ctx context.Context, name string) (pemCe
&pemCert, &pemKey,
); err != nil {
if errors.Is(err, sql.ErrNoRows) {
return nil, nil, storage.ErrNotFound
return nil, nil, fmt.Errorf("%v: %w", err, storage.ErrNotFound)
}
return nil, nil, err
}
if pemCert == nil { // tokenpki_cert_pem and tokenpki_key_pem are set together
return nil, nil, storage.ErrNotFound
return nil, nil, fmt.Errorf("empty certificate: %w", storage.ErrNotFound)
}
return pemCert, pemKey, nil
}

0 comments on commit b4726a4

Please sign in to comment.