Built motion from commit a61a4a20.|2.5.46
[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 _0x6735=['QueryTypes','dirname','.csv','length','existsSync','join','mkdirSync','each','%s%d.%s','%s.%s','csv','writeFileSync','zip','zip\x20finished','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','finally','exit','util','path','lodash','bluebird','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','split','then','splitSizeCsv','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','SELECT','num','Empty','range','isInteger','forEach','push','query'];(function(_0x2abaae,_0x29fd8b){var _0x5b5745=function(_0x2f6218){while(--_0x2f6218){_0x2abaae['push'](_0x2abaae['shift']());}};_0x5b5745(++_0x29fd8b);}(_0x6735,0xdc));var _0x5673=function(_0x25ac19,_0x2d88ed){_0x25ac19=_0x25ac19-0x0;var _0x18ee0a=_0x6735[_0x25ac19];return _0x18ee0a;};'use strict';var util=require(_0x5673('0x0'));var path=require(_0x5673('0x1'));var _=require(_0x5673('0x2'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0x5673('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0x5673('0x4'));var db=require(_0x5673('0x5'))['db'];var dbH=require(_0x5673('0x5'))[_0x5673('0x6')];var logger=require(_0x5673('0x7'))(_0x5673('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x5673('0x9')][0x2]);var QUERY=process[_0x5673('0x9')][0x3];var PATH=process[_0x5673('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x433df7,_0x7576a4){var _0x257755={'status':_0x433df7};var _0x19eb32={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x7576a4){_0x257755['savename']=_0x7576a4;}return db[_0x5673('0xa')][_0x5673('0xb')](_0x257755,_0x19eb32);}function main(){var _0x4631fa=0x1388;var _0x5961f4;logger[_0x5673('0xc')](util[_0x5673('0xd')](_0x5673('0xe'),EXTRACTED_REPORT_ID,_0x5673('0xf')));return db[_0x5673('0x10')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x5673('0x11'),'splitSizeCsv']})[_0x5673('0x12')](function(_0x415e10){if(_0x415e10){_0x5961f4=_0x415e10;_0x4631fa=_0x5961f4[_0x5673('0x13')]||0x1388;}})[_0x5673('0x12')](function(){return dbH['sequelize']['query'](util[_0x5673('0xd')](_0x5673('0x14'),QUERY),{'type':dbH[_0x5673('0x15')]['QueryTypes'][_0x5673('0x16')]});})['then'](function(_0x1f1a41){if(!_0x1f1a41[0x0][_0x5673('0x17')]){return analyticExtractedReport(_0x5673('0x18'));}var _0x4f7831=[];var _0x1ccafb=0x0;if(_0x5961f4['split']){if(_0x1f1a41&&_0x1f1a41['length']){var _0x5da9b1=_[_0x5673('0x19')](_0x1f1a41[0x0][_0x5673('0x17')]/_0x4631fa);var _0x3e5730=Number[_0x5673('0x1a')](_0x1f1a41[0x0][_0x5673('0x17')]/_0x4631fa)?_0x1f1a41[0x0]['num']%_0x4631fa:0x0;_0x5da9b1[_0x5673('0x1b')](function(_0x4e8841){if(_0x4e8841>0x0){_0x1ccafb+=_0x4631fa;}_0x4f7831[_0x5673('0x1c')](dbH[_0x5673('0x15')][_0x5673('0x1d')](util[_0x5673('0xd')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x4631fa,_0x1ccafb),{'type':dbH[_0x5673('0x15')][_0x5673('0x1e')][_0x5673('0x16')]}));});if(_0x3e5730>0x0){_0x1ccafb+=_0x4631fa;_0x4f7831[_0x5673('0x1c')](dbH[_0x5673('0x15')][_0x5673('0x1d')](util[_0x5673('0xd')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x3e5730,_0x1ccafb),{'type':dbH['sequelize']['QueryTypes'][_0x5673('0x16')]}));}}}else{_0x4f7831[_0x5673('0x1c')](dbH[_0x5673('0x15')][_0x5673('0x1d')](QUERY,{'type':dbH[_0x5673('0x15')][_0x5673('0x1e')]['SELECT']}));}var _0x5ab40f=path[_0x5673('0x1f')](PATH);var _0x42ce73=path['basename'](PATH,_0x5673('0x20'));var _0x4ad102=_0x5961f4[_0x5673('0x11')]&&_0x4f7831[_0x5673('0x21')]>0x1;var _0x1552ed=[];if(!fs[_0x5673('0x22')](path[_0x5673('0x23')](_0x5ab40f,_0x42ce73))&&_0x4ad102){fs[_0x5673('0x24')](path['join'](_0x5ab40f,_0x42ce73));}return BPromise[_0x5673('0x25')](_0x4f7831,function(_0x2f4d1d){_0x1552ed[_0x5673('0x1c')](_0x2f4d1d);})[_0x5673('0x12')](function(){for(var _0x4c2c2a=0x0;_0x4c2c2a<_0x1552ed[_0x5673('0x21')];_0x4c2c2a+=0x1){var _0xfdd610;var _0x256f3f=_0x1552ed[_0x4c2c2a];if(_0x4ad102){_0xfdd610=path[_0x5673('0x23')](_0x5ab40f,_0x42ce73,util['format'](_0x5673('0x26'),_0x42ce73,_0x4c2c2a,'csv'));}else{_0xfdd610=path[_0x5673('0x23')](_0x5ab40f,util[_0x5673('0xd')](_0x5673('0x27'),_0x42ce73,_0x5673('0x28')));}fs[_0x5673('0x29')](_0xfdd610,csv(_0x256f3f));}})[_0x5673('0x12')](function(){if(_0x4ad102){return new Promise(function(_0x2c4b85){zipdir(path['join'](_0x5ab40f,_0x42ce73),{'saveTo':path[_0x5673('0x23')](_0x5ab40f,util[_0x5673('0xd')](_0x5673('0x27'),_0x42ce73,_0x5673('0x2a')))},function(_0x582a79,_0x2b23eb){rimraf(path['join'](_0x5ab40f,_0x42ce73),function(){});_0x2c4b85(_0x5673('0x2b'));});});}})[_0x5673('0x12')](function(){logger['info'](util[_0x5673('0xd')](_0x5673('0x2c'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport('Completed',_0x4ad102?util[_0x5673('0xd')](_0x5673('0x27'),_0x42ce73,_0x4ad102?_0x5673('0x2a'):_0x5673('0x28')):null);});})[_0x5673('0x2d')](function(_0x4420ed){logger[_0x5673('0xc')](util[_0x5673('0xd')](_0x5673('0x2e'),EXTRACTED_REPORT_ID,'CSV'),util[_0x5673('0x2f')](_0x4420ed,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})[_0x5673('0x30')](function(){process[_0x5673('0x31')](EXIT_CODE);});}main();