github.com/k0marov/go-socnet@v0.0.0-20220715154813-90d07867c782/core/abstract/ownable/service/service.go (about) 1 package service 2 3 import ( 4 "github.com/k0marov/go-socnet/core/general/client_errors" 5 "github.com/k0marov/go-socnet/core/general/core_err" 6 "github.com/k0marov/go-socnet/core/general/core_values" 7 ) 8 9 type StoreOwnerGetter func(targetId string) (core_values.UserId, error) 10 11 type OwnerGetter func(targetId string) (core_values.UserId, error) 12 13 func NewOwnerGetter(getOwner StoreOwnerGetter) OwnerGetter { 14 return func(target string) (core_values.UserId, error) { 15 owner, err := getOwner(target) 16 if err == core_err.ErrNotFound { 17 return "", client_errors.NotFound 18 } 19 if err != nil { 20 return "", core_err.Rethrow("getting owner from store", err) 21 } 22 return owner, nil 23 } 24 }