c26a994db783cdc6c0ec8b4f4466c3c3965ba99c
[motion2.git] / server / components / export / csv.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x23ac=['AnalyticExtractedReport','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','split','splitSizeCsv','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','existsSync','join','mkdirSync','each','csv','%s.%s','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','path','lodash','to-csv','bluebird','rimraf','../../mysqldb','../../config/logger','argv','savename'];(function(_0x50af9c,_0xf03b1e){var _0x5b5e5a=function(_0x309a92){while(--_0x309a92){_0x50af9c['push'](_0x50af9c['shift']());}};_0x5b5e5a(++_0xf03b1e);}(_0x23ac,0x1b9));var _0xc23a=function(_0x122e9b,_0x391bf4){_0x122e9b=_0x122e9b-0x0;var _0x22c247=_0x23ac[_0x122e9b];return _0x22c247;};'use strict';var util=require('util');var path=require(_0xc23a('0x0'));var _=require(_0xc23a('0x1'));var csv=require(_0xc23a('0x2'));var fs=require('fs');var BPromise=require(_0xc23a('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0xc23a('0x4'));var db=require(_0xc23a('0x5'))['db'];var dbH=require(_0xc23a('0x5'))['dbH'];var logger=require(_0xc23a('0x6'))('analytics');var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0xc23a('0x7')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x20b626,_0x3ec22c){var _0x1caee6={'status':_0x20b626};var _0x26dd74={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3ec22c){_0x1caee6[_0xc23a('0x8')]=_0x3ec22c;}return db[_0xc23a('0x9')]['update'](_0x1caee6,_0x26dd74);}function main(){var _0x35d37c=0x1388;var _0x4ded54;logger[_0xc23a('0xa')](util[_0xc23a('0xb')](_0xc23a('0xc'),EXTRACTED_REPORT_ID,'CSV'));return db[_0xc23a('0xd')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xc23a('0xe'),_0xc23a('0xf')]})[_0xc23a('0x10')](function(_0x3b57f3){if(_0x3b57f3){_0x4ded54=_0x3b57f3;_0x35d37c=_0x4ded54[_0xc23a('0xf')]||0x1388;}})[_0xc23a('0x10')](function(){return dbH[_0xc23a('0x11')][_0xc23a('0x12')](util[_0xc23a('0xb')](_0xc23a('0x13'),QUERY),{'type':dbH[_0xc23a('0x11')][_0xc23a('0x14')][_0xc23a('0x15')]});})[_0xc23a('0x10')](function(_0x4a9dca){if(!_0x4a9dca[0x0][_0xc23a('0x16')]){return analyticExtractedReport(_0xc23a('0x17'));}var _0x31582f=[];var _0x3fcb28=0x0;if(_0x4ded54[_0xc23a('0xe')]){if(_0x4a9dca&&_0x4a9dca[_0xc23a('0x18')]){var _0x2c4c80=_[_0xc23a('0x19')](_0x4a9dca[0x0][_0xc23a('0x16')]/_0x35d37c);var _0x4b7c87=Number[_0xc23a('0x1a')](_0x4a9dca[0x0]['num']/_0x35d37c)?_0x4a9dca[0x0]['num']%_0x35d37c:0x0;_0x2c4c80[_0xc23a('0x1b')](function(_0x3b0de7){if(_0x3b0de7>0x0){_0x3fcb28+=_0x35d37c;}_0x31582f[_0xc23a('0x1c')](dbH[_0xc23a('0x11')][_0xc23a('0x12')](util[_0xc23a('0xb')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x35d37c,_0x3fcb28),{'type':dbH['sequelize']['QueryTypes'][_0xc23a('0x15')]}));});if(_0x4b7c87>0x0){_0x3fcb28+=_0x35d37c;_0x31582f[_0xc23a('0x1c')](dbH[_0xc23a('0x11')]['query'](util['format'](_0xc23a('0x1d'),QUERY,_0x4b7c87,_0x3fcb28),{'type':dbH[_0xc23a('0x11')]['QueryTypes'][_0xc23a('0x15')]}));}}}else{_0x31582f[_0xc23a('0x1c')](dbH[_0xc23a('0x11')][_0xc23a('0x12')](QUERY,{'type':dbH['sequelize'][_0xc23a('0x14')][_0xc23a('0x15')]}));}var _0x56ed9f=path[_0xc23a('0x1e')](PATH);var _0x14adc3=path[_0xc23a('0x1f')](PATH,_0xc23a('0x20'));var _0x1fc503=_0x4ded54[_0xc23a('0xe')]&&_0x31582f['length']>0x1;var _0x44f20f=[];if(!fs[_0xc23a('0x21')](path[_0xc23a('0x22')](_0x56ed9f,_0x14adc3))&&_0x1fc503){fs[_0xc23a('0x23')](path[_0xc23a('0x22')](_0x56ed9f,_0x14adc3));}return BPromise[_0xc23a('0x24')](_0x31582f,function(_0x3f08bb){_0x44f20f[_0xc23a('0x1c')](_0x3f08bb);})['then'](function(){for(var _0x56d63b=0x0;_0x56d63b<_0x44f20f[_0xc23a('0x18')];_0x56d63b+=0x1){var _0x3c43fa;var _0x4043aa=_0x44f20f[_0x56d63b];if(_0x1fc503){_0x3c43fa=path[_0xc23a('0x22')](_0x56ed9f,_0x14adc3,util[_0xc23a('0xb')]('%s%d.%s',_0x14adc3,_0x56d63b,_0xc23a('0x25')));}else{_0x3c43fa=path[_0xc23a('0x22')](_0x56ed9f,util[_0xc23a('0xb')](_0xc23a('0x26'),_0x14adc3,'csv'));}fs['writeFileSync'](_0x3c43fa,csv(_0x4043aa));}})[_0xc23a('0x10')](function(){if(_0x1fc503){return new Promise(function(_0x35dc0b){zipdir(path[_0xc23a('0x22')](_0x56ed9f,_0x14adc3),{'saveTo':path['join'](_0x56ed9f,util['format'](_0xc23a('0x26'),_0x14adc3,_0xc23a('0x27')))},function(_0x523dc0,_0x61ec09){rimraf(path[_0xc23a('0x22')](_0x56ed9f,_0x14adc3),function(){});_0x35dc0b(_0xc23a('0x28'));});});}})[_0xc23a('0x10')](function(){logger[_0xc23a('0xa')](util[_0xc23a('0xb')](_0xc23a('0x29'),EXTRACTED_REPORT_ID,_0xc23a('0x2a')));return analyticExtractedReport(_0xc23a('0x2b'),_0x1fc503?util[_0xc23a('0xb')](_0xc23a('0x26'),_0x14adc3,_0x1fc503?'zip':_0xc23a('0x25')):null);});})[_0xc23a('0x2c')](function(_0x7bcd1a){logger[_0xc23a('0xa')](util[_0xc23a('0xb')](_0xc23a('0x2d'),EXTRACTED_REPORT_ID,_0xc23a('0x2a')),util[_0xc23a('0x2e')](_0x7bcd1a,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xc23a('0x2f'));})[_0xc23a('0x30')](function(){process[_0xc23a('0x31')](EXIT_CODE);});}main();