UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

49 lines (41 loc) 1.66 kB
// tslint:disable:no-console import * as mongoose from 'mongoose'; import { chevre } from '../../../lib/index'; const project = { id: String(process.env.PROJECT_ID) }; mongoose.Model.on('index', (...args) => { console.error('******** index event emitted. ********\n', args); }); async function main() { await mongoose.connect(<string>process.env.MONGOLAB_URI); const acceptedOfferRepo = await chevre.repository.AcceptedOffer.createInstance(mongoose.connection); const acceptedOffers = await acceptedOfferRepo.searchAcceptedOffersByOrderNumber( { // tslint:disable-next-line:no-magic-numbers limit: 10, page: 1, project: { id: { $eq: project.id } }, orderNumber: { $eq: 'CIN7-9247770-0699829' }, acceptedOffers: { itemOffered: { typeOf: { $in: [chevre.factory.reservationType.EventReservation] }, reservationFor: { id: { $in: ['blpw1ew8f'] } }, reservedTicket: { ticketedSeat: { seatNumber: { $in: ['A-26', 'xxx'] } } } } } }, ['itemOffered', 'priceSpecification'] ); // tslint:disable-next-line:no-null-keyword console.dir(acceptedOffers, { depth: 1 }); const reservationIds = acceptedOffers.map((acceptedOffer) => { if (acceptedOffer.itemOffered.typeOf === chevre.factory.reservationType.EventReservation) { return acceptedOffer.itemOffered.id; } else { return ''; } }); console.log('reservationIds:', reservationIds); } main() .then() .catch(console.error);