-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathparser.js
31 lines (26 loc) · 912 Bytes
/
parser.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const bunyan = require('bunyan');
const bformat = require('bunyan-format');
const formatOut = bformat({ outputMode: 'short' });
const log = bunyan.createLogger({ name: 'parser', stream: formatOut, level: 'debug' });
const mongoose = require('mongoose');
const parser = require('dsmr-parser');
const models = require('./models');
const config = require('./config');
const utils = require('./utils');
mongoose.connect(config.database, { useNewUrlParser: true })
.catch((err) => {
log.warn(err.message);
});
log.info('Parsing telegrams...');
const query = models.Telegram.find({ decryptedData: { $exists: true, $ne: null } });
query.exec((err, telegrams) => {
if (err) return log.error(err);
telegrams.map((t) => {
t.parsedData = parser.parse(t.decryptedData);
t.markModified('parsedData');
t.save((err) => {
if (err) return log.error(err);
});
});
log.info('Done.');
});