Built motion from commit 3c2ce842.|2.6.31
[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 _0xc286=['Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','path','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','split','splitSizeCsv','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','num','Empty','length','range','isInteger','forEach','push','SELECT','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','existsSync','join','mkdirSync','each','%s%d.%s','csv','writeFileSync','%s.%s','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed'];(function(_0x119c94,_0x580a55){var _0x55ebee=function(_0x5195ec){while(--_0x5195ec){_0x119c94['push'](_0x119c94['shift']());}};_0x55ebee(++_0x580a55);}(_0xc286,0xda));var _0x6c28=function(_0x22e4d8,_0x3d4684){_0x22e4d8=_0x22e4d8-0x0;var _0x2b54ad=_0xc286[_0x22e4d8];return _0x2b54ad;};'use strict';var util=require('util');var path=require(_0x6c28('0x0'));var _=require('lodash');var csv=require(_0x6c28('0x1'));var fs=require('fs');var BPromise=require(_0x6c28('0x2'));var zipdir=require(_0x6c28('0x3'));var rimraf=require(_0x6c28('0x4'));var db=require('../../mysqldb')['db'];var dbH=require(_0x6c28('0x5'))[_0x6c28('0x6')];var logger=require(_0x6c28('0x7'))(_0x6c28('0x8'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x6c28('0x9')][0x3];var PATH=process[_0x6c28('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x201a4e,_0xa9cb7d){var _0x5bb311={'status':_0x201a4e};var _0x527e74={'where':{'id':EXTRACTED_REPORT_ID}};if(_0xa9cb7d){_0x5bb311['savename']=_0xa9cb7d;}return db[_0x6c28('0xa')][_0x6c28('0xb')](_0x5bb311,_0x527e74);}function main(){var _0x153270=0x1388;var _0x5e5efd;logger[_0x6c28('0xc')](util[_0x6c28('0xd')](_0x6c28('0xe'),EXTRACTED_REPORT_ID,_0x6c28('0xf')));return db[_0x6c28('0x10')][_0x6c28('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x6c28('0x12'),_0x6c28('0x13')]})[_0x6c28('0x14')](function(_0xc17f18){if(_0xc17f18){_0x5e5efd=_0xc17f18;_0x153270=_0x5e5efd[_0x6c28('0x13')]||0x1388;}})[_0x6c28('0x14')](function(){return dbH[_0x6c28('0x15')][_0x6c28('0x16')](util[_0x6c28('0xd')](_0x6c28('0x17'),QUERY),{'type':dbH[_0x6c28('0x15')][_0x6c28('0x18')]['SELECT']});})[_0x6c28('0x14')](function(_0x5a65b2){if(!_0x5a65b2[0x0][_0x6c28('0x19')]){return analyticExtractedReport(_0x6c28('0x1a'));}var _0x184da6=[];var _0x332b59=0x0;if(_0x5e5efd[_0x6c28('0x12')]){if(_0x5a65b2&&_0x5a65b2[_0x6c28('0x1b')]){var _0xe741cc=_[_0x6c28('0x1c')](_0x5a65b2[0x0]['num']/_0x153270);var _0x3a8e7e=Number[_0x6c28('0x1d')](_0x5a65b2[0x0][_0x6c28('0x19')]/_0x153270)?_0x5a65b2[0x0][_0x6c28('0x19')]%_0x153270:0x0;_0xe741cc[_0x6c28('0x1e')](function(_0x1d6294){if(_0x1d6294>0x0){_0x332b59+=_0x153270;}_0x184da6[_0x6c28('0x1f')](dbH[_0x6c28('0x15')][_0x6c28('0x16')](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x153270,_0x332b59),{'type':dbH[_0x6c28('0x15')][_0x6c28('0x18')][_0x6c28('0x20')]}));});if(_0x3a8e7e>0x0){_0x332b59+=_0x153270;_0x184da6[_0x6c28('0x1f')](dbH['sequelize'][_0x6c28('0x16')](util[_0x6c28('0xd')](_0x6c28('0x21'),QUERY,_0x3a8e7e,_0x332b59),{'type':dbH[_0x6c28('0x15')]['QueryTypes']['SELECT']}));}}}else{_0x184da6[_0x6c28('0x1f')](dbH[_0x6c28('0x15')][_0x6c28('0x16')](QUERY,{'type':dbH[_0x6c28('0x15')][_0x6c28('0x18')][_0x6c28('0x20')]}));}var _0x11d650=path[_0x6c28('0x22')](PATH);var _0x13b775=path[_0x6c28('0x23')](PATH,'.csv');var _0x249f1c=_0x5e5efd[_0x6c28('0x12')]&&_0x184da6[_0x6c28('0x1b')]>0x1;var _0x15c953=[];if(!fs[_0x6c28('0x24')](path[_0x6c28('0x25')](_0x11d650,_0x13b775))&&_0x249f1c){fs[_0x6c28('0x26')](path[_0x6c28('0x25')](_0x11d650,_0x13b775));}return BPromise[_0x6c28('0x27')](_0x184da6,function(_0x3ddedf){_0x15c953[_0x6c28('0x1f')](_0x3ddedf);})[_0x6c28('0x14')](function(){for(var _0x1c446e=0x0;_0x1c446e<_0x15c953['length'];_0x1c446e+=0x1){var _0x181c0c;var _0x2c9b50=_0x15c953[_0x1c446e];if(_0x249f1c){_0x181c0c=path[_0x6c28('0x25')](_0x11d650,_0x13b775,util[_0x6c28('0xd')](_0x6c28('0x28'),_0x13b775,_0x1c446e,_0x6c28('0x29')));}else{_0x181c0c=path[_0x6c28('0x25')](_0x11d650,util[_0x6c28('0xd')]('%s.%s',_0x13b775,_0x6c28('0x29')));}fs[_0x6c28('0x2a')](_0x181c0c,csv(_0x2c9b50));}})[_0x6c28('0x14')](function(){if(_0x249f1c){return new Promise(function(_0x4f3b4e){zipdir(path[_0x6c28('0x25')](_0x11d650,_0x13b775),{'saveTo':path[_0x6c28('0x25')](_0x11d650,util[_0x6c28('0xd')](_0x6c28('0x2b'),_0x13b775,_0x6c28('0x2c')))},function(_0x51e372,_0x3e82cd){rimraf(path[_0x6c28('0x25')](_0x11d650,_0x13b775),function(){});_0x4f3b4e(_0x6c28('0x2d'));});});}})['then'](function(){logger[_0x6c28('0xc')](util[_0x6c28('0xd')](_0x6c28('0x2e'),EXTRACTED_REPORT_ID,_0x6c28('0xf')));return analyticExtractedReport(_0x6c28('0x2f'),_0x249f1c?util['format'](_0x6c28('0x2b'),_0x13b775,_0x249f1c?'zip':_0x6c28('0x29')):null);});})[_0x6c28('0x30')](function(_0x1b5477){logger[_0x6c28('0xc')](util[_0x6c28('0xd')](_0x6c28('0x31'),EXTRACTED_REPORT_ID,_0x6c28('0xf')),util[_0x6c28('0x32')](_0x1b5477,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x6c28('0x33'));})[_0x6c28('0x34')](function(){process['exit'](EXIT_CODE);});}main();