@chevre/domain
Version:
Chevre Domain Library for Node.js
60 lines (51 loc) • 2.03 kB
text/typescript
// 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);