Built motion from commit c0cdc9d8.|2.6.28
[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 _0x54bf=['Setting','split','splitSizeCsv','sequelize','QueryTypes','SELECT','Empty','length','range','num','isInteger','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','basename','mkdirSync','each','then','join','csv','writeFileSync','%s.%s','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','finally','exit','util','path','to-csv','bluebird','zip-dir','dbH','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format'];(function(_0x86a170,_0x1a31d7){var _0x640e8b=function(_0xa7d2a2){while(--_0xa7d2a2){_0x86a170['push'](_0x86a170['shift']());}};_0x640e8b(++_0x1a31d7);}(_0x54bf,0x7c));var _0xf54b=function(_0x487308,_0xc78364){_0x487308=_0x487308-0x0;var _0x5e3b09=_0x54bf[_0x487308];return _0x5e3b09;};'use strict';var util=require(_0xf54b('0x0'));var path=require(_0xf54b('0x1'));var _=require('lodash');var csv=require(_0xf54b('0x2'));var fs=require('fs');var BPromise=require(_0xf54b('0x3'));var zipdir=require(_0xf54b('0x4'));var rimraf=require('rimraf');var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')[_0xf54b('0x5')];var logger=require('../../config/logger')(_0xf54b('0x6'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xf54b('0x7')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x3fcefe,_0x5bec79){var _0x243af8={'status':_0x3fcefe};var _0x1345f7={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x5bec79){_0x243af8[_0xf54b('0x8')]=_0x5bec79;}return db[_0xf54b('0x9')][_0xf54b('0xa')](_0x243af8,_0x1345f7);}function main(){var _0x5a3407=0x1388;var _0x4e4150;logger[_0xf54b('0xb')](util[_0xf54b('0xc')](_0xf54b('0xd'),EXTRACTED_REPORT_ID,'CSV'));return db[_0xf54b('0xe')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xf54b('0xf'),_0xf54b('0x10')]})['then'](function(_0x56539c){if(_0x56539c){_0x4e4150=_0x56539c;_0x5a3407=_0x4e4150['splitSizeCsv']||0x1388;}})['then'](function(){return dbH[_0xf54b('0x11')]['query'](util[_0xf54b('0xc')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0xf54b('0x11')][_0xf54b('0x12')][_0xf54b('0x13')]});})['then'](function(_0x2fe7d0){if(!_0x2fe7d0[0x0]['num']){return analyticExtractedReport(_0xf54b('0x14'));}var _0x1208db=[];var _0x5b777a=0x0;if(_0x4e4150[_0xf54b('0xf')]){if(_0x2fe7d0&&_0x2fe7d0[_0xf54b('0x15')]){var _0x3c3888=_[_0xf54b('0x16')](_0x2fe7d0[0x0][_0xf54b('0x17')]/_0x5a3407);var _0xd9cc50=Number[_0xf54b('0x18')](_0x2fe7d0[0x0][_0xf54b('0x17')]/_0x5a3407)?_0x2fe7d0[0x0][_0xf54b('0x17')]%_0x5a3407:0x0;_0x3c3888['forEach'](function(_0x333273){if(_0x333273>0x0){_0x5b777a+=_0x5a3407;}_0x1208db[_0xf54b('0x19')](dbH[_0xf54b('0x11')][_0xf54b('0x1a')](util['format'](_0xf54b('0x1b'),QUERY,_0x5a3407,_0x5b777a),{'type':dbH[_0xf54b('0x11')]['QueryTypes']['SELECT']}));});if(_0xd9cc50>0x0){_0x5b777a+=_0x5a3407;_0x1208db[_0xf54b('0x19')](dbH[_0xf54b('0x11')][_0xf54b('0x1a')](util[_0xf54b('0xc')](_0xf54b('0x1b'),QUERY,_0xd9cc50,_0x5b777a),{'type':dbH[_0xf54b('0x11')][_0xf54b('0x12')][_0xf54b('0x13')]}));}}}else{_0x1208db['push'](dbH[_0xf54b('0x11')]['query'](QUERY,{'type':dbH[_0xf54b('0x11')][_0xf54b('0x12')][_0xf54b('0x13')]}));}var _0x82e8e0=path['dirname'](PATH);var _0x5be256=path[_0xf54b('0x1c')](PATH,'.csv');var _0x3f69e3=_0x4e4150[_0xf54b('0xf')]&&_0x1208db[_0xf54b('0x15')]>0x1;var _0x1c25bf=[];if(!fs['existsSync'](path['join'](_0x82e8e0,_0x5be256))&&_0x3f69e3){fs[_0xf54b('0x1d')](path['join'](_0x82e8e0,_0x5be256));}return BPromise[_0xf54b('0x1e')](_0x1208db,function(_0x5e852a){_0x1c25bf['push'](_0x5e852a);})[_0xf54b('0x1f')](function(){for(var _0xc54523=0x0;_0xc54523<_0x1c25bf[_0xf54b('0x15')];_0xc54523+=0x1){var _0x4c4269;var _0x44444c=_0x1c25bf[_0xc54523];if(_0x3f69e3){_0x4c4269=path[_0xf54b('0x20')](_0x82e8e0,_0x5be256,util[_0xf54b('0xc')]('%s%d.%s',_0x5be256,_0xc54523,_0xf54b('0x21')));}else{_0x4c4269=path[_0xf54b('0x20')](_0x82e8e0,util[_0xf54b('0xc')]('%s.%s',_0x5be256,'csv'));}fs[_0xf54b('0x22')](_0x4c4269,csv(_0x44444c));}})['then'](function(){if(_0x3f69e3){return new Promise(function(_0x5efd08){zipdir(path['join'](_0x82e8e0,_0x5be256),{'saveTo':path[_0xf54b('0x20')](_0x82e8e0,util['format'](_0xf54b('0x23'),_0x5be256,_0xf54b('0x24')))},function(_0x385741,_0x18dd89){rimraf(path['join'](_0x82e8e0,_0x5be256),function(){});_0x5efd08(_0xf54b('0x25'));});});}})[_0xf54b('0x1f')](function(){logger[_0xf54b('0xb')](util[_0xf54b('0xc')](_0xf54b('0x26'),EXTRACTED_REPORT_ID,_0xf54b('0x27')));return analyticExtractedReport(_0xf54b('0x28'),_0x3f69e3?util['format'](_0xf54b('0x23'),_0x5be256,_0x3f69e3?'zip':_0xf54b('0x21')):null);});})[_0xf54b('0x29')](function(_0xee204f){logger[_0xf54b('0xb')](util[_0xf54b('0xc')](_0xf54b('0x2a'),EXTRACTED_REPORT_ID,_0xf54b('0x27')),util['inspect'](_0xee204f,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xf54b('0x2b'));})[_0xf54b('0x2c')](function(){process[_0xf54b('0x2d')](EXIT_CODE);});}main();