Built motion from commit (unavailable).|2.5.2
[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 _0x84ab=['inspect','Failed','util','path','lodash','to-csv','bluebird','rimraf','../../mysqldb','dbH','../../config/logger','analytics','AnalyticExtractedReport','info','Setting','find','split','splitSizeCsv','then','sequelize','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','existsSync','join','mkdirSync','each','%s%d.%s','csv','writeFileSync','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','Completed','%s.%s'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x84ab,0x12f));var _0xb84a=function(_0x3207aa,_0xe86a72){_0x3207aa=_0x3207aa-0x0;var _0x51758f=_0x84ab[_0x3207aa];return _0x51758f;};'use strict';var util=require(_0xb84a('0x0'));var path=require(_0xb84a('0x1'));var _=require(_0xb84a('0x2'));var csv=require(_0xb84a('0x3'));var fs=require('fs');var BPromise=require(_0xb84a('0x4'));var zipdir=require('zip-dir');var rimraf=require(_0xb84a('0x5'));var db=require(_0xb84a('0x6'))['db'];var dbH=require('../../mysqldb')[_0xb84a('0x7')];var logger=require(_0xb84a('0x8'))(_0xb84a('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0xd445b5,_0x4fac4d){var _0x3e9086={'status':_0xd445b5};var _0x8d9dbe={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4fac4d){_0x3e9086['savename']=_0x4fac4d;}return db[_0xb84a('0xa')]['update'](_0x3e9086,_0x8d9dbe);}function main(){var _0x2e6a71=0x1388;var _0x1886e0;logger[_0xb84a('0xb')](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'CSV'));return db[_0xb84a('0xc')][_0xb84a('0xd')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xb84a('0xe'),_0xb84a('0xf')]})[_0xb84a('0x10')](function(_0x4d3758){if(_0x4d3758){_0x1886e0=_0x4d3758;_0x2e6a71=_0x1886e0[_0xb84a('0xf')]||0x1388;}})[_0xb84a('0x10')](function(){return dbH[_0xb84a('0x11')][_0xb84a('0x12')](util[_0xb84a('0x13')](_0xb84a('0x14'),QUERY),{'type':dbH[_0xb84a('0x11')][_0xb84a('0x15')][_0xb84a('0x16')]});})[_0xb84a('0x10')](function(_0xc0b2e0){if(!_0xc0b2e0[0x0][_0xb84a('0x17')]){return analyticExtractedReport('Empty');}var _0x11dd4d=[];var _0x4a691d=0x0;var _0xb65e5a=!![];if(_0xc0b2e0&&_0xc0b2e0[_0xb84a('0x18')]){var _0x1c7378=_0xc0b2e0[0x0][_0xb84a('0x17')]%(_0x4a691d+_0x2e6a71);if(_0x1886e0[_0xb84a('0xe')]){for(;_0xb65e5a;_0x4a691d+=_0x2e6a71,_0x1c7378=_0xc0b2e0[0x0][_0xb84a('0x17')]%(_0x4a691d+_0x2e6a71)){if(_0x1c7378==0x0||_0x1c7378==_0xc0b2e0[0x0][_0xb84a('0x17')]){_0xb65e5a=![];}_0x11dd4d[_0xb84a('0x19')](dbH[_0xb84a('0x11')][_0xb84a('0x12')](util[_0xb84a('0x13')](_0xb84a('0x1a'),QUERY,_0x2e6a71,_0x4a691d),{'type':dbH['sequelize'][_0xb84a('0x15')][_0xb84a('0x16')]}));}}else{_0x11dd4d['push'](dbH[_0xb84a('0x11')][_0xb84a('0x12')](QUERY,{'type':dbH[_0xb84a('0x11')][_0xb84a('0x15')]['SELECT']}));}}var _0x4ac5f8=path[_0xb84a('0x1b')](PATH);var _0x19097d=path[_0xb84a('0x1c')](PATH,_0xb84a('0x1d'));var _0x1e2fd4=_0x1886e0[_0xb84a('0xe')]&&_0x11dd4d[_0xb84a('0x18')]>0x1;var _0x21d0d3=[];if(!fs[_0xb84a('0x1e')](path[_0xb84a('0x1f')](_0x4ac5f8,_0x19097d))&&_0x1e2fd4){fs[_0xb84a('0x20')](path[_0xb84a('0x1f')](_0x4ac5f8,_0x19097d));}return BPromise[_0xb84a('0x21')](_0x11dd4d,function(_0x409df0){_0x21d0d3[_0xb84a('0x19')](_0x409df0);})[_0xb84a('0x10')](function(){for(var _0x378ce1=0x0;_0x378ce1<_0x21d0d3[_0xb84a('0x18')];_0x378ce1+=0x1){var _0x3b6805;var _0xd468c3=_0x21d0d3[_0x378ce1];if(_0x1e2fd4){_0x3b6805=path[_0xb84a('0x1f')](_0x4ac5f8,_0x19097d,util[_0xb84a('0x13')](_0xb84a('0x22'),_0x19097d,_0x378ce1,_0xb84a('0x23')));}else{_0x3b6805=path[_0xb84a('0x1f')](_0x4ac5f8,util[_0xb84a('0x13')]('%s.%s',_0x19097d,'csv'));}fs[_0xb84a('0x24')](_0x3b6805,csv(_0xd468c3));}})[_0xb84a('0x10')](function(){if(_0x1e2fd4){zipdir(path['join'](_0x4ac5f8,_0x19097d),{'saveTo':path[_0xb84a('0x1f')](_0x4ac5f8,util[_0xb84a('0x13')]('%s.%s',_0x19097d,'zip'))},function(_0x28f2e7,_0x8e9319){});rimraf(path['join'](_0x4ac5f8,_0x19097d),function(){});}})[_0xb84a('0x10')](function(){logger[_0xb84a('0xb')](util[_0xb84a('0x13')](_0xb84a('0x25'),EXTRACTED_REPORT_ID,_0xb84a('0x26')));return analyticExtractedReport(_0xb84a('0x27'),_0x1e2fd4?util[_0xb84a('0x13')](_0xb84a('0x28'),_0x19097d,_0x1e2fd4?'zip':_0xb84a('0x23')):null);});})['catch'](function(_0x4bca85){logger[_0xb84a('0xb')](util[_0xb84a('0x13')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'CSV'),util[_0xb84a('0x29')](_0x4bca85,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xb84a('0x2a'));});}main();