Built motion from commit da617fac.|2.6.6
[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 _0x0db5=['split','splitSizeCsv','then','sequelize','query','SELECT','num','Empty','range','isInteger','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','.csv','length','join','each','%s%d.%s','%s.%s','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find'];(function(_0x3d9f68,_0x95d6ce){var _0x4a6db6=function(_0xa3160a){while(--_0xa3160a){_0x3d9f68['push'](_0x3d9f68['shift']());}};_0x4a6db6(++_0x95d6ce);}(_0x0db5,0x15d));var _0x50db=function(_0x1cc89a,_0x176f51){_0x1cc89a=_0x1cc89a-0x0;var _0x7e69d3=_0x0db5[_0x1cc89a];return _0x7e69d3;};'use strict';var util=require(_0x50db('0x0'));var path=require(_0x50db('0x1'));var _=require(_0x50db('0x2'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0x50db('0x3'));var zipdir=require(_0x50db('0x4'));var rimraf=require(_0x50db('0x5'));var db=require(_0x50db('0x6'))['db'];var dbH=require('../../mysqldb')[_0x50db('0x7')];var logger=require(_0x50db('0x8'))(_0x50db('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x50db('0xa')][0x2]);var QUERY=process[_0x50db('0xa')][0x3];var PATH=process[_0x50db('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x3b9146,_0x37fac4){var _0x3ff92b={'status':_0x3b9146};var _0x3a7aec={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x37fac4){_0x3ff92b['savename']=_0x37fac4;}return db[_0x50db('0xb')][_0x50db('0xc')](_0x3ff92b,_0x3a7aec);}function main(){var _0x3321ef=0x1388;var _0x2b862d;logger[_0x50db('0xd')](util[_0x50db('0xe')](_0x50db('0xf'),EXTRACTED_REPORT_ID,_0x50db('0x10')));return db[_0x50db('0x11')][_0x50db('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x50db('0x13'),_0x50db('0x14')]})[_0x50db('0x15')](function(_0x38cc5d){if(_0x38cc5d){_0x2b862d=_0x38cc5d;_0x3321ef=_0x2b862d[_0x50db('0x14')]||0x1388;}})[_0x50db('0x15')](function(){return dbH[_0x50db('0x16')][_0x50db('0x17')](util[_0x50db('0xe')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH['sequelize']['QueryTypes'][_0x50db('0x18')]});})[_0x50db('0x15')](function(_0x133f9d){if(!_0x133f9d[0x0][_0x50db('0x19')]){return analyticExtractedReport(_0x50db('0x1a'));}var _0x14779e=[];var _0x513826=0x0;if(_0x2b862d[_0x50db('0x13')]){if(_0x133f9d&&_0x133f9d['length']){var _0xfe207e=_[_0x50db('0x1b')](_0x133f9d[0x0][_0x50db('0x19')]/_0x3321ef);var _0x5d622b=Number[_0x50db('0x1c')](_0x133f9d[0x0]['num']/_0x3321ef)?_0x133f9d[0x0][_0x50db('0x19')]%_0x3321ef:0x0;_0xfe207e[_0x50db('0x1d')](function(_0xbdca16){if(_0xbdca16>0x0){_0x513826+=_0x3321ef;}_0x14779e[_0x50db('0x1e')](dbH[_0x50db('0x16')]['query'](util[_0x50db('0xe')](_0x50db('0x1f'),QUERY,_0x3321ef,_0x513826),{'type':dbH[_0x50db('0x16')][_0x50db('0x20')][_0x50db('0x18')]}));});if(_0x5d622b>0x0){_0x513826+=_0x3321ef;_0x14779e[_0x50db('0x1e')](dbH[_0x50db('0x16')][_0x50db('0x17')](util[_0x50db('0xe')](_0x50db('0x1f'),QUERY,_0x5d622b,_0x513826),{'type':dbH[_0x50db('0x16')][_0x50db('0x20')][_0x50db('0x18')]}));}}}else{_0x14779e[_0x50db('0x1e')](dbH['sequelize']['query'](QUERY,{'type':dbH[_0x50db('0x16')][_0x50db('0x20')][_0x50db('0x18')]}));}var _0x4e4ecb=path[_0x50db('0x21')](PATH);var _0x1acbec=path['basename'](PATH,_0x50db('0x22'));var _0x30c816=_0x2b862d['split']&&_0x14779e[_0x50db('0x23')]>0x1;var _0xd6e605=[];if(!fs['existsSync'](path[_0x50db('0x24')](_0x4e4ecb,_0x1acbec))&&_0x30c816){fs['mkdirSync'](path[_0x50db('0x24')](_0x4e4ecb,_0x1acbec));}return BPromise[_0x50db('0x25')](_0x14779e,function(_0x52bf81){_0xd6e605[_0x50db('0x1e')](_0x52bf81);})[_0x50db('0x15')](function(){for(var _0xf6d957=0x0;_0xf6d957<_0xd6e605[_0x50db('0x23')];_0xf6d957+=0x1){var _0x2ccf4e;var _0x2320d1=_0xd6e605[_0xf6d957];if(_0x30c816){_0x2ccf4e=path[_0x50db('0x24')](_0x4e4ecb,_0x1acbec,util[_0x50db('0xe')](_0x50db('0x26'),_0x1acbec,_0xf6d957,'csv'));}else{_0x2ccf4e=path[_0x50db('0x24')](_0x4e4ecb,util[_0x50db('0xe')](_0x50db('0x27'),_0x1acbec,'csv'));}fs['writeFileSync'](_0x2ccf4e,csv(_0x2320d1));}})[_0x50db('0x15')](function(){if(_0x30c816){return new Promise(function(_0x5b1eb5){zipdir(path[_0x50db('0x24')](_0x4e4ecb,_0x1acbec),{'saveTo':path[_0x50db('0x24')](_0x4e4ecb,util[_0x50db('0xe')]('%s.%s',_0x1acbec,_0x50db('0x28')))},function(_0x18b357,_0x39c79a){rimraf(path[_0x50db('0x24')](_0x4e4ecb,_0x1acbec),function(){});_0x5b1eb5(_0x50db('0x29'));});});}})['then'](function(){logger[_0x50db('0xd')](util[_0x50db('0xe')](_0x50db('0x2a'),EXTRACTED_REPORT_ID,_0x50db('0x10')));return analyticExtractedReport(_0x50db('0x2b'),_0x30c816?util[_0x50db('0xe')](_0x50db('0x27'),_0x1acbec,_0x30c816?_0x50db('0x28'):'csv'):null);});})[_0x50db('0x2c')](function(_0xafe3d0){logger['info'](util[_0x50db('0xe')](_0x50db('0x2d'),EXTRACTED_REPORT_ID,_0x50db('0x10')),util['inspect'](_0xafe3d0,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})['finally'](function(){process['exit'](EXIT_CODE);});}main();