Creating a "competitionsByDevTeam" query

This commit is contained in:
Nikola Bjelo committed 2018-10-19 17:11:39 +02:00
1 parent a51cf97127
commit e632e6cf59
3 files changed
+42 -3

No files matched your search

+4 -2
View File
@@ -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
+3 -1
View File
@@ -1,7 +1,9 @@
import CompetitionsQuery from './Competitions'
import CompetitionsByHostQuery from './CompetitionsByHost'
import CompetitionsByDevTeamQuery from './CompetitionsByDevTeam'
export {
CompetitionsQuery,
CompetitionsByHostQuery
CompetitionsByHostQuery,
CompetitionsByDevTeamQuery
}