@chevre/domain
Version:
Chevre Domain Library for Node.js
44 lines (37 loc) • 1.27 kB
text/typescript
// tslint:disable:no-console
import * as mongoose from 'mongoose';
import { chevre } from '../../../lib/index';
const project = { id: String(process.env.PROJECT_ID) };
async function main() {
await mongoose.connect(<string>process.env.MONGOLAB_URI);
const eventRepo = await chevre.repository.Event.createInstance(mongoose.connection);
const productRepo = await chevre.repository.Product.createInstance(mongoose.connection);
const event = (await eventRepo.projectEventFields(
{
id: { $eq: 'bm0f0cadm' },
typeOf: chevre.factory.eventType.ScreeningEvent,
project: { id: { $eq: project.id } }
},
['offers.itemOffered.id']
)).shift();
console.log('event:', event);
if (event === undefined) {
throw new Error('event not found');
}
const productId = event.offers.itemOffered.id;
if (typeof productId !== 'string') {
throw new Error('offers.itemOffered.id undefined');
}
const catalogs = await productRepo.aggregateHasOfferCatalog(
{
id: productId,
limit: 10,
page: 1
}
);
console.log(catalogs);
console.log(catalogs.length);
}
main()
.then(console.log)
.catch(console.error);