Built motion from commit (unavailable).|2.5.3
[motion2.git] / server / components / export / xlsx.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 _0x40d2=['splitSizeXlsx','then','sequelize','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','num','Empty','length','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','existsSync','join','mkdirSync','each','%s%d.%s','xlsx','%s.%s','writeFileSync','binary','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','XLSX','Completed','catch','inspect','util','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','info','find','split'];(function(_0x2fee96,_0x2f735d){var _0x2e6ad1=function(_0x2c55ad){while(--_0x2c55ad){_0x2fee96['push'](_0x2fee96['shift']());}};_0x2e6ad1(++_0x2f735d);}(_0x40d2,0x17d));var _0x240d=function(_0x200703,_0x4cccfd){_0x200703=_0x200703-0x0;var _0x5a32dc=_0x40d2[_0x200703];return _0x5a32dc;};'use strict';var util=require(_0x240d('0x0'));var path=require('path');var _=require(_0x240d('0x1'));var fs=require('fs');var json2xls=require(_0x240d('0x2'));var BPromise=require(_0x240d('0x3'));var zipdir=require(_0x240d('0x4'));var rimraf=require(_0x240d('0x5'));var db=require(_0x240d('0x6'))['db'];var dbH=require(_0x240d('0x6'))[_0x240d('0x7')];var logger=require(_0x240d('0x8'))(_0x240d('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0x240d('0xa')][0x2]);var QUERY=process[_0x240d('0xa')][0x3];var PATH=process[_0x240d('0xa')][0x4];function analyticExtractedReport(_0x15da49,_0x339cc5){var _0x1615ee={'status':_0x15da49};var _0x5abd67={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x339cc5){_0x1615ee[_0x240d('0xb')]=_0x339cc5;}return db['AnalyticExtractedReport']['update'](_0x1615ee,_0x5abd67);}function main(){var _0x36ebed=0x1388;var _0x273ec6;logger[_0x240d('0xc')](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'XLSX'));return db['Setting'][_0x240d('0xd')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x240d('0xe'),_0x240d('0xf')]})[_0x240d('0x10')](function(_0x3f51a4){if(_0x3f51a4){_0x273ec6=_0x3f51a4;_0x36ebed=_0x273ec6['splitSizeXlsx']||0x1388;}})[_0x240d('0x10')](function(){return dbH[_0x240d('0x11')]['query'](util[_0x240d('0x12')](_0x240d('0x13'),QUERY),{'type':dbH['sequelize'][_0x240d('0x14')]['SELECT']});})[_0x240d('0x10')](function(_0x4aa37d){if(!_0x4aa37d[0x0][_0x240d('0x15')]){return analyticExtractedReport(_0x240d('0x16'));}var _0x4c9e41=[];var _0x2c58c8=0x0;var _0x580502=!![];if(_0x273ec6['split']){if(_0x4aa37d&&_0x4aa37d[_0x240d('0x17')]){var _0x31fb3d=_0x4aa37d[0x0][_0x240d('0x15')]%(_0x2c58c8+_0x36ebed);for(;_0x580502;_0x2c58c8+=_0x36ebed,_0x31fb3d=_0x4aa37d[0x0][_0x240d('0x15')]%(_0x2c58c8+_0x36ebed)){if(_0x31fb3d==0x0||_0x31fb3d==_0x4aa37d[0x0][_0x240d('0x15')]){_0x580502=![];}_0x4c9e41[_0x240d('0x18')](dbH[_0x240d('0x11')][_0x240d('0x19')](util[_0x240d('0x12')](_0x240d('0x1a'),QUERY,_0x36ebed,_0x2c58c8),{'type':dbH[_0x240d('0x11')][_0x240d('0x14')]['SELECT']}));}}}else{_0x4c9e41[_0x240d('0x18')](dbH[_0x240d('0x11')][_0x240d('0x19')](QUERY,{'type':dbH[_0x240d('0x11')][_0x240d('0x14')]['SELECT']}));}var _0x2a3796=path[_0x240d('0x1b')](PATH);var _0x434ac0=path[_0x240d('0x1c')](PATH,'.xlsx');var _0x9b0f09=_0x273ec6[_0x240d('0xe')]&&_0x4c9e41['length']>0x1;var _0x1b9dff=[];if(!fs[_0x240d('0x1d')](path[_0x240d('0x1e')](_0x2a3796,_0x434ac0))&&_0x9b0f09){fs[_0x240d('0x1f')](path[_0x240d('0x1e')](_0x2a3796,_0x434ac0));}return BPromise[_0x240d('0x20')](_0x4c9e41,function(_0x28ecd7){_0x1b9dff[_0x240d('0x18')](_0x28ecd7);})['then'](function(){for(var _0x2184f7=0x0;_0x2184f7<_0x1b9dff[_0x240d('0x17')];_0x2184f7+=0x1){var _0x1fe76f;var _0x25f9e5=_0x1b9dff[_0x2184f7];if(_0x9b0f09){_0x1fe76f=path[_0x240d('0x1e')](_0x2a3796,_0x434ac0,util[_0x240d('0x12')](_0x240d('0x21'),_0x434ac0,_0x2184f7,_0x240d('0x22')));}else{_0x1fe76f=path[_0x240d('0x1e')](_0x2a3796,util[_0x240d('0x12')](_0x240d('0x23'),_0x434ac0,'xlsx'));}fs[_0x240d('0x24')](_0x1fe76f,json2xls(_0x25f9e5),_0x240d('0x25'));}})[_0x240d('0x10')](function(){if(_0x9b0f09){zipdir(path[_0x240d('0x1e')](_0x2a3796,_0x434ac0),{'saveTo':path[_0x240d('0x1e')](_0x2a3796,util[_0x240d('0x12')](_0x240d('0x23'),_0x434ac0,_0x240d('0x26')))},function(_0x460471,_0xa67cdf){});rimraf(path[_0x240d('0x1e')](_0x2a3796,_0x434ac0),function(){});}})[_0x240d('0x10')](function(){logger[_0x240d('0xc')](util[_0x240d('0x12')](_0x240d('0x27'),EXTRACTED_REPORT_ID,_0x240d('0x28')));return analyticExtractedReport(_0x240d('0x29'),_0x9b0f09?util['format']('%s.%s',_0x434ac0,_0x9b0f09?_0x240d('0x26'):_0x240d('0x22')):null);});})[_0x240d('0x2a')](function(_0xbd4a5b){logger[_0x240d('0xc')](util['format']('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x240d('0x28')),util[_0x240d('0x2b')](_0xbd4a5b,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();