UNPKG

1.74 kBJavaScriptView Raw
1const moment = require('moment');
2const mongoose = require('mongoose');
3const domain = require('../');
4
5async function main() {
6 await mongoose.connect(process.env.MONGOLAB_URI);
7
8 const now = new Date();
9 const startThrough = moment(now)
10 .add(-18, 'months')
11 .toDate();
12
13 console.log('deleting...startThrough:', startThrough);
14
15 const actionRepo = new domain.repository.Action(mongoose.connection);
16 const taskRepo = new domain.repository.Task(mongoose.connection);
17 const transactionRepo = new domain.repository.Transaction(mongoose.connection);
18 const invoiceRepo = new domain.repository.Invoice(mongoose.connection);
19 const orderRepo = new domain.repository.Order(mongoose.connection);
20
21 let result;
22
23 result = await actionRepo.actionModel.deleteMany({
24 startDate: { $lt: startThrough }
25 })
26 .exec();
27 console.log('actions deleted', result);
28
29 result = await taskRepo.taskModel.deleteMany({
30 runsAt: { $lt: startThrough }
31 })
32 .exec();
33 console.log('tasks deleted', result);
34
35 result = await transactionRepo.transactionModel.deleteMany({
36 startDate: { $lt: startThrough }
37 })
38 .exec();
39 console.log('transactions deleted', result);
40
41 result = await invoiceRepo.invoiceModel.deleteMany({
42 createdAt: { $lt: startThrough }
43 })
44 .exec();
45 console.log('invoices deleted', result);
46
47 result = await orderRepo.orderModel.deleteMany({
48 orderDate: { $lt: startThrough }
49 })
50 .exec();
51 console.log('orders deleted', result);
52
53 // await mongoose.disconnect();
54}
55
56main().then(() => {
57 console.log('success!');
58}).catch((error) => {
59 console.error(error);
60 process.exit(1);
61});