Built motion from commit 9d7072cc.|2.5.39
[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 _0xf4a3=['splitSizeCsv','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','num','length','range','isInteger','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','SELECT','push','dirname','.csv','existsSync','join','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','inspect','Failed','finally','exit','util','path','lodash','to-csv','bluebird','zip-dir','../../mysqldb','dbH','analytics','argv','savename','AnalyticExtractedReport','update','info','format','CSV','Setting','find','split','then'];(function(_0x330cb0,_0x2618b2){var _0x38fc0f=function(_0x58c681){while(--_0x58c681){_0x330cb0['push'](_0x330cb0['shift']());}};_0x38fc0f(++_0x2618b2);}(_0xf4a3,0xb0));var _0x3f4a=function(_0x1b50c9,_0x3c261f){_0x1b50c9=_0x1b50c9-0x0;var _0x7a2843=_0xf4a3[_0x1b50c9];return _0x7a2843;};'use strict';var util=require(_0x3f4a('0x0'));var path=require(_0x3f4a('0x1'));var _=require(_0x3f4a('0x2'));var csv=require(_0x3f4a('0x3'));var fs=require('fs');var BPromise=require(_0x3f4a('0x4'));var zipdir=require(_0x3f4a('0x5'));var rimraf=require('rimraf');var db=require('../../mysqldb')['db'];var dbH=require(_0x3f4a('0x6'))[_0x3f4a('0x7')];var logger=require('../../config/logger')(_0x3f4a('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x3f4a('0x9')][0x2]);var QUERY=process[_0x3f4a('0x9')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x41b670,_0x19545f){var _0x45b9b4={'status':_0x41b670};var _0x375fb4={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x19545f){_0x45b9b4[_0x3f4a('0xa')]=_0x19545f;}return db[_0x3f4a('0xb')][_0x3f4a('0xc')](_0x45b9b4,_0x375fb4);}function main(){var _0x24c62f=0x1388;var _0x5b35df;logger[_0x3f4a('0xd')](util[_0x3f4a('0xe')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x3f4a('0xf')));return db[_0x3f4a('0x10')][_0x3f4a('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x3f4a('0x12'),'splitSizeCsv']})[_0x3f4a('0x13')](function(_0x2c18cb){if(_0x2c18cb){_0x5b35df=_0x2c18cb;_0x24c62f=_0x5b35df[_0x3f4a('0x14')]||0x1388;}})[_0x3f4a('0x13')](function(){return dbH['sequelize'][_0x3f4a('0x15')](util[_0x3f4a('0xe')](_0x3f4a('0x16'),QUERY),{'type':dbH[_0x3f4a('0x17')]['QueryTypes']['SELECT']});})[_0x3f4a('0x13')](function(_0xe7d02e){if(!_0xe7d02e[0x0][_0x3f4a('0x18')]){return analyticExtractedReport('Empty');}var _0x55b9ad=[];var _0x41b475=0x0;if(_0x5b35df[_0x3f4a('0x12')]){if(_0xe7d02e&&_0xe7d02e[_0x3f4a('0x19')]){var _0x12f5d8=_[_0x3f4a('0x1a')](_0xe7d02e[0x0][_0x3f4a('0x18')]/_0x24c62f);var _0xa81d12=Number[_0x3f4a('0x1b')](_0xe7d02e[0x0][_0x3f4a('0x18')]/_0x24c62f)?_0xe7d02e[0x0][_0x3f4a('0x18')]%_0x24c62f:0x0;_0x12f5d8[_0x3f4a('0x1c')](function(_0x51c0fe){if(_0x51c0fe>0x0){_0x41b475+=_0x24c62f;}_0x55b9ad['push'](dbH[_0x3f4a('0x17')][_0x3f4a('0x15')](util[_0x3f4a('0xe')](_0x3f4a('0x1d'),QUERY,_0x24c62f,_0x41b475),{'type':dbH[_0x3f4a('0x17')][_0x3f4a('0x1e')][_0x3f4a('0x1f')]}));});if(_0xa81d12>0x0){_0x41b475+=_0x24c62f;_0x55b9ad[_0x3f4a('0x20')](dbH[_0x3f4a('0x17')]['query'](util[_0x3f4a('0xe')](_0x3f4a('0x1d'),QUERY,_0xa81d12,_0x41b475),{'type':dbH[_0x3f4a('0x17')][_0x3f4a('0x1e')][_0x3f4a('0x1f')]}));}}}else{_0x55b9ad[_0x3f4a('0x20')](dbH['sequelize'][_0x3f4a('0x15')](QUERY,{'type':dbH['sequelize']['QueryTypes'][_0x3f4a('0x1f')]}));}var _0x3848da=path[_0x3f4a('0x21')](PATH);var _0x47374a=path['basename'](PATH,_0x3f4a('0x22'));var _0x4ccc16=_0x5b35df['split']&&_0x55b9ad[_0x3f4a('0x19')]>0x1;var _0x537a20=[];if(!fs[_0x3f4a('0x23')](path[_0x3f4a('0x24')](_0x3848da,_0x47374a))&&_0x4ccc16){fs['mkdirSync'](path[_0x3f4a('0x24')](_0x3848da,_0x47374a));}return BPromise['each'](_0x55b9ad,function(_0x1bf4fe){_0x537a20[_0x3f4a('0x20')](_0x1bf4fe);})[_0x3f4a('0x13')](function(){for(var _0x5792d9=0x0;_0x5792d9<_0x537a20[_0x3f4a('0x19')];_0x5792d9+=0x1){var _0x893916;var _0x3e2996=_0x537a20[_0x5792d9];if(_0x4ccc16){_0x893916=path[_0x3f4a('0x24')](_0x3848da,_0x47374a,util[_0x3f4a('0xe')]('%s%d.%s',_0x47374a,_0x5792d9,_0x3f4a('0x25')));}else{_0x893916=path[_0x3f4a('0x24')](_0x3848da,util[_0x3f4a('0xe')](_0x3f4a('0x26'),_0x47374a,'csv'));}fs[_0x3f4a('0x27')](_0x893916,csv(_0x3e2996));}})[_0x3f4a('0x13')](function(){if(_0x4ccc16){return new Promise(function(_0x28411a){zipdir(path[_0x3f4a('0x24')](_0x3848da,_0x47374a),{'saveTo':path[_0x3f4a('0x24')](_0x3848da,util[_0x3f4a('0xe')](_0x3f4a('0x26'),_0x47374a,_0x3f4a('0x28')))},function(_0x32b77c,_0x15480b){rimraf(path[_0x3f4a('0x24')](_0x3848da,_0x47374a),function(){});_0x28411a(_0x3f4a('0x29'));});});}})[_0x3f4a('0x13')](function(){logger[_0x3f4a('0xd')](util[_0x3f4a('0xe')](_0x3f4a('0x2a'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport('Completed',_0x4ccc16?util[_0x3f4a('0xe')](_0x3f4a('0x26'),_0x47374a,_0x4ccc16?_0x3f4a('0x28'):_0x3f4a('0x25')):null);});})[_0x3f4a('0x2b')](function(_0x52054c){logger['info'](util[_0x3f4a('0xe')](_0x3f4a('0x2c'),EXTRACTED_REPORT_ID,_0x3f4a('0xf')),util[_0x3f4a('0x2d')](_0x52054c,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x3f4a('0x2e'));})[_0x3f4a('0x2f')](function(){process[_0x3f4a('0x30')](EXIT_CODE);});}main();