resolver_impl.go 1009 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package graphql
  2. import (
  3. "context"
  4. "gshopper.com/gshopify/products/db"
  5. "gshopper.com/gshopify/products/graphql/generated"
  6. )
  7. type Resolver struct {
  8. db db.Database
  9. }
  10. func New(ctx context.Context, debug bool) (*Resolver, error) {
  11. r := Resolver{}
  12. var err error
  13. if r.db, err = db.New(ctx, debug); err != nil {
  14. return nil, err
  15. }
  16. return &r, nil
  17. }
  18. // Query returns QueryResolver implementation.
  19. func (r *Resolver) Query() generated.QueryResolver { return &queryResolver{r} }
  20. // Product returns ProductResolver implementation.
  21. func (r *Resolver) Product() generated.ProductResolver { return &productResolver{r} }
  22. // Collection returns CollectionResolver implementation.
  23. func (r *Resolver) Collection() generated.CollectionResolver { return &collectionResolver{r} }
  24. func (r *Resolver) Close() error {
  25. var err error
  26. if r.db != nil {
  27. err = r.db.Close()
  28. }
  29. return err
  30. }
  31. type queryResolver struct{ *Resolver }
  32. type productResolver struct{ *Resolver }
  33. type collectionResolver struct{ *Resolver }