7e35ff1850ad1441aa3906ca4d984dc60cfb4009
[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 _0xddb2=['CSV','inspect','Failed','util','path','lodash','to-csv','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','then','splitSizeCsv','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','SELECT','num','Empty','split','length','range','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','basename','.csv','existsSync','join','each','%s%d.%s','%s.%s','csv','writeFileSync','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format'];(function(_0x2586df,_0x17558e){var _0x5bc581=function(_0x2f6b47){while(--_0x2f6b47){_0x2586df['push'](_0x2586df['shift']());}};_0x5bc581(++_0x17558e);}(_0xddb2,0xcb));var _0x2ddb=function(_0x3015ea,_0x2791b3){_0x3015ea=_0x3015ea-0x0;var _0x44b126=_0xddb2[_0x3015ea];return _0x44b126;};'use strict';var util=require(_0x2ddb('0x0'));var path=require(_0x2ddb('0x1'));var _=require(_0x2ddb('0x2'));var csv=require(_0x2ddb('0x3'));var fs=require('fs');var BPromise=require('bluebird');var zipdir=require(_0x2ddb('0x4'));var rimraf=require(_0x2ddb('0x5'));var db=require(_0x2ddb('0x6'))['db'];var dbH=require(_0x2ddb('0x6'))[_0x2ddb('0x7')];var logger=require('../../config/logger')(_0x2ddb('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x2ddb('0x9')][0x2]);var QUERY=process[_0x2ddb('0x9')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x5ea902,_0x1df0fe){var _0x21747c={'status':_0x5ea902};var _0x51d36e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1df0fe){_0x21747c['savename']=_0x1df0fe;}return db[_0x2ddb('0xa')][_0x2ddb('0xb')](_0x21747c,_0x51d36e);}function main(){var _0x598de5=0x1388;var _0x3a2d89;logger[_0x2ddb('0xc')](util[_0x2ddb('0xd')](_0x2ddb('0xe'),EXTRACTED_REPORT_ID,'CSV'));return db[_0x2ddb('0xf')][_0x2ddb('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeCsv']})[_0x2ddb('0x11')](function(_0x1c1374){if(_0x1c1374){_0x3a2d89=_0x1c1374;_0x598de5=_0x3a2d89[_0x2ddb('0x12')]||0x1388;}})[_0x2ddb('0x11')](function(){return dbH[_0x2ddb('0x13')][_0x2ddb('0x14')](util[_0x2ddb('0xd')](_0x2ddb('0x15'),QUERY),{'type':dbH['sequelize']['QueryTypes'][_0x2ddb('0x16')]});})[_0x2ddb('0x11')](function(_0x20753b){if(!_0x20753b[0x0][_0x2ddb('0x17')]){return analyticExtractedReport(_0x2ddb('0x18'));}var _0x47599b=[];var _0x2f6f88=0x0;if(_0x3a2d89[_0x2ddb('0x19')]){if(_0x20753b&&_0x20753b[_0x2ddb('0x1a')]){var _0x627f7b=_[_0x2ddb('0x1b')](_0x20753b[0x0]['num']/_0x598de5);var _0x305fe8=Number['isInteger'](_0x20753b[0x0][_0x2ddb('0x17')]/_0x598de5)?_0x20753b[0x0][_0x2ddb('0x17')]%_0x598de5:0x0;_0x627f7b[_0x2ddb('0x1c')](function(_0x3562ed){if(_0x3562ed>0x0){_0x2f6f88+=_0x598de5;}_0x47599b[_0x2ddb('0x1d')](dbH[_0x2ddb('0x13')][_0x2ddb('0x14')](util['format'](_0x2ddb('0x1e'),QUERY,_0x598de5,_0x2f6f88),{'type':dbH[_0x2ddb('0x13')][_0x2ddb('0x1f')][_0x2ddb('0x16')]}));});if(_0x305fe8>0x0){_0x2f6f88+=_0x598de5;_0x47599b[_0x2ddb('0x1d')](dbH[_0x2ddb('0x13')]['query'](util['format'](_0x2ddb('0x1e'),QUERY,_0x305fe8,_0x2f6f88),{'type':dbH[_0x2ddb('0x13')][_0x2ddb('0x1f')][_0x2ddb('0x16')]}));}}}else{_0x47599b[_0x2ddb('0x1d')](dbH[_0x2ddb('0x13')][_0x2ddb('0x14')](QUERY,{'type':dbH[_0x2ddb('0x13')][_0x2ddb('0x1f')][_0x2ddb('0x16')]}));}var _0x2ae3c7=path[_0x2ddb('0x20')](PATH);var _0x27dc4e=path[_0x2ddb('0x21')](PATH,_0x2ddb('0x22'));var _0x3a899c=_0x3a2d89[_0x2ddb('0x19')]&&_0x47599b['length']>0x1;var _0x5a8466=[];if(!fs[_0x2ddb('0x23')](path[_0x2ddb('0x24')](_0x2ae3c7,_0x27dc4e))&&_0x3a899c){fs['mkdirSync'](path[_0x2ddb('0x24')](_0x2ae3c7,_0x27dc4e));}return BPromise[_0x2ddb('0x25')](_0x47599b,function(_0x2293f4){_0x5a8466['push'](_0x2293f4);})[_0x2ddb('0x11')](function(){for(var _0x5dbb2a=0x0;_0x5dbb2a<_0x5a8466['length'];_0x5dbb2a+=0x1){var _0x32a0a9;var _0x90a69c=_0x5a8466[_0x5dbb2a];if(_0x3a899c){_0x32a0a9=path[_0x2ddb('0x24')](_0x2ae3c7,_0x27dc4e,util[_0x2ddb('0xd')](_0x2ddb('0x26'),_0x27dc4e,_0x5dbb2a,'csv'));}else{_0x32a0a9=path[_0x2ddb('0x24')](_0x2ae3c7,util[_0x2ddb('0xd')](_0x2ddb('0x27'),_0x27dc4e,_0x2ddb('0x28')));}fs[_0x2ddb('0x29')](_0x32a0a9,csv(_0x90a69c));}})[_0x2ddb('0x11')](function(){if(_0x3a899c){return new Promise(function(_0x5816b7){zipdir(path[_0x2ddb('0x24')](_0x2ae3c7,_0x27dc4e),{'saveTo':path['join'](_0x2ae3c7,util[_0x2ddb('0xd')](_0x2ddb('0x27'),_0x27dc4e,'zip'))},function(_0x38de9b,_0x99f325){rimraf(path[_0x2ddb('0x24')](_0x2ae3c7,_0x27dc4e),function(){});_0x5816b7('zip\x20finished');});});}})['then'](function(){logger[_0x2ddb('0xc')](util['format'](_0x2ddb('0x2a'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0x2ddb('0x2b'),_0x3a899c?util[_0x2ddb('0xd')](_0x2ddb('0x27'),_0x27dc4e,_0x3a899c?_0x2ddb('0x2c'):'csv'):null);});})[_0x2ddb('0x2d')](function(_0x5e16d2){logger[_0x2ddb('0xc')](util[_0x2ddb('0xd')](_0x2ddb('0x2e'),EXTRACTED_REPORT_ID,_0x2ddb('0x2f')),util[_0x2ddb('0x30')](_0x5e16d2,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x2ddb('0x31'));})['finally'](function(){process['exit'](EXIT_CODE);});}main();