Built motion from commit e6806ed6.|2.6.0
[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 _0x1d46=['isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','length','existsSync','join','mkdirSync','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','path','lodash','to-csv','bluebird','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','info','format','CSV','find','split','then','splitSizeCsv','sequelize','query','QueryTypes','SELECT','num','Empty','range'];(function(_0x2d34d6,_0x397ff9){var _0x1d3d12=function(_0x558800){while(--_0x558800){_0x2d34d6['push'](_0x2d34d6['shift']());}};_0x1d3d12(++_0x397ff9);}(_0x1d46,0x1eb));var _0x61d4=function(_0x580647,_0x43d2c3){_0x580647=_0x580647-0x0;var _0x5f0792=_0x1d46[_0x580647];return _0x5f0792;};'use strict';var util=require('util');var path=require(_0x61d4('0x0'));var _=require(_0x61d4('0x1'));var csv=require(_0x61d4('0x2'));var fs=require('fs');var BPromise=require(_0x61d4('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0x61d4('0x4'));var db=require(_0x61d4('0x5'))['db'];var dbH=require('../../mysqldb')[_0x61d4('0x6')];var logger=require(_0x61d4('0x7'))(_0x61d4('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0x61d4('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x5d796e,_0x1c7dae){var _0x285b16={'status':_0x5d796e};var _0x23fc3b={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1c7dae){_0x285b16[_0x61d4('0xa')]=_0x1c7dae;}return db[_0x61d4('0xb')]['update'](_0x285b16,_0x23fc3b);}function main(){var _0x23d762=0x1388;var _0x4b4bc5;logger[_0x61d4('0xc')](util[_0x61d4('0xd')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x61d4('0xe')));return db['Setting'][_0x61d4('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x61d4('0x10'),'splitSizeCsv']})[_0x61d4('0x11')](function(_0x1ea233){if(_0x1ea233){_0x4b4bc5=_0x1ea233;_0x23d762=_0x4b4bc5[_0x61d4('0x12')]||0x1388;}})[_0x61d4('0x11')](function(){return dbH[_0x61d4('0x13')][_0x61d4('0x14')](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x61d4('0x13')][_0x61d4('0x15')][_0x61d4('0x16')]});})[_0x61d4('0x11')](function(_0x2a84bc){if(!_0x2a84bc[0x0][_0x61d4('0x17')]){return analyticExtractedReport(_0x61d4('0x18'));}var _0x3f28b5=[];var _0xe6e032=0x0;if(_0x4b4bc5[_0x61d4('0x10')]){if(_0x2a84bc&&_0x2a84bc['length']){var _0x512461=_[_0x61d4('0x19')](_0x2a84bc[0x0][_0x61d4('0x17')]/_0x23d762);var _0x1eb271=Number[_0x61d4('0x1a')](_0x2a84bc[0x0][_0x61d4('0x17')]/_0x23d762)?_0x2a84bc[0x0][_0x61d4('0x17')]%_0x23d762:0x0;_0x512461[_0x61d4('0x1b')](function(_0x3613db){if(_0x3613db>0x0){_0xe6e032+=_0x23d762;}_0x3f28b5[_0x61d4('0x1c')](dbH[_0x61d4('0x13')]['query'](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x23d762,_0xe6e032),{'type':dbH['sequelize'][_0x61d4('0x15')][_0x61d4('0x16')]}));});if(_0x1eb271>0x0){_0xe6e032+=_0x23d762;_0x3f28b5['push'](dbH['sequelize'][_0x61d4('0x14')](util[_0x61d4('0xd')](_0x61d4('0x1d'),QUERY,_0x1eb271,_0xe6e032),{'type':dbH[_0x61d4('0x13')][_0x61d4('0x15')][_0x61d4('0x16')]}));}}}else{_0x3f28b5['push'](dbH[_0x61d4('0x13')]['query'](QUERY,{'type':dbH[_0x61d4('0x13')][_0x61d4('0x15')][_0x61d4('0x16')]}));}var _0x50480=path[_0x61d4('0x1e')](PATH);var _0x6ef216=path[_0x61d4('0x1f')](PATH,_0x61d4('0x20'));var _0x11726a=_0x4b4bc5['split']&&_0x3f28b5[_0x61d4('0x21')]>0x1;var _0x2a04e0=[];if(!fs[_0x61d4('0x22')](path[_0x61d4('0x23')](_0x50480,_0x6ef216))&&_0x11726a){fs[_0x61d4('0x24')](path[_0x61d4('0x23')](_0x50480,_0x6ef216));}return BPromise[_0x61d4('0x25')](_0x3f28b5,function(_0x29fa67){_0x2a04e0[_0x61d4('0x1c')](_0x29fa67);})['then'](function(){for(var _0x3a3b76=0x0;_0x3a3b76<_0x2a04e0[_0x61d4('0x21')];_0x3a3b76+=0x1){var _0x225e77;var _0x1daefd=_0x2a04e0[_0x3a3b76];if(_0x11726a){_0x225e77=path[_0x61d4('0x23')](_0x50480,_0x6ef216,util[_0x61d4('0xd')](_0x61d4('0x26'),_0x6ef216,_0x3a3b76,_0x61d4('0x27')));}else{_0x225e77=path[_0x61d4('0x23')](_0x50480,util[_0x61d4('0xd')](_0x61d4('0x28'),_0x6ef216,_0x61d4('0x27')));}fs[_0x61d4('0x29')](_0x225e77,csv(_0x1daefd));}})[_0x61d4('0x11')](function(){if(_0x11726a){return new Promise(function(_0x89ed0b){zipdir(path[_0x61d4('0x23')](_0x50480,_0x6ef216),{'saveTo':path[_0x61d4('0x23')](_0x50480,util[_0x61d4('0xd')](_0x61d4('0x28'),_0x6ef216,_0x61d4('0x2a')))},function(_0x21f330,_0x1adbd4){rimraf(path[_0x61d4('0x23')](_0x50480,_0x6ef216),function(){});_0x89ed0b(_0x61d4('0x2b'));});});}})[_0x61d4('0x11')](function(){logger['info'](util[_0x61d4('0xd')](_0x61d4('0x2c'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport('Completed',_0x11726a?util[_0x61d4('0xd')](_0x61d4('0x28'),_0x6ef216,_0x11726a?_0x61d4('0x2a'):_0x61d4('0x27')):null);});})[_0x61d4('0x2d')](function(_0x3a9924){logger[_0x61d4('0xc')](util[_0x61d4('0xd')](_0x61d4('0x2e'),EXTRACTED_REPORT_ID,_0x61d4('0xe')),util['inspect'](_0x3a9924,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})['finally'](function(){process['exit'](EXIT_CODE);});}main();