Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const xl = require('msexcel-builder-colorfix')
- let createxlsx = _callback => {
- filename = `bulk-cashback-exception-report-${Date.now()}.xlsx`
- filepath = '/tmp'
- let workbook = xl.createWorkbook(filepath, filename)
- let sheet = workbook.createSheet('Report', 50, 30000)
- // Set Header
- sheet.set(1, 1, 'Sr No.')
- sheet.set(2, 1, 'Mobile')
- sheet.set(3, 1, 'Wallet Id')
- sheet.set(4, 1, 'Message')
- _.each(exceptions, (data, index) => {
- let i = index + 2
- sheet.set(1, i, index + 1)
- sheet.set(2, i, data.mobile)
- sheet.set(3, i, data.walletid)
- sheet.set(4, i, data.msg)
- })
- workbook.save(err => {
- if (err) {
- workbook.cancel()
- _callback(null)
- } else _callback(null)
- })
- }
- let updateawsconfig = _callback => {
- AWS.config.region = process.env.AWS_REGION
- let aws_config = {
- accessKeyId: process.env.AWS_ACCESS_KEY_ID,
- secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY
- }
- AWS.config.update(aws_config)
- _callback(null)
- }
- let uploadtos3 = _callback => {
- fs.readFile(`${filepath}/${filename}`, (err, data) => {
- if (err) {
- clienterr = syserr = 'Error while reading file.'
- _callback(clienterr)
- } else {
- let s3 = new AWS.S3()
- let base64data = new Buffer(data, 'binary')
- let aws_data_dict = {
- Bucket: process.env.AWS_BUCKET_NAME,
- Key: `exceptions/${filename}`,
- Body: base64data,
- ContentType: filename.mimetype,
- ACL: process.env.AWS_ACL
- }
- s3.putObject(aws_data_dict, (_err, data) => {
- if (_err) {
- clienterr = 'Error occoured while generating exception report. Please try again.'
- syserr = _err
- _callback(clienterr)
- } else {
- _callback(null)
- }
- })
- }
- })
- }
- let sendEmail = _callback => {
- let emails = []
- if (makeremail) emails.push(makeremail)
- if (checkeremail) emails.push(checkeremail)
- let data = {
- email: {
- to: emails.join(','),
- attachments: [{
- filename: filename,
- path: `${process.env.AWS_BUCKET_URL}/exceptions/${filename}`
- }]
- }
- }
- let channelname = 'fpadmin.sendexceptionreport'
- log(`Called ${channelname}: ${JSON.stringify(data)}`)
- comms.publish(channelname, data)
- _callback(null)
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement