@chevre/domain
Version:
Chevre Domain Library for Node.js
57 lines (50 loc) • 1.68 kB
text/typescript
// tslint:disable:no-console
import * as moment from 'moment';
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 taskRepo = await chevre.repository.Task.createInstance(mongoose.connection);
const sendGridCredentials = await chevre.credentials.SendGrid.createInstance({
apiKey: <string>process.env.SENDGRID_API_KEY,
alert: {
sender: {
name: 'xxx',
email: 'xxx'
},
toRecipient: [
{ email: 'xxx' }
]
}
});
const chevreSettings = new chevre.settings.Settings(<any>{
abortedTasksWithoutReport: [
chevre.factory.taskName.ImportEventCapacitiesFromCOA,
chevre.factory.taskName.ImportEventsFromCOA,
chevre.factory.taskName.ImportOffersFromCOA
]
});
const result = await (await chevre.service.task.createService()).notifyAbortedTasksByEmail({
dateAbortedGte: moment()
// tslint:disable-next-line:no-magic-numbers
.add(-10, 'days')
.toDate()
})(
{
task: taskRepo
},
chevreSettings,
{
sendGrid: sendGridCredentials
}
);
// tslint:disable-next-line:no-null-keyword
console.dir(result, { depth: null });
}
main()
.then(console.log)
.catch((error) => {
// tslint:disable-next-line:no-null-keyword
console.dir(error, { depth: null });
});