|
|
|
# ===============================================
|
|
|
|
# SITE
|
|
|
|
# ===============================================
|
|
|
|
|
|
|
|
extend type Query {
|
|
|
|
site: SiteQuery
|
|
|
|
}
|
|
|
|
|
|
|
|
extend type Mutation {
|
|
|
|
site: SiteMutation
|
|
|
|
}
|
|
|
|
|
|
|
|
# -----------------------------------------------
|
|
|
|
# QUERIES
|
|
|
|
# -----------------------------------------------
|
|
|
|
|
|
|
|
type SiteQuery {
|
|
|
|
config: SiteConfig @auth(requires: ["manage:system"])
|
|
|
|
}
|
|
|
|
|
|
|
|
# -----------------------------------------------
|
|
|
|
# MUTATIONS
|
|
|
|
# -----------------------------------------------
|
|
|
|
|
|
|
|
type SiteMutation {
|
|
|
|
updateConfig(
|
|
|
|
host: String
|
|
|
|
title: String
|
|
|
|
description: String
|
|
|
|
robots: [String]
|
|
|
|
analyticsService: String
|
|
|
|
analyticsId: String
|
|
|
|
company: String
|
|
|
|
contentLicense: String
|
|
|
|
logoUrl: String
|
|
|
|
authAutoLogin: Boolean
|
|
|
|
authEnforce2FA: Boolean
|
|
|
|
authHideLocal: Boolean
|
|
|
|
authLoginBgUrl: String
|
|
|
|
authJwtAudience: String
|
|
|
|
authJwtExpiration: String
|
|
|
|
authJwtRenewablePeriod: String
|
|
|
|
featurePageRatings: Boolean
|
|
|
|
featurePageComments: Boolean
|
|
|
|
featurePersonalWikis: Boolean
|
|
|
|
securityOpenRedirect: Boolean
|
|
|
|
securityIframe: Boolean
|
|
|
|
securityReferrerPolicy: Boolean
|
|
|
|
securityTrustProxy: Boolean
|
|
|
|
securitySRI: Boolean
|
|
|
|
securityHSTS: Boolean
|
|
|
|
securityHSTSDuration: Int
|
|
|
|
securityCSP: Boolean
|
|
|
|
securityCSPDirectives: String
|
|
|
|
uploadMaxFileSize: Int
|
|
|
|
uploadMaxFiles: Int
|
|
|
|
|
|
|
|
): DefaultResponse @auth(requires: ["manage:system"])
|
|
|
|
}
|
|
|
|
|
|
|
|
# -----------------------------------------------
|
|
|
|
# TYPES
|
|
|
|
# -----------------------------------------------
|
|
|
|
|
|
|
|
type SiteConfig {
|
|
|
|
host: String!
|
|
|
|
title: String!
|
|
|
|
description: String!
|
|
|
|
robots: [String]!
|
|
|
|
analyticsService: String!
|
|
|
|
analyticsId: String!
|
|
|
|
company: String!
|
|
|
|
contentLicense: String!
|
|
|
|
logoUrl: String!
|
|
|
|
authAutoLogin: Boolean
|
|
|
|
authEnforce2FA: Boolean
|
|
|
|
authHideLocal: Boolean
|
|
|
|
authLoginBgUrl: String
|
|
|
|
authJwtAudience: String
|
|
|
|
authJwtExpiration: String
|
|
|
|
authJwtRenewablePeriod: String
|
|
|
|
featurePageRatings: Boolean!
|
|
|
|
featurePageComments: Boolean!
|
|
|
|
featurePersonalWikis: Boolean!
|
|
|
|
securityOpenRedirect: Boolean!
|
|
|
|
securityIframe: Boolean!
|
|
|
|
securityReferrerPolicy: Boolean!
|
|
|
|
securityTrustProxy: Boolean!
|
|
|
|
securitySRI: Boolean!
|
|
|
|
securityHSTS: Boolean!
|
|
|
|
securityHSTSDuration: Int!
|
|
|
|
securityCSP: Boolean!
|
|
|
|
securityCSPDirectives: String!
|
|
|
|
uploadMaxFileSize: Int!
|
|
|
|
uploadMaxFiles: Int!
|
|
|
|
}
|