Skip to content

Commit

Permalink
Options to transformer
Browse files Browse the repository at this point in the history
  • Loading branch information
Alena Prokharchyk authored and ibuildthecloud committed Feb 15, 2018
1 parent e39bcf5 commit 6753a90
Showing 1 changed file with 10 additions and 10 deletions.
20 changes: 10 additions & 10 deletions store/transform/transform.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ import (
"github.com/rancher/norman/types/convert"
)

type TransformerFunc func(apiContext *types.APIContext, data map[string]interface{}) (map[string]interface{}, error)
type TransformerFunc func(apiContext *types.APIContext, data map[string]interface{}, opt *types.QueryOptions) (map[string]interface{}, error)

type ListTransformerFunc func(apiContext *types.APIContext, data []map[string]interface{}) ([]map[string]interface{}, error)
type ListTransformerFunc func(apiContext *types.APIContext, data []map[string]interface{}, opt *types.QueryOptions) ([]map[string]interface{}, error)

type StreamTransformerFunc func(apiContext *types.APIContext, data chan map[string]interface{}) (chan map[string]interface{}, error)
type StreamTransformerFunc func(apiContext *types.APIContext, data chan map[string]interface{}, opt *types.QueryOptions) (chan map[string]interface{}, error)

type Store struct {
Store types.Store
Expand All @@ -30,7 +30,7 @@ func (s *Store) ByID(apiContext *types.APIContext, schema *types.Schema, id stri
if s.Transformer == nil {
return data, nil
}
return s.Transformer(apiContext, data)
return s.Transformer(apiContext, data, nil)
}

func (s *Store) Watch(apiContext *types.APIContext, schema *types.Schema, opt *types.QueryOptions) (chan map[string]interface{}, error) {
Expand All @@ -40,11 +40,11 @@ func (s *Store) Watch(apiContext *types.APIContext, schema *types.Schema, opt *t
}

if s.StreamTransformer != nil {
return s.StreamTransformer(apiContext, c)
return s.StreamTransformer(apiContext, c, opt)
}

return convert.Chan(c, func(data map[string]interface{}) map[string]interface{} {
item, err := s.Transformer(apiContext, data)
item, err := s.Transformer(apiContext, data, opt)
if err != nil {
return nil
}
Expand All @@ -59,7 +59,7 @@ func (s *Store) List(apiContext *types.APIContext, schema *types.Schema, opt *ty
}

if s.ListTransformer != nil {
return s.ListTransformer(apiContext, data)
return s.ListTransformer(apiContext, data, opt)
}

if s.Transformer == nil {
Expand All @@ -68,7 +68,7 @@ func (s *Store) List(apiContext *types.APIContext, schema *types.Schema, opt *ty

var result []map[string]interface{}
for _, item := range data {
item, err := s.Transformer(apiContext, item)
item, err := s.Transformer(apiContext, item, opt)
if err != nil {
return nil, err
}
Expand All @@ -88,7 +88,7 @@ func (s *Store) Create(apiContext *types.APIContext, schema *types.Schema, data
if s.Transformer == nil {
return data, nil
}
return s.Transformer(apiContext, data)
return s.Transformer(apiContext, data, nil)
}

func (s *Store) Update(apiContext *types.APIContext, schema *types.Schema, data map[string]interface{}, id string) (map[string]interface{}, error) {
Expand All @@ -99,7 +99,7 @@ func (s *Store) Update(apiContext *types.APIContext, schema *types.Schema, data
if s.Transformer == nil {
return data, nil
}
return s.Transformer(apiContext, data)
return s.Transformer(apiContext, data, nil)
}

func (s *Store) Delete(apiContext *types.APIContext, schema *types.Schema, id string) (map[string]interface{}, error) {
Expand Down

0 comments on commit 6753a90

Please sign in to comment.