github.com/aacfactory/fns-contrib/databases/sql@v1.2.84/dac/tree.go (about) 1 package dac 2 3 import ( 4 "github.com/aacfactory/errors" 5 "github.com/aacfactory/fns/commons/container/trees" 6 "github.com/aacfactory/fns/context" 7 ) 8 9 func Tree[T Table](ctx context.Context, options ...QueryOption) (entry T, err error) { 10 entries, entriesErr := Trees[T](ctx, options...) 11 if entriesErr != nil { 12 err = entriesErr 13 return 14 } 15 if len(entries) > 0 { 16 entry = entries[0] 17 } 18 return 19 } 20 21 func Trees[T Table](ctx context.Context, options ...QueryOption) (entries []T, err error) { 22 entries, err = Query[T](ctx, 0, 0, options...) 23 if err != nil { 24 err = errors.Warning("sql: tree failed").WithCause(err) 25 return 26 } 27 entries, err = trees.ConvertListToTree[T](entries) 28 if err != nil { 29 err = errors.Warning("sql: tree failed").WithCause(err) 30 return 31 } 32 return 33 }