# =============================================== # ANALYTICS # =============================================== extend type Query { analytics: AnalyticsQuery } extend type Mutation { analytics: AnalyticsMutation } # ----------------------------------------------- # QUERIES # ----------------------------------------------- type AnalyticsQuery { providers( isEnabled: Boolean ): [AnalyticsProvider] } # ----------------------------------------------- # MUTATIONS # ----------------------------------------------- type AnalyticsMutation { updateProviders( providers: [AnalyticsProviderInput]! ): DefaultResponse @auth(requires: ["manage:system"]) } # ----------------------------------------------- # TYPES # ----------------------------------------------- type AnalyticsProvider { isEnabled: Boolean! key: String! props: [String] title: String! description: String isAvailable: Boolean logo: String website: String icon: String config: [KeyValuePair] @auth(requires: ["manage:system"]) } input AnalyticsProviderInput { isEnabled: Boolean! key: String! config: [KeyValuePairInput] }