@chevre/domain
Version:
Chevre Domain Library for Node.js
44 lines (38 loc) • 2 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, { autoIndex: false });
const result = await (await chevre.service.transaction.createService()).returnOrder.start({
project: { id: project.id, typeOf: chevre.factory.organizationType.Project },
expiresInSeconds: 60,
agent: { id: 'xxx', typeOf: chevre.factory.creativeWorkType.WebApplication },
object: {
order: [{
confirmationNumber: '60050',
orderNumber: 'CIN0-2033389-8046472'
}],
reason: chevre.factory.transaction.returnOrder.Reason.Customer
},
seller: {
id: 'xxx'
}
})({
acceptedOffer: await chevre.repository.AcceptedOffer.createInstance(mongoose.connection),
event: await chevre.repository.Event.createInstance(mongoose.connection),
merchantReturnPolicy: await chevre.repository.MerchantReturnPolicy.createInstance(mongoose.connection),
offer: await chevre.repository.Offer.createInstance(mongoose.connection),
offerItemCondition: await chevre.repository.OfferItemCondition.createInstance(mongoose.connection),
order: await chevre.repository.Order.createInstance(mongoose.connection),
project: await chevre.repository.Project.createInstance(mongoose.connection),
reservation: await chevre.repository.Reservation.createInstance(mongoose.connection),
seller: await chevre.repository.Seller.createInstance(mongoose.connection),
sellerReturnPolicy: await chevre.repository.SellerReturnPolicy.createInstance(mongoose.connection),
transaction: await chevre.repository.Transaction.createInstance(mongoose.connection)
});
console.log(result);
}
main()
.then(console.log)
.catch(console.error);