@chevre/domain
Version:
Chevre Domain Library for Node.js
52 lines (43 loc) • 1.81 kB
text/typescript
// tslint:disable:no-console
import * as mongoose from 'mongoose';
import { chevre } from '../../../../lib/index';
const formatter = new Intl.NumberFormat('ja-JP');
// const PROJECT_ID = process.env.PROJECT_ID;
mongoose.Model.on('index', (...args) => {
console.error('******** index event emitted. ********\n', args);
});
async function main() {
let startTime: [number, number] = process.hrtime();
let diff: [number, number] = process.hrtime(startTime);
let result: any;
await mongoose.connect(<string>process.env.MONGOLAB_URI, { autoIndex: false });
const eventRepo = await chevre.repository.Event.createInstance(mongoose.connection);
const eventSeriesRepo = await chevre.repository.EventSeries.createInstance(mongoose.connection);
const offerRepo = await chevre.repository.Offer.createInstance(mongoose.connection);
const offerCatalogRepo = await chevre.repository.OfferCatalog.createInstance(mongoose.connection);
const productRepo = await chevre.repository.Product.createInstance(mongoose.connection);
startTime = process.hrtime();
result = await (await chevre.service.offer.createService()).event.searchOfferAppliesToMovieTicket({
event: {
id: 'cm8dwc74k'
},
limit: 10,
page: 1,
store: { id: '51qbjcfr72h62m06vtv5kkhgje' },
onlyValid: true,
options: { useIncludeInDataCatalog: false }
})({
event: eventRepo,
eventSeries: eventSeriesRepo,
offer: offerRepo,
offerCatalog: offerCatalogRepo,
product: productRepo
});
diff = process.hrtime(startTime);
console.log(result);
console.log(result.length);
console.log('diff:', [diff[0], formatter.format(diff[1])]);
}
main()
.then(console.log)
.catch(console.error);