removing provider name

pull/99/head
Karolis Rusenas 2017-08-21 23:43:59 +01:00
parent 65701d4c28
commit 357e76919c
1 changed files with 25 additions and 27 deletions

View File

@ -27,13 +27,13 @@ type Manager interface {
Update(r *types.Approval) error
// Increases Approval votes by 1
Approve(provider types.ProviderType, identifier string) (*types.Approval, error)
Approve(identifier string) (*types.Approval, error)
// Rejects Approval
Reject(provider types.ProviderType, identifier string) (*types.Approval, error)
Reject(identifier string) (*types.Approval, error)
Get(provider types.ProviderType, identifier string) (*types.Approval, error)
List(provider types.ProviderType) ([]*types.Approval, error)
Delete(provider types.ProviderType, identifier string) error
Get(identifier string) (*types.Approval, error)
List() ([]*types.Approval, error)
Delete(identifier string) error
}
// Approvals related errors
@ -66,7 +66,7 @@ type DefaultManager struct {
// New create new instance of default manager
func New(cache cache.Cache, serializer codecs.Serializer, providers provider.Providers) *DefaultManager {
return &DefaultManager{
man := &DefaultManager{
cache: cache,
serializer: serializer,
providers: providers,
@ -74,6 +74,8 @@ func New(cache cache.Cache, serializer codecs.Serializer, providers provider.Pro
index: 0,
mu: &sync.Mutex{},
}
return man
}
// Subscribe - subscribe for approval events
@ -115,7 +117,7 @@ func (m *DefaultManager) publish(approval *types.Approval) error {
// Create - creates new approval request and publishes to all subscribers
func (m *DefaultManager) Create(r *types.Approval) error {
_, err := m.Get(r.Provider, r.Identifier)
_, err := m.Get(r.Identifier)
if err == nil {
return ErrApprovalAlreadyExists
}
@ -127,7 +129,7 @@ func (m *DefaultManager) Create(r *types.Approval) error {
ctx := cache.SetContextExpiration(context.Background(), r.Deadline)
err = m.cache.Put(ctx, getKey(r.Provider, r.Identifier), bts)
err = m.cache.Put(ctx, getKey(r.Identifier), bts)
if err != nil {
return err
}
@ -137,7 +139,7 @@ func (m *DefaultManager) Create(r *types.Approval) error {
}
func (m *DefaultManager) Update(r *types.Approval) error {
existing, err := m.Get(r.Provider, r.Identifier)
existing, err := m.Get(r.Identifier)
if err != nil {
return err
}
@ -150,7 +152,7 @@ func (m *DefaultManager) Update(r *types.Approval) error {
return err
}
if r.Approved() {
if r.Status() == types.ApprovalStatusApproved {
err = m.providers.Submit(*r.Event)
if err != nil {
log.WithFields(log.Fields{
@ -162,15 +164,15 @@ func (m *DefaultManager) Update(r *types.Approval) error {
}
ctx := cache.SetContextExpiration(context.Background(), r.Deadline)
return m.cache.Put(ctx, getKey(r.Provider, r.Identifier), bts)
return m.cache.Put(ctx, getKey(r.Identifier), bts)
}
// Approve - increase VotesReceived by 1 and returns updated version
func (m *DefaultManager) Approve(provider types.ProviderType, identifier string) (*types.Approval, error) {
func (m *DefaultManager) Approve(identifier string) (*types.Approval, error) {
m.mu.Lock()
defer m.mu.Unlock()
existing, err := m.Get(provider, identifier)
existing, err := m.Get(identifier)
if err != nil {
return nil, err
}
@ -187,11 +189,11 @@ func (m *DefaultManager) Approve(provider types.ProviderType, identifier string)
// Reject - rejects approval (marks rejected=true), approval will not be valid even if it
// collects required votes
func (m *DefaultManager) Reject(provider types.ProviderType, identifier string) (*types.Approval, error) {
func (m *DefaultManager) Reject(identifier string) (*types.Approval, error) {
m.mu.Lock()
defer m.mu.Unlock()
existing, err := m.Get(provider, identifier)
existing, err := m.Get(identifier)
if err != nil {
return nil, err
}
@ -206,8 +208,8 @@ func (m *DefaultManager) Reject(provider types.ProviderType, identifier string)
return existing, nil
}
func (m *DefaultManager) Get(provider types.ProviderType, identifier string) (*types.Approval, error) {
bts, err := m.cache.Get(context.Background(), getKey(provider, identifier))
func (m *DefaultManager) Get(identifier string) (*types.Approval, error) {
bts, err := m.cache.Get(context.Background(), getKey(identifier))
if err != nil {
return nil, err
}
@ -217,12 +219,8 @@ func (m *DefaultManager) Get(provider types.ProviderType, identifier string) (*t
return &approval, err
}
func (m *DefaultManager) List(provider types.ProviderType) ([]*types.Approval, error) {
prefix := ""
if provider != types.ProviderTypeUnknown {
prefix = provider.String()
}
bts, err := m.cache.List(prefix)
func (m *DefaultManager) List() ([]*types.Approval, error) {
bts, err := m.cache.List(ApprovalsPrefix)
if err != nil {
return nil, err
}
@ -242,10 +240,10 @@ func (m *DefaultManager) List(provider types.ProviderType) ([]*types.Approval, e
return approvals, nil
}
func (m *DefaultManager) Delete(provider types.ProviderType, identifier string) error {
return m.cache.Delete(context.Background(), getKey(provider, identifier))
func (m *DefaultManager) Delete(identifier string) error {
return m.cache.Delete(context.Background(), getKey(identifier))
}
func getKey(provider types.ProviderType, identifier string) string {
return ApprovalsPrefix + "/" + provider.String() + "/" + identifier
func getKey(identifier string) string {
return ApprovalsPrefix + "/" + identifier
}