/* global Venue */ 'use strict'; const _ = require('lodash'); const { generateService, parseParamsToFindOptions } = require('../../helpers/service.helper'); const models = require('../../core/models'); const extraMethods = { _getInscription: (eventId, userId) => { return models.EventInscription.findOne({ where: { eventId: eventId, userId: userId }, }) }, _getInscriptionCount: (params, context) => { return new Promise(function (resolve, reject) { models.Inscription.count({ where: { eventId: context.eventId, reservationId: (context.code) ? context.reservation.id : null, }, }) .then(function (count) { context.inscriptionCount = count; resolve(count); }).catch(function (error) { reject(error) }); }) }, _createInscription: (eventId, userId, type, valid, source, reservationId) => { return new Promise(function (resolve, reject) { models.EventInscription.create({ eventId: eventId, userId: userId, type: type, source: source, valid: valid, // valid: !(tickets > assistants), reservationId: reservationId }) .then(function (result) { inscription = result.dataValues; resolve(inscription); }) .catch(function (error) { reject(error) }); }); }, }; module.exports = generateService(models.EventInscription, extraMethods);