diff --git a/server/src/schema/queries/Competitions.js b/server/src/schema/queries/Competitions.js index 554e02118..e6069ae74 100644 --- a/server/src/schema/queries/Competitions.js +++ b/server/src/schema/queries/Competitions.js @@ -1,14 +1,25 @@ import { + GraphQLBoolean, GraphQLList } from 'graphql' +import { epoch } from '../../utils/functions' import { CompetitionType } from '../types' import Competition from '../../models/competition' +const args = { + includeOld: { type: GraphQLBoolean } +} + const query = { competitions: { type: new GraphQLList(CompetitionType), + args, resolve (parent, args, context) { - return Competition.find() + return Competition.find( + Object.assign( + {}, + args.includeOld ? { finishDatetime: { $gt: epoch() } } : {} + )) } } } diff --git a/server/src/schema/queries/CompetitionsByHost.js b/server/src/schema/queries/CompetitionsByHost.js index e5faf54c7..94081f640 100644 --- a/server/src/schema/queries/CompetitionsByHost.js +++ b/server/src/schema/queries/CompetitionsByHost.js @@ -1,13 +1,16 @@ import { + GraphQLBoolean, GraphQLList, GraphQLString, GraphQLNonNull } from 'graphql' +import { epoch } from '../../utils/functions' import { CompetitionType } from '../types' import Competition from '../../models/competition' const args = { - host: { type: new GraphQLNonNull(GraphQLString) } + host: { type: new GraphQLNonNull(GraphQLString) }, + includeOld: { type: GraphQLBoolean } } const query = { @@ -15,9 +18,14 @@ const query = { type: new GraphQLList(CompetitionType), args, resolve (parent, args, context) { - return Competition.find({ - host: args.host - }) + return Competition.find( + Object.assign( + { + host: args.host + }, + args.includeOld ? { finishDatetime: { $gt: epoch() } } : {} + ) + ) } } }