mirror of
https://github.com/anyproto/any-sync.git
synced 2025-06-08 14:07:02 +09:00
Simplify cred provider logic
This commit is contained in:
parent
dc72150c1a
commit
d0117b5d6e
3 changed files with 18 additions and 38 deletions
|
@ -6,28 +6,35 @@ import (
|
||||||
"github.com/anytypeio/any-sync/app"
|
"github.com/anytypeio/any-sync/app"
|
||||||
"github.com/anytypeio/any-sync/commonspace/spacesyncproto"
|
"github.com/anytypeio/any-sync/commonspace/spacesyncproto"
|
||||||
"github.com/anytypeio/any-sync/coordinator/coordinatorclient"
|
"github.com/anytypeio/any-sync/coordinator/coordinatorclient"
|
||||||
"github.com/anytypeio/any-sync/nodeconf"
|
|
||||||
"github.com/gogo/protobuf/proto"
|
"github.com/gogo/protobuf/proto"
|
||||||
)
|
)
|
||||||
|
|
||||||
const CName = "common.commonspace.credentialprovider"
|
const CName = "common.commonspace.credentialprovider"
|
||||||
|
|
||||||
func New() CredentialProvider {
|
func New() app.Component {
|
||||||
return &credentialProvider{}
|
return &credentialProvider{}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func NewNoOp() CredentialProvider {
|
||||||
|
return &noOpProvider{}
|
||||||
|
}
|
||||||
|
|
||||||
type CredentialProvider interface {
|
type CredentialProvider interface {
|
||||||
app.Component
|
|
||||||
GetCredential(ctx context.Context, spaceHeader *spacesyncproto.RawSpaceHeaderWithId) ([]byte, error)
|
GetCredential(ctx context.Context, spaceHeader *spacesyncproto.RawSpaceHeaderWithId) ([]byte, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type noOpProvider struct {
|
||||||
|
}
|
||||||
|
|
||||||
|
func (n noOpProvider) GetCredential(ctx context.Context, spaceHeader *spacesyncproto.RawSpaceHeaderWithId) ([]byte, error) {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
|
||||||
type credentialProvider struct {
|
type credentialProvider struct {
|
||||||
conf nodeconf.Service
|
|
||||||
client coordinatorclient.CoordinatorClient
|
client coordinatorclient.CoordinatorClient
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *credentialProvider) Init(a *app.App) (err error) {
|
func (c *credentialProvider) Init(a *app.App) (err error) {
|
||||||
c.conf = a.MustComponent(nodeconf.CName).(nodeconf.Service)
|
|
||||||
c.client = a.MustComponent(coordinatorclient.CName).(coordinatorclient.CoordinatorClient)
|
c.client = a.MustComponent(coordinatorclient.CName).(coordinatorclient.CoordinatorClient)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -37,9 +44,6 @@ func (c *credentialProvider) Name() (name string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *credentialProvider) GetCredential(ctx context.Context, spaceHeader *spacesyncproto.RawSpaceHeaderWithId) ([]byte, error) {
|
func (c *credentialProvider) GetCredential(ctx context.Context, spaceHeader *spacesyncproto.RawSpaceHeaderWithId) ([]byte, error) {
|
||||||
if c.conf.GetLast().IsResponsible(spaceHeader.Id) {
|
|
||||||
return nil, nil
|
|
||||||
}
|
|
||||||
receipt, err := c.client.SpaceSign(ctx, spaceHeader.Id, spaceHeader.RawHeader)
|
receipt, err := c.client.SpaceSign(ctx, spaceHeader.Id, spaceHeader.RawHeader)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|
|
@ -8,7 +8,6 @@ import (
|
||||||
context "context"
|
context "context"
|
||||||
reflect "reflect"
|
reflect "reflect"
|
||||||
|
|
||||||
app "github.com/anytypeio/any-sync/app"
|
|
||||||
spacesyncproto "github.com/anytypeio/any-sync/commonspace/spacesyncproto"
|
spacesyncproto "github.com/anytypeio/any-sync/commonspace/spacesyncproto"
|
||||||
gomock "github.com/golang/mock/gomock"
|
gomock "github.com/golang/mock/gomock"
|
||||||
)
|
)
|
||||||
|
@ -50,31 +49,3 @@ func (mr *MockCredentialProviderMockRecorder) GetCredential(arg0, arg1 interface
|
||||||
mr.mock.ctrl.T.Helper()
|
mr.mock.ctrl.T.Helper()
|
||||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCredential", reflect.TypeOf((*MockCredentialProvider)(nil).GetCredential), arg0, arg1)
|
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCredential", reflect.TypeOf((*MockCredentialProvider)(nil).GetCredential), arg0, arg1)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Init mocks base method.
|
|
||||||
func (m *MockCredentialProvider) Init(arg0 *app.App) error {
|
|
||||||
m.ctrl.T.Helper()
|
|
||||||
ret := m.ctrl.Call(m, "Init", arg0)
|
|
||||||
ret0, _ := ret[0].(error)
|
|
||||||
return ret0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Init indicates an expected call of Init.
|
|
||||||
func (mr *MockCredentialProviderMockRecorder) Init(arg0 interface{}) *gomock.Call {
|
|
||||||
mr.mock.ctrl.T.Helper()
|
|
||||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Init", reflect.TypeOf((*MockCredentialProvider)(nil).Init), arg0)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Name mocks base method.
|
|
||||||
func (m *MockCredentialProvider) Name() string {
|
|
||||||
m.ctrl.T.Helper()
|
|
||||||
ret := m.ctrl.Call(m, "Name")
|
|
||||||
ret0, _ := ret[0].(string)
|
|
||||||
return ret0
|
|
||||||
}
|
|
||||||
|
|
||||||
// Name indicates an expected call of Name.
|
|
||||||
func (mr *MockCredentialProviderMockRecorder) Name() *gomock.Call {
|
|
||||||
mr.mock.ctrl.T.Helper()
|
|
||||||
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Name", reflect.TypeOf((*MockCredentialProvider)(nil).Name))
|
|
||||||
}
|
|
||||||
|
|
|
@ -58,7 +58,12 @@ func (s *spaceService) Init(a *app.App) (err error) {
|
||||||
s.configurationService = a.MustComponent(nodeconf.CName).(nodeconf.Service)
|
s.configurationService = a.MustComponent(nodeconf.CName).(nodeconf.Service)
|
||||||
s.treeGetter = a.MustComponent(treegetter.CName).(treegetter.TreeGetter)
|
s.treeGetter = a.MustComponent(treegetter.CName).(treegetter.TreeGetter)
|
||||||
s.peermanagerProvider = a.MustComponent(peermanager.CName).(peermanager.PeerManagerProvider)
|
s.peermanagerProvider = a.MustComponent(peermanager.CName).(peermanager.PeerManagerProvider)
|
||||||
s.credentialProvider = a.MustComponent(credentialprovider.CName).(credentialprovider.CredentialProvider)
|
credProvider := a.Component(credentialprovider.CName)
|
||||||
|
if credProvider != nil {
|
||||||
|
s.credentialProvider = credProvider.(credentialprovider.CredentialProvider)
|
||||||
|
} else {
|
||||||
|
s.credentialProvider = credentialprovider.NewNoOp()
|
||||||
|
}
|
||||||
s.pool = a.MustComponent(pool.CName).(pool.Pool)
|
s.pool = a.MustComponent(pool.CName).(pool.Pool)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue