Built motion from commit d5e4af8c.|2.6.23
[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 _0x08f8=['Setting','find','split','splitSizeCsv','then','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','Empty','length','range','num','forEach','query','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','basename','.csv','join','each','%s%d.%s','csv','writeFileSync','%s.%s','zip','zip\x20finished','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','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV'];(function(_0x43df64,_0x269872){var _0x2efeea=function(_0x1522b5){while(--_0x1522b5){_0x43df64['push'](_0x43df64['shift']());}};_0x2efeea(++_0x269872);}(_0x08f8,0x1a0));var _0x808f=function(_0x14be38,_0x3b44a8){_0x14be38=_0x14be38-0x0;var _0x2a5890=_0x08f8[_0x14be38];return _0x2a5890;};'use strict';var util=require(_0x808f('0x0'));var path=require(_0x808f('0x1'));var _=require(_0x808f('0x2'));var csv=require(_0x808f('0x3'));var fs=require('fs');var BPromise=require(_0x808f('0x4'));var zipdir=require(_0x808f('0x5'));var rimraf=require(_0x808f('0x6'));var db=require(_0x808f('0x7'))['db'];var dbH=require(_0x808f('0x7'))['dbH'];var logger=require('../../config/logger')('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x808f('0x8')][0x2]);var QUERY=process[_0x808f('0x8')][0x3];var PATH=process[_0x808f('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xc0870d,_0x34e921){var _0x5ed9e2={'status':_0xc0870d};var _0x4a5884={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x34e921){_0x5ed9e2[_0x808f('0x9')]=_0x34e921;}return db[_0x808f('0xa')][_0x808f('0xb')](_0x5ed9e2,_0x4a5884);}function main(){var _0x6e688c=0x1388;var _0x59e0cd;logger[_0x808f('0xc')](util[_0x808f('0xd')](_0x808f('0xe'),EXTRACTED_REPORT_ID,_0x808f('0xf')));return db[_0x808f('0x10')][_0x808f('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x808f('0x12'),_0x808f('0x13')]})[_0x808f('0x14')](function(_0x388e40){if(_0x388e40){_0x59e0cd=_0x388e40;_0x6e688c=_0x59e0cd[_0x808f('0x13')]||0x1388;}})[_0x808f('0x14')](function(){return dbH['sequelize']['query'](util[_0x808f('0xd')](_0x808f('0x15'),QUERY),{'type':dbH[_0x808f('0x16')][_0x808f('0x17')][_0x808f('0x18')]});})[_0x808f('0x14')](function(_0x13653b){if(!_0x13653b[0x0]['num']){return analyticExtractedReport(_0x808f('0x19'));}var _0x17cdee=[];var _0x4737e5=0x0;if(_0x59e0cd[_0x808f('0x12')]){if(_0x13653b&&_0x13653b[_0x808f('0x1a')]){var _0x2dbcf6=_[_0x808f('0x1b')](_0x13653b[0x0][_0x808f('0x1c')]/_0x6e688c);var _0x4b04c7=Number['isInteger'](_0x13653b[0x0][_0x808f('0x1c')]/_0x6e688c)?_0x13653b[0x0][_0x808f('0x1c')]%_0x6e688c:0x0;_0x2dbcf6[_0x808f('0x1d')](function(_0x5d10fb){if(_0x5d10fb>0x0){_0x4737e5+=_0x6e688c;}_0x17cdee['push'](dbH[_0x808f('0x16')][_0x808f('0x1e')](util[_0x808f('0xd')](_0x808f('0x1f'),QUERY,_0x6e688c,_0x4737e5),{'type':dbH['sequelize'][_0x808f('0x17')][_0x808f('0x18')]}));});if(_0x4b04c7>0x0){_0x4737e5+=_0x6e688c;_0x17cdee[_0x808f('0x20')](dbH['sequelize'][_0x808f('0x1e')](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x4b04c7,_0x4737e5),{'type':dbH['sequelize'][_0x808f('0x17')]['SELECT']}));}}}else{_0x17cdee[_0x808f('0x20')](dbH[_0x808f('0x16')]['query'](QUERY,{'type':dbH[_0x808f('0x16')][_0x808f('0x17')][_0x808f('0x18')]}));}var _0x300a7b=path[_0x808f('0x21')](PATH);var _0x3e2e26=path[_0x808f('0x22')](PATH,_0x808f('0x23'));var _0x5ccd92=_0x59e0cd[_0x808f('0x12')]&&_0x17cdee[_0x808f('0x1a')]>0x1;var _0x2d3086=[];if(!fs['existsSync'](path[_0x808f('0x24')](_0x300a7b,_0x3e2e26))&&_0x5ccd92){fs['mkdirSync'](path[_0x808f('0x24')](_0x300a7b,_0x3e2e26));}return BPromise[_0x808f('0x25')](_0x17cdee,function(_0x129f84){_0x2d3086[_0x808f('0x20')](_0x129f84);})[_0x808f('0x14')](function(){for(var _0xea83fd=0x0;_0xea83fd<_0x2d3086[_0x808f('0x1a')];_0xea83fd+=0x1){var _0x271657;var _0x44150d=_0x2d3086[_0xea83fd];if(_0x5ccd92){_0x271657=path[_0x808f('0x24')](_0x300a7b,_0x3e2e26,util['format'](_0x808f('0x26'),_0x3e2e26,_0xea83fd,_0x808f('0x27')));}else{_0x271657=path[_0x808f('0x24')](_0x300a7b,util[_0x808f('0xd')]('%s.%s',_0x3e2e26,_0x808f('0x27')));}fs[_0x808f('0x28')](_0x271657,csv(_0x44150d));}})[_0x808f('0x14')](function(){if(_0x5ccd92){return new Promise(function(_0x13c00a){zipdir(path[_0x808f('0x24')](_0x300a7b,_0x3e2e26),{'saveTo':path[_0x808f('0x24')](_0x300a7b,util[_0x808f('0xd')](_0x808f('0x29'),_0x3e2e26,_0x808f('0x2a')))},function(_0x6a6098,_0x4a7ea2){rimraf(path[_0x808f('0x24')](_0x300a7b,_0x3e2e26),function(){});_0x13c00a(_0x808f('0x2b'));});});}})[_0x808f('0x14')](function(){logger['info'](util[_0x808f('0xd')](_0x808f('0x2c'),EXTRACTED_REPORT_ID,_0x808f('0xf')));return analyticExtractedReport(_0x808f('0x2d'),_0x5ccd92?util[_0x808f('0xd')]('%s.%s',_0x3e2e26,_0x5ccd92?_0x808f('0x2a'):_0x808f('0x27')):null);});})[_0x808f('0x2e')](function(_0x47b722){logger[_0x808f('0xc')](util[_0x808f('0xd')](_0x808f('0x2f'),EXTRACTED_REPORT_ID,'CSV'),util['inspect'](_0x47b722,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})['finally'](function(){process['exit'](EXIT_CODE);});}main();