Files
Superalgos/server/src/schema/queries/Events.js
T
2018-11-06 05:24:21 +01:00

38 lines
748 B
JavaScript

import {
GraphQLInt,
GraphQLList,
} from 'graphql';
import { EventType } from '../types';
import { Event } from '../../models';
import { UNPUBLISHED, ARCHIVED } from '../../enums/EventStatus';
const args = {
minDate: { type: GraphQLInt },
maxDate: { type: GraphQLInt },
};
const resolve = (parent, { minDate, maxDate }) => Event.find(
Object.assign(
{ status: { $nin: [UNPUBLISHED, ARCHIVED] } },
minDate || maxDate
? {
startDatetime:
Object.assign(
minDate ? { $gte: minDate } : {},
maxDate ? { $lte: maxDate } : {},
),
}
: {},
),
);
const query = {
events: {
type: new GraphQLList(EventType),
args,
resolve,
},
};
export default query;