38c3bbbebdde8edb3b84573c94a26b16e79be57e
[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 _0xb6fd=['info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','splitSizeCsv','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','range','isInteger','forEach','push','sequelize','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','.csv','split','existsSync','join','mkdirSync','csv','%s.%s','writeFileSync','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','inspect','Failed','finally','exit','util','path','lodash','to-csv','bluebird','zip-dir','../../mysqldb','analytics','argv','savename','AnalyticExtractedReport','update'];(function(_0x519006,_0x113827){var _0x165a26=function(_0x4d5047){while(--_0x4d5047){_0x519006['push'](_0x519006['shift']());}};_0x165a26(++_0x113827);}(_0xb6fd,0x12c));var _0xdb6f=function(_0x4ed146,_0x194578){_0x4ed146=_0x4ed146-0x0;var _0x289241=_0xb6fd[_0x4ed146];return _0x289241;};'use strict';var util=require(_0xdb6f('0x0'));var path=require(_0xdb6f('0x1'));var _=require(_0xdb6f('0x2'));var csv=require(_0xdb6f('0x3'));var fs=require('fs');var BPromise=require(_0xdb6f('0x4'));var zipdir=require(_0xdb6f('0x5'));var rimraf=require('rimraf');var db=require(_0xdb6f('0x6'))['db'];var dbH=require(_0xdb6f('0x6'))['dbH'];var logger=require('../../config/logger')(_0xdb6f('0x7'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0xdb6f('0x8')][0x3];var PATH=process[_0xdb6f('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x91420c,_0x4b1664){var _0x3f0c6b={'status':_0x91420c};var _0x202594={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4b1664){_0x3f0c6b[_0xdb6f('0x9')]=_0x4b1664;}return db[_0xdb6f('0xa')][_0xdb6f('0xb')](_0x3f0c6b,_0x202594);}function main(){var _0x25d365=0x1388;var _0xf90b57;logger[_0xdb6f('0xc')](util[_0xdb6f('0xd')](_0xdb6f('0xe'),EXTRACTED_REPORT_ID,_0xdb6f('0xf')));return db[_0xdb6f('0x10')][_0xdb6f('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xdb6f('0x12')]})[_0xdb6f('0x13')](function(_0x2ccae4){if(_0x2ccae4){_0xf90b57=_0x2ccae4;_0x25d365=_0xf90b57[_0xdb6f('0x12')]||0x1388;}})[_0xdb6f('0x13')](function(){return dbH['sequelize'][_0xdb6f('0x14')](util['format'](_0xdb6f('0x15'),QUERY),{'type':dbH['sequelize'][_0xdb6f('0x16')][_0xdb6f('0x17')]});})['then'](function(_0x38aec4){if(!_0x38aec4[0x0][_0xdb6f('0x18')]){return analyticExtractedReport(_0xdb6f('0x19'));}var _0x213f59=[];var _0x3059b7=0x0;if(_0xf90b57['split']){if(_0x38aec4&&_0x38aec4[_0xdb6f('0x1a')]){var _0x4ba18a=_[_0xdb6f('0x1b')](_0x38aec4[0x0]['num']/_0x25d365);var _0x446e2f=Number[_0xdb6f('0x1c')](_0x38aec4[0x0]['num']/_0x25d365)?_0x38aec4[0x0][_0xdb6f('0x18')]%_0x25d365:0x0;_0x4ba18a[_0xdb6f('0x1d')](function(_0x325668){if(_0x325668>0x0){_0x3059b7+=_0x25d365;}_0x213f59[_0xdb6f('0x1e')](dbH[_0xdb6f('0x1f')][_0xdb6f('0x14')](util[_0xdb6f('0xd')](_0xdb6f('0x20'),QUERY,_0x25d365,_0x3059b7),{'type':dbH[_0xdb6f('0x1f')][_0xdb6f('0x16')][_0xdb6f('0x17')]}));});if(_0x446e2f>0x0){_0x3059b7+=_0x25d365;_0x213f59[_0xdb6f('0x1e')](dbH[_0xdb6f('0x1f')]['query'](util[_0xdb6f('0xd')](_0xdb6f('0x20'),QUERY,_0x446e2f,_0x3059b7),{'type':dbH[_0xdb6f('0x1f')][_0xdb6f('0x16')][_0xdb6f('0x17')]}));}}}else{_0x213f59['push'](dbH[_0xdb6f('0x1f')][_0xdb6f('0x14')](QUERY,{'type':dbH['sequelize'][_0xdb6f('0x16')]['SELECT']}));}var _0x2051ed=path[_0xdb6f('0x21')](PATH);var _0x48b488=path['basename'](PATH,_0xdb6f('0x22'));var _0x564902=_0xf90b57[_0xdb6f('0x23')]&&_0x213f59['length']>0x1;var _0x277a8d=[];if(!fs[_0xdb6f('0x24')](path[_0xdb6f('0x25')](_0x2051ed,_0x48b488))&&_0x564902){fs[_0xdb6f('0x26')](path[_0xdb6f('0x25')](_0x2051ed,_0x48b488));}return BPromise['each'](_0x213f59,function(_0x4e8330){_0x277a8d[_0xdb6f('0x1e')](_0x4e8330);})[_0xdb6f('0x13')](function(){for(var _0x3abcbb=0x0;_0x3abcbb<_0x277a8d['length'];_0x3abcbb+=0x1){var _0x4aa239;var _0xb2494d=_0x277a8d[_0x3abcbb];if(_0x564902){_0x4aa239=path[_0xdb6f('0x25')](_0x2051ed,_0x48b488,util[_0xdb6f('0xd')]('%s%d.%s',_0x48b488,_0x3abcbb,_0xdb6f('0x27')));}else{_0x4aa239=path[_0xdb6f('0x25')](_0x2051ed,util[_0xdb6f('0xd')](_0xdb6f('0x28'),_0x48b488,_0xdb6f('0x27')));}fs[_0xdb6f('0x29')](_0x4aa239,csv(_0xb2494d));}})[_0xdb6f('0x13')](function(){if(_0x564902){return new Promise(function(_0x70c540){zipdir(path[_0xdb6f('0x25')](_0x2051ed,_0x48b488),{'saveTo':path[_0xdb6f('0x25')](_0x2051ed,util[_0xdb6f('0xd')](_0xdb6f('0x28'),_0x48b488,_0xdb6f('0x2a')))},function(_0x2c7cab,_0x389f9e){rimraf(path[_0xdb6f('0x25')](_0x2051ed,_0x48b488),function(){});_0x70c540(_0xdb6f('0x2b'));});});}})[_0xdb6f('0x13')](function(){logger[_0xdb6f('0xc')](util[_0xdb6f('0xd')](_0xdb6f('0x2c'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0xdb6f('0x2d'),_0x564902?util[_0xdb6f('0xd')](_0xdb6f('0x28'),_0x48b488,_0x564902?_0xdb6f('0x2a'):'csv'):null);});})[_0xdb6f('0x2e')](function(_0x317a34){logger[_0xdb6f('0xc')](util[_0xdb6f('0xd')](_0xdb6f('0x2f'),EXTRACTED_REPORT_ID,_0xdb6f('0xf')),util[_0xdb6f('0x30')](_0x317a34,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xdb6f('0x31'));})[_0xdb6f('0x32')](function(){process[_0xdb6f('0x33')](EXIT_CODE);});}main();