54 lines
1.1 KiB
GraphQL
54 lines
1.1 KiB
GraphQL
|
# ===============================================
|
||
|
# 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]
|
||
|
}
|