Built motion from commit 85328c08.|2.5.50
[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 _0xb2b5=['then','join','%s%d.%s','%s.%s','csv','writeFileSync','zip','info','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','inspect','Failed','finally','exit','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','savename','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','split','splitSizeCsv','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','length','range','num','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','.csv','existsSync','mkdirSync'];(function(_0x3f7796,_0x4f003b){var _0x3a4c76=function(_0x4246fc){while(--_0x4246fc){_0x3f7796['push'](_0x3f7796['shift']());}};_0x3a4c76(++_0x4f003b);}(_0xb2b5,0xa4));var _0x5b2b=function(_0x32f7d7,_0x54231b){_0x32f7d7=_0x32f7d7-0x0;var _0x133d09=_0xb2b5[_0x32f7d7];return _0x133d09;};'use strict';var util=require('util');var path=require(_0x5b2b('0x0'));var _=require(_0x5b2b('0x1'));var csv=require(_0x5b2b('0x2'));var fs=require('fs');var BPromise=require(_0x5b2b('0x3'));var zipdir=require(_0x5b2b('0x4'));var rimraf=require(_0x5b2b('0x5'));var db=require(_0x5b2b('0x6'))['db'];var dbH=require(_0x5b2b('0x6'))[_0x5b2b('0x7')];var logger=require('../../config/logger')(_0x5b2b('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x5b2b('0x9')][0x2]);var QUERY=process[_0x5b2b('0x9')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x32d2e6,_0xb74c42){var _0x1c0dab={'status':_0x32d2e6};var _0x322f14={'where':{'id':EXTRACTED_REPORT_ID}};if(_0xb74c42){_0x1c0dab[_0x5b2b('0xa')]=_0xb74c42;}return db['AnalyticExtractedReport'][_0x5b2b('0xb')](_0x1c0dab,_0x322f14);}function main(){var _0x2a823b=0x1388;var _0x4e56f4;logger['info'](util[_0x5b2b('0xc')](_0x5b2b('0xd'),EXTRACTED_REPORT_ID,'CSV'));return db[_0x5b2b('0xe')][_0x5b2b('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x5b2b('0x10'),_0x5b2b('0x11')]})['then'](function(_0x1cee5c){if(_0x1cee5c){_0x4e56f4=_0x1cee5c;_0x2a823b=_0x4e56f4['splitSizeCsv']||0x1388;}})['then'](function(){return dbH[_0x5b2b('0x12')][_0x5b2b('0x13')](util[_0x5b2b('0xc')](_0x5b2b('0x14'),QUERY),{'type':dbH[_0x5b2b('0x12')][_0x5b2b('0x15')][_0x5b2b('0x16')]});})['then'](function(_0x5afb45){if(!_0x5afb45[0x0]['num']){return analyticExtractedReport('Empty');}var _0x20a306=[];var _0x327390=0x0;if(_0x4e56f4['split']){if(_0x5afb45&&_0x5afb45[_0x5b2b('0x17')]){var _0x56d207=_[_0x5b2b('0x18')](_0x5afb45[0x0]['num']/_0x2a823b);var _0x344162=Number['isInteger'](_0x5afb45[0x0]['num']/_0x2a823b)?_0x5afb45[0x0][_0x5b2b('0x19')]%_0x2a823b:0x0;_0x56d207['forEach'](function(_0x1a4a0f){if(_0x1a4a0f>0x0){_0x327390+=_0x2a823b;}_0x20a306[_0x5b2b('0x1a')](dbH[_0x5b2b('0x12')][_0x5b2b('0x13')](util[_0x5b2b('0xc')](_0x5b2b('0x1b'),QUERY,_0x2a823b,_0x327390),{'type':dbH[_0x5b2b('0x12')][_0x5b2b('0x15')][_0x5b2b('0x16')]}));});if(_0x344162>0x0){_0x327390+=_0x2a823b;_0x20a306[_0x5b2b('0x1a')](dbH[_0x5b2b('0x12')][_0x5b2b('0x13')](util['format'](_0x5b2b('0x1b'),QUERY,_0x344162,_0x327390),{'type':dbH[_0x5b2b('0x12')][_0x5b2b('0x15')][_0x5b2b('0x16')]}));}}}else{_0x20a306[_0x5b2b('0x1a')](dbH[_0x5b2b('0x12')][_0x5b2b('0x13')](QUERY,{'type':dbH[_0x5b2b('0x12')][_0x5b2b('0x15')][_0x5b2b('0x16')]}));}var _0x327915=path[_0x5b2b('0x1c')](PATH);var _0x303681=path['basename'](PATH,_0x5b2b('0x1d'));var _0x239922=_0x4e56f4[_0x5b2b('0x10')]&&_0x20a306[_0x5b2b('0x17')]>0x1;var _0x50c186=[];if(!fs[_0x5b2b('0x1e')](path['join'](_0x327915,_0x303681))&&_0x239922){fs[_0x5b2b('0x1f')](path['join'](_0x327915,_0x303681));}return BPromise['each'](_0x20a306,function(_0x21524){_0x50c186[_0x5b2b('0x1a')](_0x21524);})[_0x5b2b('0x20')](function(){for(var _0x3996ba=0x0;_0x3996ba<_0x50c186['length'];_0x3996ba+=0x1){var _0x61a95c;var _0x3851ad=_0x50c186[_0x3996ba];if(_0x239922){_0x61a95c=path[_0x5b2b('0x21')](_0x327915,_0x303681,util[_0x5b2b('0xc')](_0x5b2b('0x22'),_0x303681,_0x3996ba,'csv'));}else{_0x61a95c=path['join'](_0x327915,util[_0x5b2b('0xc')](_0x5b2b('0x23'),_0x303681,_0x5b2b('0x24')));}fs[_0x5b2b('0x25')](_0x61a95c,csv(_0x3851ad));}})['then'](function(){if(_0x239922){return new Promise(function(_0x369836){zipdir(path[_0x5b2b('0x21')](_0x327915,_0x303681),{'saveTo':path[_0x5b2b('0x21')](_0x327915,util[_0x5b2b('0xc')](_0x5b2b('0x23'),_0x303681,_0x5b2b('0x26')))},function(_0x2d49a7,_0x1aeabc){rimraf(path[_0x5b2b('0x21')](_0x327915,_0x303681),function(){});_0x369836('zip\x20finished');});});}})[_0x5b2b('0x20')](function(){logger[_0x5b2b('0x27')](util[_0x5b2b('0xc')](_0x5b2b('0x28'),EXTRACTED_REPORT_ID,_0x5b2b('0x29')));return analyticExtractedReport(_0x5b2b('0x2a'),_0x239922?util[_0x5b2b('0xc')](_0x5b2b('0x23'),_0x303681,_0x239922?_0x5b2b('0x26'):_0x5b2b('0x24')):null);});})[_0x5b2b('0x2b')](function(_0x4410a8){logger[_0x5b2b('0x27')](util[_0x5b2b('0xc')](_0x5b2b('0x2c'),EXTRACTED_REPORT_ID,_0x5b2b('0x29')),util[_0x5b2b('0x2d')](_0x4410a8,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x5b2b('0x2e'));})[_0x5b2b('0x2f')](function(){process[_0x5b2b('0x30')](EXIT_CODE);});}main();