UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

87 lines (79 loc) 3.56 kB
// tslint:disable:no-console import * as mongoose from 'mongoose'; // import * as redis from 'redis'; import { chevre } from '../../../../lib/index'; const project = { id: <string>process.env.PROJECT_ID }; // const EVENT_ID = String(process.env.EVENT_ID); // tslint:disable-next-line:max-func-body-length async function main() { await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false }); // const client = redis.createClient<redis.RedisDefaultModules, Record<string, never>, Record<string, never>>({ // socket: { // port: Number(<string>process.env.REDIS_PORT), // host: <string>process.env.REDIS_HOST // }, // password: <string>process.env.REDIS_KEY // }); // await client.connect(); const aggregateReservationRepo = await chevre.repository.AggregateReservation.createInstance(mongoose.connection); const aggregateReservations = await aggregateReservationRepo.searchWithReservationForId( { limit: 10, page: 1, project: { id: { $eq: project.id } }, reservationFor: { id: { $in: [ 'blvcj2vfl', 'blvcj2w48', 'blvcj2wqj', 'blvcj2y1n', 'blvcj2ylh', 'blvcj2z7k', 'blvcj2zqz', 'blvcj30d3', 'blvcj30wo', 'blvcj32as' ] }, typeOf: chevre.factory.eventType.ScreeningEvent }, sort: { 'reservationFor.startDate': 1 } }, ['aggregateOffer'] ); console.log('aggregateReservations:', aggregateReservations); console.log('aggregateReservations:', aggregateReservations.map(({ id }) => id)); // await (await chevre.service.aggregation.createService()).event.aggregateOffers({ // id: EVENT_ID, // typeOf: chevre.factory.eventType.ScreeningEvent // })({ // aggregateReservation: aggregateReservationRepo, // event: await chevre.repository.Event.createInstance(mongoose.connection), // stockHolder: await chevre.repository.StockHolder.createInstance(client, mongoose.connection), // offer: await chevre.repository.Offer.createInstance(mongoose.connection), // offerCatalog: await chevre.repository.OfferCatalog.createInstance(mongoose.connection), // offerRateLimit: await chevre.repository.rateLimit.Offer.createInstance(client), // screeningRoom: await chevre.repository.place.ScreeningRoom.createInstance(mongoose.connection), // product: await chevre.repository.Product.createInstance(mongoose.connection), // reservation: await chevre.repository.Reservation.createInstance(mongoose.connection) // }); // console.log('aggregateReserveAction processed.'); // aggregateReservations = await aggregateReservationRepo.searchWithReservationForId( // { // limit: 1, // page: 1, // sort: { 'reservationFor.startDate': 1 }, // project: { id: { $eq: project.id } }, // reservationFor: { // id: { // $eq: EVENT_ID, // $in: [EVENT_ID] // }, // typeOf: chevre.factory.eventType.ScreeningEvent // } // }, // [] // ); // console.log('aggregateReservations:', aggregateReservations); } main() .then(() => { console.log('success!'); }) .catch(console.error);