// @codingStandardsIgnoreFile
type Query {
    emailCaptureNewsletter: isConfigSettingEnabledOutput @resolver (class: "\\Dotdigitalgroup\\EmailGraphQl\\Model\\Resolver\\EasyEmailCaptureNewsletter") @doc(description:"Returns status of Easy Email Capture for Newsletter.")
    emailCaptureCheckout: isConfigSettingEnabledOutput @resolver (class: "\\Dotdigitalgroup\\EmailGraphQl\\Model\\Resolver\\EasyEmailCaptureCheckout") @doc(description:"Returns status of Easy Email Capture for Checkout.")
    trackingData: trackingData @resolver (class: "\\Dotdigitalgroup\\EmailGraphQl\\Model\\Resolver\\TrackingData") @doc(description:"Retrieves an array of configuration data for different types of tracking.")
    productBrands(product_ids: [String]!): Brands @resolver (class: "\\Dotdigitalgroup\\EmailGraphQl\\Model\\Resolver\\ProductBrands") @doc(description:"Retrieves the values of the brand attribute for an array of products.")
}

type Mutation {
    updateQuoteEmail(email: String!, cartId: String!): Boolean @doc(description:"Updates the email address of a quote.") @resolver(class: "Dotdigitalgroup\\EmailGraphQl\\Model\\Resolver\\UpdateQuoteEmail")
}

type isConfigSettingEnabledOutput {
    is_enabled: Boolean @doc(description: "Is config setting enabled")
}

type trackingData {
    page_tracking_enabled: Boolean @doc(description: "Is Page Tracking enabled")
    roi_tracking_enabled: Boolean @doc(description: "Is ROI Tracking enabled")
    wbt_profile_id: String @doc(description: "Web Behaviour Tracking profile ID")
    region_prefix: String @doc(description: "Dotdigital region prefix")
}

type BrandItem @doc(description: "Contains a brand attribute value") {
    brand: String @doc(description: "The brand value")
    product_id: Int @doc(description: "The product ID")
}

type Brands @doc(description: "Contains values of the brand attribute for the requested product(s)") {
    items: [BrandItem]
}

