flamingo.me/flamingo-commerce/v3@v3.11.0/product/interfaces/graphql/service.go (about)

     1  package graphql
     2  
     3  import (
     4  	// embed schema.graphql
     5  	_ "embed"
     6  
     7  	"flamingo.me/graphql"
     8  
     9  	"flamingo.me/flamingo-commerce/v3/product/domain"
    10  	graphqlProductDto "flamingo.me/flamingo-commerce/v3/product/interfaces/graphql/product/dto"
    11  )
    12  
    13  // Service is the Graphql-Service of this module
    14  type Service struct{}
    15  
    16  var _ graphql.Service = new(Service)
    17  
    18  //go:embed schema.graphql
    19  var schema []byte
    20  
    21  // Schema returns graphql schema of this module
    22  func (*Service) Schema() []byte {
    23  	return schema
    24  }
    25  
    26  // Types configures the GraphQL to Go resolvers
    27  func (*Service) Types(types *graphql.Types) {
    28  	types.Map("Commerce_Product", new(graphqlProductDto.Product))
    29  	types.Map("Commerce_Product_SimpleProduct", graphqlProductDto.SimpleProduct{})
    30  	types.Map("Commerce_Product_ConfigurableProduct", graphqlProductDto.ConfigurableProduct{})
    31  	types.Map("Commerce_Product_ActiveVariantProduct", graphqlProductDto.ActiveVariantProduct{})
    32  	types.Map("Commerce_Product_BundleProduct", graphqlProductDto.BundleProduct{})
    33  	types.Map("Commerce_Product_VariationSelection", graphqlProductDto.VariationSelection{})
    34  	types.Map("Commerce_Product_ActiveVariationSelection", graphqlProductDto.ActiveVariationSelection{})
    35  	types.Map("Commerce_Product_VariationSelection_Option", graphqlProductDto.VariationSelectionOption{})
    36  	types.Map("Commerce_Product_VariationSelection_OptionState", new(graphqlProductDto.VariationSelectionOptionState))
    37  	types.Map("Commerce_Product_VariationSelection_OptionVariant", graphqlProductDto.VariationSelectionOptionVariant{})
    38  	types.Map("Commerce_Product_Categories", graphqlProductDto.ProductCategories{})
    39  	types.Map("Commerce_Product_Meta", graphqlProductDto.ProductMeta{})
    40  	types.Map("Commerce_Product_Loyalty", graphqlProductDto.ProductLoyalty{})
    41  	types.Map("Commerce_Product_Loyalty_PriceInfo", domain.LoyaltyPriceInfo{})
    42  	types.Map("Commerce_Product_Loyalty_EarningInfo", domain.LoyaltyEarningInfo{})
    43  	types.Map("Commerce_Product_PriceContext", domain.PriceContext{})
    44  	types.Map("Commerce_Product_Media", graphqlProductDto.ProductMedia{})
    45  	types.Map("Commerce_Product_MediaItem", domain.Media{})
    46  	types.Map("Commerce_Product_Attributes", domain.Attributes{})
    47  	types.GoField("Commerce_Product_Attributes", "getAttribute", "Attribute")
    48  	types.GoField("Commerce_Product_Attributes", "getAttributes", "Attributes")
    49  	types.GoField("Commerce_Product_Attributes", "getAttributeKeys", "AttributeKeys")
    50  	types.GoField("Commerce_Product_Attributes", "getAttributesByKey", "AttributesByKey")
    51  	types.Map("Commerce_Product_Attribute", domain.Attribute{})
    52  	types.Map("Commerce_Product_CategoryTeaser", domain.CategoryTeaser{})
    53  	types.Map("Commerce_Product_PriceInfo", domain.PriceInfo{})
    54  	types.Resolve("Commerce_Product_PriceInfo", "activeBase", CommerceProductQueryResolver{}, "ActiveBase")
    55  	types.Map("Commerce_Product_SearchResult", SearchResultDTO{})
    56  	types.Map("Commerce_Product_Badges", graphqlProductDto.ProductBadges{})
    57  	types.Map("Commerce_Product_Badge", domain.Badge{})
    58  	types.Map("Commerce_Product_Choice", graphqlProductDto.Choice{})
    59  	types.Map("Commerce_Product_Option", graphqlProductDto.Option{})
    60  	types.Map("Commerce_Product_ChoiceConfigurationInput", graphqlProductDto.ChoiceConfiguration{})
    61  	types.Map("Commerce_Product_VariantSelection", graphqlProductDto.VariantSelection{})
    62  	types.Map("Commerce_Product_VariantSelection_Attribute", graphqlProductDto.VariantSelectionAttribute{})
    63  	types.Map("Commerce_Product_VariantSelection_Attribute_Option", graphqlProductDto.VariantSelectionAttributeOption{})
    64  	types.Map("Commerce_Product_VariantSelection_Option_OtherAttributesRestriction", graphqlProductDto.OtherAttributesRestriction{})
    65  	types.Map("Commerce_Product_VariantSelection_Match", graphqlProductDto.VariantSelectionMatch{})
    66  	types.Map("Commerce_Product_VariantSelection_Match_Attributes", graphqlProductDto.VariantSelectionMatchAttributes{})
    67  	types.Map("Commerce_Product_VariantSelection_Match_Variant", graphqlProductDto.VariantSelectionMatchVariant{})
    68  
    69  	types.Resolve("Query", "Commerce_Product", CommerceProductQueryResolver{}, "CommerceProduct")
    70  	types.Resolve("Query", "Commerce_Product_Search", CommerceProductQueryResolver{}, "CommerceProductSearch")
    71  }