Built motion from commit 092f8824.|2.5.49
[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 _0xf998=['.csv','join','mkdirSync','%s%d.%s','csv','%s.%s','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','finally','util','path','to-csv','bluebird','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','update','info','format','Setting','find','split','splitSizeCsv','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename'];(function(_0x27af45,_0x1b57aa){var _0x18df21=function(_0x4b7679){while(--_0x4b7679){_0x27af45['push'](_0x27af45['shift']());}};_0x18df21(++_0x1b57aa);}(_0xf998,0x187));var _0x8f99=function(_0x411add,_0x1aed38){_0x411add=_0x411add-0x0;var _0x238242=_0xf998[_0x411add];return _0x238242;};'use strict';var util=require(_0x8f99('0x0'));var path=require(_0x8f99('0x1'));var _=require('lodash');var csv=require(_0x8f99('0x2'));var fs=require('fs');var BPromise=require(_0x8f99('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0x8f99('0x4'));var db=require(_0x8f99('0x5'))['db'];var dbH=require(_0x8f99('0x5'))[_0x8f99('0x6')];var logger=require(_0x8f99('0x7'))(_0x8f99('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x8f99('0x9')][0x2]);var QUERY=process[_0x8f99('0x9')][0x3];var PATH=process[_0x8f99('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0xc07d74,_0x4ac13b){var _0xa7afb1={'status':_0xc07d74};var _0x5cfb3e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4ac13b){_0xa7afb1[_0x8f99('0xa')]=_0x4ac13b;}return db['AnalyticExtractedReport'][_0x8f99('0xb')](_0xa7afb1,_0x5cfb3e);}function main(){var _0x5aa378=0x1388;var _0x5265f8;logger[_0x8f99('0xc')](util[_0x8f99('0xd')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'CSV'));return db[_0x8f99('0xe')][_0x8f99('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x8f99('0x10'),_0x8f99('0x11')]})['then'](function(_0x2b2401){if(_0x2b2401){_0x5265f8=_0x2b2401;_0x5aa378=_0x5265f8[_0x8f99('0x11')]||0x1388;}})[_0x8f99('0x12')](function(){return dbH[_0x8f99('0x13')][_0x8f99('0x14')](util[_0x8f99('0xd')](_0x8f99('0x15'),QUERY),{'type':dbH[_0x8f99('0x13')][_0x8f99('0x16')][_0x8f99('0x17')]});})['then'](function(_0x68bcb){if(!_0x68bcb[0x0][_0x8f99('0x18')]){return analyticExtractedReport(_0x8f99('0x19'));}var _0x207701=[];var _0x293b14=0x0;if(_0x5265f8[_0x8f99('0x10')]){if(_0x68bcb&&_0x68bcb[_0x8f99('0x1a')]){var _0x4040db=_['range'](_0x68bcb[0x0][_0x8f99('0x18')]/_0x5aa378);var _0x5c3bd3=Number['isInteger'](_0x68bcb[0x0][_0x8f99('0x18')]/_0x5aa378)?_0x68bcb[0x0]['num']%_0x5aa378:0x0;_0x4040db[_0x8f99('0x1b')](function(_0x264712){if(_0x264712>0x0){_0x293b14+=_0x5aa378;}_0x207701[_0x8f99('0x1c')](dbH['sequelize'][_0x8f99('0x14')](util[_0x8f99('0xd')](_0x8f99('0x1d'),QUERY,_0x5aa378,_0x293b14),{'type':dbH['sequelize'][_0x8f99('0x16')]['SELECT']}));});if(_0x5c3bd3>0x0){_0x293b14+=_0x5aa378;_0x207701[_0x8f99('0x1c')](dbH[_0x8f99('0x13')][_0x8f99('0x14')](util[_0x8f99('0xd')](_0x8f99('0x1d'),QUERY,_0x5c3bd3,_0x293b14),{'type':dbH[_0x8f99('0x13')][_0x8f99('0x16')][_0x8f99('0x17')]}));}}}else{_0x207701['push'](dbH[_0x8f99('0x13')]['query'](QUERY,{'type':dbH[_0x8f99('0x13')]['QueryTypes'][_0x8f99('0x17')]}));}var _0x237f2f=path[_0x8f99('0x1e')](PATH);var _0x248eac=path[_0x8f99('0x1f')](PATH,_0x8f99('0x20'));var _0x4dfbfb=_0x5265f8[_0x8f99('0x10')]&&_0x207701['length']>0x1;var _0x41ac80=[];if(!fs['existsSync'](path[_0x8f99('0x21')](_0x237f2f,_0x248eac))&&_0x4dfbfb){fs[_0x8f99('0x22')](path['join'](_0x237f2f,_0x248eac));}return BPromise['each'](_0x207701,function(_0x187054){_0x41ac80[_0x8f99('0x1c')](_0x187054);})[_0x8f99('0x12')](function(){for(var _0x3d0e40=0x0;_0x3d0e40<_0x41ac80[_0x8f99('0x1a')];_0x3d0e40+=0x1){var _0x561615;var _0x30fa95=_0x41ac80[_0x3d0e40];if(_0x4dfbfb){_0x561615=path[_0x8f99('0x21')](_0x237f2f,_0x248eac,util[_0x8f99('0xd')](_0x8f99('0x23'),_0x248eac,_0x3d0e40,_0x8f99('0x24')));}else{_0x561615=path['join'](_0x237f2f,util[_0x8f99('0xd')](_0x8f99('0x25'),_0x248eac,_0x8f99('0x24')));}fs[_0x8f99('0x26')](_0x561615,csv(_0x30fa95));}})[_0x8f99('0x12')](function(){if(_0x4dfbfb){return new Promise(function(_0x9f5b17){zipdir(path[_0x8f99('0x21')](_0x237f2f,_0x248eac),{'saveTo':path[_0x8f99('0x21')](_0x237f2f,util[_0x8f99('0xd')](_0x8f99('0x25'),_0x248eac,_0x8f99('0x27')))},function(_0x151496,_0x26f4bf){rimraf(path[_0x8f99('0x21')](_0x237f2f,_0x248eac),function(){});_0x9f5b17(_0x8f99('0x28'));});});}})['then'](function(){logger[_0x8f99('0xc')](util[_0x8f99('0xd')](_0x8f99('0x29'),EXTRACTED_REPORT_ID,_0x8f99('0x2a')));return analyticExtractedReport(_0x8f99('0x2b'),_0x4dfbfb?util[_0x8f99('0xd')](_0x8f99('0x25'),_0x248eac,_0x4dfbfb?_0x8f99('0x27'):_0x8f99('0x24')):null);});})['catch'](function(_0x3dabcc){logger['info'](util[_0x8f99('0xd')](_0x8f99('0x2c'),EXTRACTED_REPORT_ID,_0x8f99('0x2a')),util['inspect'](_0x3dabcc,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x8f99('0x2d'));})[_0x8f99('0x2e')](function(){process['exit'](EXIT_CODE);});}main();