| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | # ===============================================# ANALYTICS# ===============================================extend type Query {  """  Fetch list of Analytics providers and their configuration  """  analyticsProviders(    "Return only active providers"    isEnabled: Boolean  ): [AnalyticsProvider]}extend type Mutation {  """  Update a list of Analytics providers and their configuration  """  updateAnalyticsProviders(    "List of providers"    providers: [AnalyticsProviderInput]!  ): DefaultResponse}# -----------------------------------------------# 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]}
 |