UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

60 lines (51 loc) 2.03 kB
// tslint:disable:no-console import * as mongoose from 'mongoose'; import { chevre } from '../../../lib/index'; // const PROJECT_ID = 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, { autoIndex: false }); const eventRepo = await chevre.repository.Event.createInstance(mongoose.connection); const offerCatalogRepo = await chevre.repository.OfferCatalog.createInstance(mongoose.connection); const offerCatalogItemRepo = await chevre.repository.OfferCatalogItem.createInstance(mongoose.connection); const productRepo = await chevre.repository.Product.createInstance(mongoose.connection); const result = await (await chevre.service.offer.createService()).event.searchOfferCatalogItems({ event: { id: 'bm0f0cadm' }, limit: 10, page: 1, options: { includedInDataCatalog: { id: 'blpj322ni' } } })({ event: eventRepo, offerCatalog: offerCatalogRepo, offerCatalogItem: offerCatalogItemRepo, product: productRepo }); console.log(result); console.log(result.length); // console.log('searching...'); // const catalogs = await catalogItemRepo.search( // { // project: { id: { $eq: PROJECT_ID } }, // sort: { identifier: chevre.factory.sortType.Descending }, // limit: 2, // page: 1, // itemListElement: { typeOf: { $eq: 'Offer' } } // } // ); // console.log(catalogs[0]?.id, typeof catalogs[0]?.id); // console.log(catalogs.length); // const numCatalogs = await catalogItemRepo.count( // { // project: { id: { $eq: PROJECT_ID } }, // itemListElement: { typeOf: { $eq: 'Offer' } } // } // ); // console.log('numCatalogs:', numCatalogs); } main() .then(console.log) .catch(console.error);