github.com/k0marov/go-socnet@v0.0.0-20220715154813-90d07867c782/features/profiles/domain/contexters/contexters.go (about) 1 package contexters 2 3 import ( 4 likeable_contexters "github.com/k0marov/go-socnet/core/abstract/ownable_likeable/contexters" 5 "github.com/k0marov/go-socnet/core/general/core_err" 6 "github.com/k0marov/go-socnet/core/general/core_values" 7 8 "github.com/k0marov/go-socnet/features/profiles/domain/entities" 9 ) 10 11 type ProfileContextAdder func(profile entities.Profile, caller core_values.UserId) (entities.ContextedProfile, error) 12 13 func NewProfileContextAdder(getContext likeable_contexters.OwnLikeContextGetter) ProfileContextAdder { 14 return func(profile entities.Profile, caller core_values.UserId) (entities.ContextedProfile, error) { 15 context, err := getContext(profile.Id, profile.Id, caller) 16 if err != nil { 17 return entities.ContextedProfile{}, core_err.Rethrow("getting context for profile", err) 18 } 19 contextedProfile := entities.ContextedProfile{ 20 Profile: profile, 21 OwnLikeContext: context, 22 } 23 return contextedProfile, nil 24 } 25 }