package db import ( "github.com/gshopify/service-wrapper/model" "github.com/gshopify/service-wrapper/server/middleware" "gshopper.com/gshopify/products/graphql/generated" "time" ) const ( cacheTimeout = time.Hour cacheCapacity = 4096 ) type Database interface { Ping() error Close() error Product(ln model.LanguageCode, handle *string, id *string) (*generated.Product, error) ProductOptions(ln model.LanguageCode, id string) ([]*generated.ProductOption, error) ProductVariants(ctx *middleware.GShopifyContext, id string) ([]*generated.ProductVariant, error) ProductVariantOptions(ln model.LanguageCode, id string) ([]*generated.SelectedOption, error) Collections(ln model.LanguageCode) ([]*generated.Collection, error) ProductCollections(ln model.LanguageCode, id string) ([]*generated.Collection, error) CollectionProducts(ln model.LanguageCode, id string) ([]*generated.Product, error) }