// 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);

    const transactionRepo = await chevre.repository.Transaction.createInstance(mongoose.connection);

    setInterval(
        async () => {
            const startTime = process.hrtime();
            const result = await transactionRepo.reExportAction({
                // status: { $eq: params.status },
                // id: params.id,
                startDate: {
                    $lt: moment()
                        // tslint:disable-next-line:no-magic-numbers
                        .add(-60, 'seconds')
                        .toDate()
                }
            });
            const diff = process.hrtime(startTime);
            console.log(`took ${diff[0]} seconds and ${diff[1]} nanoseconds.`);

            // tslint:disable-next-line:no-null-keyword
            console.dir(result, { depth: null });
        },
        // tslint:disable-next-line:no-magic-numbers
        1000
    );
}

main()
    .then()
    .catch(console.error);
