Creating a "competitionsByDevTeam" query
This commit is contained in:
1 parent
a51cf97127
commit
e632e6cf59
3 files changed
+42
-3
No files matched your search
@@ -9,14 +9,16 @@ import {
|
||||
} from './mutations'
|
||||
import {
|
||||
CompetitionsQuery,
|
||||
CompetitionsByHostQuery
|
||||
CompetitionsByHostQuery,
|
||||
CompetitionsByDevTeamQuery
|
||||
} from './queries'
|
||||
|
||||
const RootQuery = new GraphQLObjectType({
|
||||
name: 'RootQueryType',
|
||||
fields: Object.assign(
|
||||
CompetitionsQuery,
|
||||
CompetitionsByHostQuery
|
||||
CompetitionsByHostQuery,
|
||||
CompetitionsByDevTeamQuery
|
||||
)
|
||||
})
|
||||
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
import {
|
||||
GraphQLBoolean,
|
||||
GraphQLList,
|
||||
GraphQLString,
|
||||
GraphQLNonNull
|
||||
} from 'graphql'
|
||||
import { epoch } from '../../utils/functions'
|
||||
import { CompetitionType } from '../types'
|
||||
import Competition from '../../models/competition'
|
||||
|
||||
const args = {
|
||||
devTeam: { type: new GraphQLNonNull(GraphQLString) },
|
||||
includeOld: { type: GraphQLBoolean }
|
||||
}
|
||||
|
||||
const resolve = (parent, args, context) => {
|
||||
return Competition.find(
|
||||
Object.assign(
|
||||
{
|
||||
participants: { $elemMatch: { devTeam: args.devTeam } }
|
||||
},
|
||||
args.includeOld ? { finishDatetime: { $gt: epoch() } } : {}
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
const query = {
|
||||
competitionsByDevTeam: {
|
||||
type: new GraphQLList(CompetitionType),
|
||||
args,
|
||||
resolve
|
||||
}
|
||||
}
|
||||
|
||||
export default query
|
||||
@@ -1,7 +1,9 @@
|
||||
import CompetitionsQuery from './Competitions'
|
||||
import CompetitionsByHostQuery from './CompetitionsByHost'
|
||||
import CompetitionsByDevTeamQuery from './CompetitionsByDevTeam'
|
||||
|
||||
export {
|
||||
CompetitionsQuery,
|
||||
CompetitionsByHostQuery
|
||||
CompetitionsByHostQuery,
|
||||
CompetitionsByDevTeamQuery
|
||||
}
|
||||
Reference in new issue
Block a user