57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
# ===============================================
 | 
						|
# THEMES
 | 
						|
# ===============================================
 | 
						|
 | 
						|
extend type Query {
 | 
						|
  theming: ThemingQuery
 | 
						|
}
 | 
						|
 | 
						|
extend type Mutation {
 | 
						|
  theming: ThemingMutation
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# QUERIES
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type ThemingQuery {
 | 
						|
  themes: [ThemingTheme] @auth(requires: ["manage:theme", "manage:system"])
 | 
						|
  config: ThemingConfig @auth(requires: ["manage:theme", "manage:system"])
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# MUTATIONS
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type ThemingMutation {
 | 
						|
  setConfig(
 | 
						|
    theme: String!
 | 
						|
    iconset: String!
 | 
						|
    darkMode: Boolean!
 | 
						|
    tocPosition: String
 | 
						|
    injectCSS: String
 | 
						|
    injectHead: String
 | 
						|
    injectBody: String
 | 
						|
  ): DefaultResponse @auth(requires: ["manage:theme", "manage:system"])
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# TYPES
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type ThemingConfig {
 | 
						|
  theme: String!
 | 
						|
  iconset: String!
 | 
						|
  darkMode: Boolean!
 | 
						|
  tocPosition: String
 | 
						|
  injectCSS: String
 | 
						|
  injectHead: String
 | 
						|
  injectBody: String
 | 
						|
}
 | 
						|
 | 
						|
type ThemingTheme {
 | 
						|
  key: String
 | 
						|
  title: String
 | 
						|
  author: String
 | 
						|
}
 |