/* global Venue */ 'use strict'; const _ = require('lodash'); const moment = require('moment'); const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper'); const models = require('../../core/models'); const extraMethods = { fetchNext: async (params, context) => { var where = []; var order = []; var include = []; where.push({ date: { $gte: moment().add(1, 'days').startOf('day').utc() } }); order.push(['date', 'ASC']); // Incluir ponentes include.push({ model: models.Speaker, //as: 'speakers' }); // Incluir tipo de evento include.push({ model: models.EventType, //as: 'type' }) // Solo eventos publicados where.push({ state: 'publish' }); try { const result = await models.Event.findAll({ where: where, order: order, include: include, }); return result.toJSON(); } catch(error) { throw error; } } }; module.exports = generateService(models.Event, extraMethods);