56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			56 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
# ===============================================
 | 
						|
# SEARCH
 | 
						|
# ===============================================
 | 
						|
 | 
						|
extend type Query {
 | 
						|
  search: SearchQuery
 | 
						|
}
 | 
						|
 | 
						|
extend type Mutation {
 | 
						|
  search: SearchMutation
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# QUERIES
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type SearchQuery {
 | 
						|
  searchEngines(
 | 
						|
    filter: String
 | 
						|
    orderBy: String
 | 
						|
  ): [SearchEngine] @auth(requires: ["manage:system"])
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# MUTATIONS
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type SearchMutation {
 | 
						|
  updateSearchEngines(
 | 
						|
    engines: [SearchEngineInput]
 | 
						|
  ): DefaultResponse @auth(requires: ["manage:system"])
 | 
						|
 | 
						|
  rebuildIndex: DefaultResponse @auth(requires: ["manage:system"])
 | 
						|
}
 | 
						|
 | 
						|
# -----------------------------------------------
 | 
						|
# TYPES
 | 
						|
# -----------------------------------------------
 | 
						|
 | 
						|
type SearchEngine {
 | 
						|
  isEnabled: Boolean!
 | 
						|
  key: String!
 | 
						|
  title: String!
 | 
						|
  description: String
 | 
						|
  logo: String
 | 
						|
  website: String
 | 
						|
  isAvailable: Boolean
 | 
						|
  config: [KeyValuePair]
 | 
						|
}
 | 
						|
 | 
						|
input SearchEngineInput {
 | 
						|
  isEnabled: Boolean!
 | 
						|
  key: String!
 | 
						|
  config: [KeyValuePairInput]
 | 
						|
}
 |