Built motion from commit (unavailable).|2.0.78
[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 _0x7a99=['query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','%s\x20limit\x20%d\x20OFFSET\x20%d','push','.csv','existsSync','join','mkdirSync','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','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','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','savename','AnalyticExtractedReport','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','split','then','splitSizeCsv','sequelize'];(function(_0x590905,_0x1de4ac){var _0x4689a1=function(_0x2f2acd){while(--_0x2f2acd){_0x590905['push'](_0x590905['shift']());}};_0x4689a1(++_0x1de4ac);}(_0x7a99,0x9c));var _0x97a9=function(_0x39c9f5,_0x2230b3){_0x39c9f5=_0x39c9f5-0x0;var _0x454269=_0x7a99[_0x39c9f5];return _0x454269;};'use strict';var util=require(_0x97a9('0x0'));var path=require('path');var _=require(_0x97a9('0x1'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0x97a9('0x2'));var zipdir=require(_0x97a9('0x3'));var rimraf=require(_0x97a9('0x4'));var db=require(_0x97a9('0x5'))['db'];var dbH=require('../../mysqldb')[_0x97a9('0x6')];var logger=require('../../config/logger')(_0x97a9('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x97a9('0x8')][0x2]);var QUERY=process[_0x97a9('0x8')][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x266ea6,_0x294a04){var _0x46adb4={'status':_0x266ea6};var _0x422796={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x294a04){_0x46adb4[_0x97a9('0x9')]=_0x294a04;}return db[_0x97a9('0xa')]['update'](_0x46adb4,_0x422796);}function main(){var _0x1457ae=0x1388;var _0x5725e6;logger[_0x97a9('0xb')](util['format'](_0x97a9('0xc'),EXTRACTED_REPORT_ID,_0x97a9('0xd')));return db[_0x97a9('0xe')][_0x97a9('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x97a9('0x10'),'splitSizeCsv']})[_0x97a9('0x11')](function(_0x5b3f56){if(_0x5b3f56){_0x5725e6=_0x5b3f56;_0x1457ae=_0x5725e6[_0x97a9('0x12')]||0x1388;}})[_0x97a9('0x11')](function(){return dbH[_0x97a9('0x13')][_0x97a9('0x14')](util[_0x97a9('0x15')](_0x97a9('0x16'),QUERY),{'type':dbH['sequelize'][_0x97a9('0x17')][_0x97a9('0x18')]});})['then'](function(_0x3203e0){if(!_0x3203e0[0x0][_0x97a9('0x19')]){return analyticExtractedReport(_0x97a9('0x1a'));}var _0x4711bf=[];var _0x3c9bc5=0x0;var _0x4ea2a2=!![];if(_0x3203e0&&_0x3203e0[_0x97a9('0x1b')]){var _0x452e12=_0x3203e0[0x0][_0x97a9('0x19')]%(_0x3c9bc5+_0x1457ae);if(_0x5725e6[_0x97a9('0x10')]){for(;_0x4ea2a2;_0x3c9bc5+=_0x1457ae,_0x452e12=_0x3203e0[0x0]['num']%(_0x3c9bc5+_0x1457ae)){if(_0x452e12==0x0||_0x452e12==_0x3203e0[0x0][_0x97a9('0x19')]){_0x4ea2a2=![];}_0x4711bf['push'](dbH[_0x97a9('0x13')][_0x97a9('0x14')](util['format'](_0x97a9('0x1c'),QUERY,_0x1457ae,_0x3c9bc5),{'type':dbH[_0x97a9('0x13')][_0x97a9('0x17')][_0x97a9('0x18')]}));}}else{_0x4711bf[_0x97a9('0x1d')](dbH[_0x97a9('0x13')]['query'](QUERY,{'type':dbH['sequelize']['QueryTypes'][_0x97a9('0x18')]}));}}var _0x3dd92a=path['dirname'](PATH);var _0x50bb05=path['basename'](PATH,_0x97a9('0x1e'));var _0x3fdb03=_0x5725e6[_0x97a9('0x10')]&&_0x4711bf['length']>0x1;var _0x2a5c32=[];if(!fs[_0x97a9('0x1f')](path[_0x97a9('0x20')](_0x3dd92a,_0x50bb05))&&_0x3fdb03){fs[_0x97a9('0x21')](path[_0x97a9('0x20')](_0x3dd92a,_0x50bb05));}return BPromise[_0x97a9('0x22')](_0x4711bf,function(_0x298e2a){_0x2a5c32[_0x97a9('0x1d')](_0x298e2a);})[_0x97a9('0x11')](function(){for(var _0x2cdc9c=0x0;_0x2cdc9c<_0x2a5c32[_0x97a9('0x1b')];_0x2cdc9c+=0x1){var _0x7deafe;var _0x1fe90a=_0x2a5c32[_0x2cdc9c];if(_0x3fdb03){_0x7deafe=path[_0x97a9('0x20')](_0x3dd92a,_0x50bb05,util[_0x97a9('0x15')](_0x97a9('0x23'),_0x50bb05,_0x2cdc9c,_0x97a9('0x24')));}else{_0x7deafe=path['join'](_0x3dd92a,util[_0x97a9('0x15')](_0x97a9('0x25'),_0x50bb05,'csv'));}fs[_0x97a9('0x26')](_0x7deafe,csv(_0x1fe90a));}})[_0x97a9('0x11')](function(){if(_0x3fdb03){zipdir(path[_0x97a9('0x20')](_0x3dd92a,_0x50bb05),{'saveTo':path['join'](_0x3dd92a,util[_0x97a9('0x15')]('%s.%s',_0x50bb05,_0x97a9('0x27')))},function(_0x2246a1,_0x3cc29f){});rimraf(path['join'](_0x3dd92a,_0x50bb05),function(){});}})['then'](function(){logger[_0x97a9('0xb')](util[_0x97a9('0x15')](_0x97a9('0x28'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0x97a9('0x29'),_0x3fdb03?util[_0x97a9('0x15')](_0x97a9('0x25'),_0x50bb05,_0x3fdb03?_0x97a9('0x27'):_0x97a9('0x24')):null);});})[_0x97a9('0x2a')](function(_0x2b13ff){logger['info'](util['format'](_0x97a9('0x2b'),EXTRACTED_REPORT_ID,_0x97a9('0xd')),util['inspect'](_0x2b13ff,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();