96 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
| # ===============================================
 | |
| # 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]
 | |
| }
 |