| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | # ===============================================# ANALYTICS# ===============================================extend type Query {  analytics: AnalyticsQuery}extend type Mutation {  analytics: AnalyticsMutation}# -----------------------------------------------# QUERIES# -----------------------------------------------"""Queries for Analytics"""type AnalyticsQuery {  """  Fetch list of Analytics providers and their configuration  """  providers(    "Return only active providers"    isEnabled: Boolean  ): [AnalyticsProvider] @auth(requires: ["manage:system"])}# -----------------------------------------------# MUTATIONS# -----------------------------------------------"""Mutations for Analytics"""type AnalyticsMutation {  """  Update a list of Analytics providers and their configuration  """  updateProviders(    "List of providers"    providers: [AnalyticsProviderInput]!  ): DefaultResponse @auth(requires: ["manage:system"])}# -----------------------------------------------# TYPES# -----------------------------------------------"""Analytics Provider"""type AnalyticsProvider {  "Is the provider active"  isEnabled: Boolean!  "Unique identifier for this provider"  key: String!  "List of configuration properties, formatted as stringified JSON objects"  props: [String]  "Name of the provider"  title: String!  "Short description of the provider"  description: String  "Is the provider available for use"  isAvailable: Boolean  "Path to the provider logo"  logo: String  "Website of the provider"  website: String  "Configuration values for this provider"  config: [KeyValuePair]}"""Analytics Configuration Input"""input AnalyticsProviderInput {  "Is the provider active"  isEnabled: Boolean!  "Unique identifier of the provider"  key: String!  "Configuration values for this provider"  config: [KeyValuePairInput]}
 |