Built motion from commit (unavailable).|2.5.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 _0x64dd=['Empty','length','num','split','push','QueryTypes','SELECT','basename','.csv','existsSync','join','mkdirSync','each','then','%s%d.%s','csv','%s.%s','writeFileSync','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','finally','exit','util','path','lodash','zip-dir','../../mysqldb','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','splitSizeCsv','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize'];(function(_0x3e76cc,_0xfce2f6){var _0x11424b=function(_0x1fc2dc){while(--_0x1fc2dc){_0x3e76cc['push'](_0x3e76cc['shift']());}};_0x11424b(++_0xfce2f6);}(_0x64dd,0x105));var _0xd64d=function(_0xd99723,_0x586c95){_0xd99723=_0xd99723-0x0;var _0x5a91ba=_0x64dd[_0xd99723];return _0x5a91ba;};'use strict';var util=require(_0xd64d('0x0'));var path=require(_0xd64d('0x1'));var _=require(_0xd64d('0x2'));var csv=require('to-csv');var fs=require('fs');var BPromise=require('bluebird');var zipdir=require(_0xd64d('0x3'));var rimraf=require('rimraf');var db=require('../../mysqldb')['db'];var dbH=require(_0xd64d('0x4'))['dbH'];var logger=require(_0xd64d('0x5'))(_0xd64d('0x6'));var EXTRACTED_REPORT_ID=Number(process[_0xd64d('0x7')][0x2]);var QUERY=process[_0xd64d('0x7')][0x3];var PATH=process[_0xd64d('0x7')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x3a3582,_0x2a847c){var _0x24a9f9={'status':_0x3a3582};var _0x5928ad={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x2a847c){_0x24a9f9[_0xd64d('0x8')]=_0x2a847c;}return db[_0xd64d('0x9')][_0xd64d('0xa')](_0x24a9f9,_0x5928ad);}function main(){var _0x52d072=0x1388;var _0x24c22f;logger[_0xd64d('0xb')](util['format'](_0xd64d('0xc'),EXTRACTED_REPORT_ID,_0xd64d('0xd')));return db[_0xd64d('0xe')][_0xd64d('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xd64d('0x10')]})['then'](function(_0x40b399){if(_0x40b399){_0x24c22f=_0x40b399;_0x52d072=_0x24c22f[_0xd64d('0x10')]||0x1388;}})['then'](function(){return dbH['sequelize'][_0xd64d('0x11')](util[_0xd64d('0x12')](_0xd64d('0x13'),QUERY),{'type':dbH[_0xd64d('0x14')]['QueryTypes']['SELECT']});})['then'](function(_0x596ccc){if(!_0x596ccc[0x0]['num']){return analyticExtractedReport(_0xd64d('0x15'));}var _0x4fec27=[];var _0x460975=0x0;var _0x3173ec=!![];if(_0x596ccc&&_0x596ccc[_0xd64d('0x16')]){var _0x236c01=_0x596ccc[0x0][_0xd64d('0x17')]%(_0x460975+_0x52d072);if(_0x24c22f[_0xd64d('0x18')]){for(;_0x3173ec;_0x460975+=_0x52d072,_0x236c01=_0x596ccc[0x0]['num']%(_0x460975+_0x52d072)){if(_0x236c01==0x0||_0x236c01==_0x596ccc[0x0][_0xd64d('0x17')]){_0x3173ec=![];}_0x4fec27[_0xd64d('0x19')](dbH[_0xd64d('0x14')][_0xd64d('0x11')](util[_0xd64d('0x12')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x52d072,_0x460975),{'type':dbH[_0xd64d('0x14')][_0xd64d('0x1a')][_0xd64d('0x1b')]}));}}else{_0x4fec27[_0xd64d('0x19')](dbH[_0xd64d('0x14')]['query'](QUERY,{'type':dbH['sequelize']['QueryTypes'][_0xd64d('0x1b')]}));}}var _0x2e3221=path['dirname'](PATH);var _0x257f1d=path[_0xd64d('0x1c')](PATH,_0xd64d('0x1d'));var _0x2bc1fd=_0x24c22f[_0xd64d('0x18')]&&_0x4fec27[_0xd64d('0x16')]>0x1;var _0x550fc7=[];if(!fs[_0xd64d('0x1e')](path[_0xd64d('0x1f')](_0x2e3221,_0x257f1d))&&_0x2bc1fd){fs[_0xd64d('0x20')](path[_0xd64d('0x1f')](_0x2e3221,_0x257f1d));}return BPromise[_0xd64d('0x21')](_0x4fec27,function(_0x4ac0b2){_0x550fc7[_0xd64d('0x19')](_0x4ac0b2);})[_0xd64d('0x22')](function(){for(var _0x1eeb66=0x0;_0x1eeb66<_0x550fc7[_0xd64d('0x16')];_0x1eeb66+=0x1){var _0x365fc6;var _0x126b94=_0x550fc7[_0x1eeb66];if(_0x2bc1fd){_0x365fc6=path[_0xd64d('0x1f')](_0x2e3221,_0x257f1d,util[_0xd64d('0x12')](_0xd64d('0x23'),_0x257f1d,_0x1eeb66,_0xd64d('0x24')));}else{_0x365fc6=path[_0xd64d('0x1f')](_0x2e3221,util[_0xd64d('0x12')](_0xd64d('0x25'),_0x257f1d,'csv'));}fs[_0xd64d('0x26')](_0x365fc6,csv(_0x126b94));}})[_0xd64d('0x22')](function(){if(_0x2bc1fd){zipdir(path[_0xd64d('0x1f')](_0x2e3221,_0x257f1d),{'saveTo':path[_0xd64d('0x1f')](_0x2e3221,util['format'](_0xd64d('0x25'),_0x257f1d,'zip'))},function(_0x2c1ab6,_0x966e8d){});rimraf(path[_0xd64d('0x1f')](_0x2e3221,_0x257f1d),function(){});}})[_0xd64d('0x22')](function(){logger[_0xd64d('0xb')](util[_0xd64d('0x12')](_0xd64d('0x27'),EXTRACTED_REPORT_ID,_0xd64d('0xd')));return analyticExtractedReport(_0xd64d('0x28'),_0x2bc1fd?util[_0xd64d('0x12')](_0xd64d('0x25'),_0x257f1d,_0x2bc1fd?_0xd64d('0x29'):'csv'):null);});})[_0xd64d('0x2a')](function(_0x4019c8){logger[_0xd64d('0xb')](util[_0xd64d('0x12')](_0xd64d('0x2b'),EXTRACTED_REPORT_ID,_0xd64d('0xd')),util[_0xd64d('0x2c')](_0x4019c8,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})[_0xd64d('0x2d')](function(){process[_0xd64d('0x2e')](EXIT_CODE);});}main();