mirror of
				https://github.com/ClusterCockpit/cc-backend
				synced 2025-11-04 01:25:06 +01:00 
			
		
		
		
	
			
				
					
						
					
					ad80e1373cf067c6e810c5a1bb0fecb0d0a87fbf
				
			
			
		
	Run server
- The server expects the SQLite Job database in 
./job.db. - The metric data as JSON is expected in 
./job-data/<clusterId>/.../data.json. - A JSON-description of the clusters is expected in 
./job-data/<clusterId>/cluster.json. - Run 
go run server.go - The GraphQL backend is located at http://localhost:8080/query .
 
Debugging and Testing
There is a GraphQL PLayground for testing queries at http://localhost:8080/ .
Example Query:
query($filter: JobFilterList!, $sorting: OrderByInput!, $paging: PageRequest!) {
  jobs(
    filter: $filter
    order: $sorting
    page: $paging
  ) {
    count
    items {
      id
      jobId
      userId
      startTime
      duration
    }
  }
}
Using the Query variables:
{
  "filter": { "list": [
    {"userId": {"contains": "unrz"}},
    {"duration": {"from": 60, "to": 1000}},
    {"startTime": {"from": "2019-06-01T00:00:00.00Z", "to": "2019-10-01T00:00:00.00Z"}}]},
  "sorting": { "field": "start_time", "order": "ASC" },
  "paging": { "itemsPerPage": 20, "page": 1 }
}
Changing the GraphQL schema
- Edit 
./graph/schema.graphqls - Regenerate code: 
gqlgen generate - Implement callbacks in 
graph/resolvers.go 
					Languages
				
				
								
								
									Go
								
								54.3%
							
						
							
								
								
									Svelte
								
								42.3%
							
						
							
								
								
									JavaScript
								
								2.6%
							
						
							
								
								
									Perl
								
								0.5%
							
						
							
								
								
									Makefile
								
								0.2%