UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

57 lines (50 loc) 1.68 kB
// 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 }); });