From edbfaf1c17a66231c98844840c404963c4c49346 Mon Sep 17 00:00:00 2001 From: Alena Prokharchyk Date: Wed, 14 Feb 2018 23:33:57 -0800 Subject: [PATCH] Options to transformer --- store/transform/transform.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/store/transform/transform.go b/store/transform/transform.go index f56017402..787e846ec 100644 --- a/store/transform/transform.go +++ b/store/transform/transform.go @@ -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 @@ -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) { @@ -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 } @@ -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 { @@ -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 } @@ -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) { @@ -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) {