53 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			GraphQL
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.0 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(
 | |
|     searchEngines: [SearchEngineInput]
 | |
|   ): DefaultResponse @auth(requires: ["manage:system"])
 | |
| }
 | |
| 
 | |
| # -----------------------------------------------
 | |
| # TYPES
 | |
| # -----------------------------------------------
 | |
| 
 | |
| type SearchEngine {
 | |
|   isEnabled: Boolean!
 | |
|   key: String!
 | |
|   title: String!
 | |
|   description: String
 | |
|   logo: String
 | |
|   website: String
 | |
|   config: [KeyValuePair]
 | |
| }
 | |
| 
 | |
| input SearchEngineInput {
 | |
|   isEnabled: Boolean!
 | |
|   key: String!
 | |
|   config: [KeyValuePairInput]
 | |
| }
 |