You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by bz...@apache.org on 2021/10/11 02:56:31 UTC

[apisix-dashboard] branch master updated: feat: add Type function to store interface (#2160)

This is an automated email from the ASF dual-hosted git repository.

bzp2010 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-dashboard.git


The following commit(s) were added to refs/heads/master by this push:
     new e432392  feat: add Type function to store interface (#2160)
e432392 is described below

commit e432392932dcaf362ab6866ee9dc184b25cf527b
Author: bzp2010 <bz...@apache.org>
AuthorDate: Sun Oct 10 21:56:25 2021 -0500

    feat: add Type function to store interface (#2160)
    
    * feat: add Type function to store interface
    
    * chore: remove unused code
---
 api/internal/core/store/store.go      | 6 ++++++
 api/internal/core/store/store_mock.go | 5 +++++
 api/internal/core/store/storehub.go   | 1 +
 3 files changed, 12 insertions(+)

diff --git a/api/internal/core/store/store.go b/api/internal/core/store/store.go
index a7eba74..176c261 100644
--- a/api/internal/core/store/store.go
+++ b/api/internal/core/store/store.go
@@ -42,6 +42,7 @@ type Pagination struct {
 }
 
 type Interface interface {
+	Type() HubKey
 	Get(ctx context.Context, key string) (interface{}, error)
 	List(ctx context.Context, input ListInput) (*ListOutput, error)
 	Create(ctx context.Context, obj interface{}) (interface{}, error)
@@ -64,6 +65,7 @@ type GenericStoreOption struct {
 	KeyFunc    func(obj interface{}) string
 	StockCheck func(obj interface{}, stockObj interface{}) error
 	Validator  Validator
+	HubKey     HubKey
 }
 
 func NewGenericStore(opt GenericStoreOption) (*GenericStore, error) {
@@ -142,6 +144,10 @@ func (s *GenericStore) Init() error {
 	return nil
 }
 
+func (s *GenericStore) Type() HubKey {
+	return s.opt.HubKey
+}
+
 func (s *GenericStore) Get(_ context.Context, key string) (interface{}, error) {
 	ret, ok := s.cache.Load(key)
 	if !ok {
diff --git a/api/internal/core/store/store_mock.go b/api/internal/core/store/store_mock.go
index c6801d6..10fc5b3 100644
--- a/api/internal/core/store/store_mock.go
+++ b/api/internal/core/store/store_mock.go
@@ -25,6 +25,11 @@ import (
 
 type MockInterface struct {
 	mock.Mock
+	HubKey HubKey
+}
+
+func (m *MockInterface) Type() HubKey {
+	return m.HubKey
 }
 
 func (m *MockInterface) Get(_ context.Context, key string) (interface{}, error) {
diff --git a/api/internal/core/store/storehub.go b/api/internal/core/store/storehub.go
index db14196..4ab9962 100644
--- a/api/internal/core/store/storehub.go
+++ b/api/internal/core/store/storehub.go
@@ -60,6 +60,7 @@ func InitStore(key HubKey, opt GenericStoreOption) error {
 		}
 		opt.Validator = validator
 	}
+	opt.HubKey = key
 	s, err := NewGenericStore(opt)
 	if err != nil {
 		log.Errorf("NewGenericStore error: %s", err)