🚨 Removed linter warnings in token package
This commit is contained in:
parent
4f63db7bfa
commit
eda0f7095c
|
@ -92,22 +92,19 @@ func (h *RequestHandler) Revocation(ctx *http.RequestCtx) {
|
||||||
|
|
||||||
req := new(RevocationRequest)
|
req := new(RevocationRequest)
|
||||||
if err := req.bind(ctx); err != nil {
|
if err := req.bind(ctx); err != nil {
|
||||||
ctx.SetStatusCode(http.StatusBadRequest)
|
ctx.Error(err.Error(), http.StatusBadRequest)
|
||||||
encoder.Encode(err)
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := h.tokener.Revoke(ctx, req.Token); err != nil {
|
if err := h.tokener.Revoke(ctx, req.Token); err != nil {
|
||||||
ctx.SetStatusCode(http.StatusBadRequest)
|
ctx.Error(err.Error(), http.StatusBadRequest)
|
||||||
encoder.Encode(err)
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := encoder.Encode(&RevocationResponse{}); err != nil {
|
if err := encoder.Encode(&RevocationResponse{}); err != nil {
|
||||||
ctx.SetStatusCode(http.StatusInternalServerError)
|
ctx.Error(err.Error(), http.StatusInternalServerError)
|
||||||
encoder.Encode(err)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ type boltTokenRepository struct {
|
||||||
|
|
||||||
var ErrNotExist error = errors.New("token not exist")
|
var ErrNotExist error = errors.New("token not exist")
|
||||||
|
|
||||||
var DefaultBucket []byte = []byte("tokens")
|
var DefaultBucket = []byte("tokens") //nolint: gochecknoglobals
|
||||||
|
|
||||||
func NewBoltTokenRepository(db *bolt.DB) token.Repository {
|
func NewBoltTokenRepository(db *bolt.DB) token.Repository {
|
||||||
return &boltTokenRepository{
|
return &boltTokenRepository{
|
||||||
|
@ -42,7 +42,12 @@ func (repo *boltTokenRepository) Create(ctx context.Context, accessToken *domain
|
||||||
return errors.Wrap(err, "cannot create bucket")
|
return errors.Wrap(err, "cannot create bucket")
|
||||||
}
|
}
|
||||||
|
|
||||||
return bkt.Put([]byte(accessToken.AccessToken), []byte(accessToken.Expiry.Format(time.RFC3339)))
|
err = bkt.Put([]byte(accessToken.AccessToken), []byte(accessToken.Expiry.Format(time.RFC3339)))
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "cannot put token into bucket")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}); err != nil {
|
}); err != nil {
|
||||||
return errors.Wrap(err, "failed to batch token in database")
|
return errors.Wrap(err, "failed to batch token in database")
|
||||||
}
|
}
|
||||||
|
@ -52,9 +57,12 @@ func (repo *boltTokenRepository) Create(ctx context.Context, accessToken *domain
|
||||||
|
|
||||||
func (repo *boltTokenRepository) Get(ctx context.Context, accessToken string) (*domain.Token, error) {
|
func (repo *boltTokenRepository) Get(ctx context.Context, accessToken string) (*domain.Token, error) {
|
||||||
result := &domain.Token{
|
result := &domain.Token{
|
||||||
|
Expiry: time.Time{},
|
||||||
|
Scopes: []string{},
|
||||||
AccessToken: accessToken,
|
AccessToken: accessToken,
|
||||||
TokenType: "Bearer",
|
TokenType: "Bearer",
|
||||||
Expiry: time.Time{},
|
ClientID: "",
|
||||||
|
Me: "",
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := repo.db.View(func(tx *bolt.Tx) (err error) {
|
if err := repo.db.View(func(tx *bolt.Tx) (err error) {
|
||||||
|
@ -69,7 +77,7 @@ func (repo *boltTokenRepository) Get(ctx context.Context, accessToken string) (*
|
||||||
}
|
}
|
||||||
|
|
||||||
if result.Expiry, err = time.Parse(time.RFC3339, string(expiry)); err != nil {
|
if result.Expiry, err = time.Parse(time.RFC3339, string(expiry)); err != nil {
|
||||||
return err
|
return errors.Wrap(err, "cannot parse expiry date")
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/pkg/errors"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
bolt "go.etcd.io/bbolt"
|
bolt "go.etcd.io/bbolt"
|
||||||
|
@ -27,13 +28,15 @@ func TestCreate(t *testing.T) {
|
||||||
require.NoError(t, repo.Create(context.TODO(), accessToken))
|
require.NoError(t, repo.Create(context.TODO(), accessToken))
|
||||||
|
|
||||||
result := &domain.Token{
|
result := &domain.Token{
|
||||||
|
Expiry: time.Time{},
|
||||||
|
Scopes: []string{},
|
||||||
AccessToken: accessToken.AccessToken,
|
AccessToken: accessToken.AccessToken,
|
||||||
TokenType: accessToken.TokenType,
|
TokenType: accessToken.TokenType,
|
||||||
Expiry: time.Time{},
|
ClientID: "",
|
||||||
|
Me: "",
|
||||||
}
|
}
|
||||||
|
|
||||||
require.NoError(t, db.View(func(tx *bolt.Tx) (err error) {
|
require.NoError(t, db.View(func(tx *bolt.Tx) (err error) {
|
||||||
//nolint: exhaustivestruct
|
|
||||||
src := tx.Bucket(repository.DefaultBucket).Get([]byte(accessToken.AccessToken))
|
src := tx.Bucket(repository.DefaultBucket).Get([]byte(accessToken.AccessToken))
|
||||||
|
|
||||||
result.Expiry, err = time.Parse(time.RFC3339, string(src))
|
result.Expiry, err = time.Parse(time.RFC3339, string(src))
|
||||||
|
@ -57,10 +60,15 @@ func TestGet(t *testing.T) {
|
||||||
require.NoError(t, db.Update(func(tx *bolt.Tx) error {
|
require.NoError(t, db.Update(func(tx *bolt.Tx) error {
|
||||||
bkt, err := tx.CreateBucketIfNotExists(repository.DefaultBucket)
|
bkt, err := tx.CreateBucketIfNotExists(repository.DefaultBucket)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrap(err, "cannot create bucket")
|
||||||
}
|
}
|
||||||
|
|
||||||
return bkt.Put([]byte(accessToken.AccessToken), []byte(accessToken.Expiry.Format(time.RFC3339)))
|
err = bkt.Put([]byte(accessToken.AccessToken), []byte(accessToken.Expiry.Format(time.RFC3339)))
|
||||||
|
if err != nil {
|
||||||
|
return errors.Wrap(err, "cannot put token into bucket")
|
||||||
|
}
|
||||||
|
|
||||||
|
return nil
|
||||||
}))
|
}))
|
||||||
|
|
||||||
result, err := repo.Get(context.TODO(), accessToken.AccessToken)
|
result, err := repo.Get(context.TODO(), accessToken.AccessToken)
|
||||||
|
|
|
@ -41,8 +41,11 @@ func (repo *memoryTokenRepository) Get(ctx context.Context, accessToken string)
|
||||||
}
|
}
|
||||||
|
|
||||||
return &domain.Token{
|
return &domain.Token{
|
||||||
|
Expiry: expiry.(time.Time),
|
||||||
|
Scopes: []string{},
|
||||||
AccessToken: accessToken,
|
AccessToken: accessToken,
|
||||||
TokenType: "Bearer",
|
TokenType: "Bearer",
|
||||||
Expiry: expiry.(time.Time),
|
ClientID: "",
|
||||||
|
Me: "",
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue