Built motion from commit (unavailable).|2.5.14
[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 _0x7a34=['dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','XLSX','find','split','splitSizeXlsx','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','push','%s\x20limit\x20%d\x20OFFSET\x20%d','.xlsx','length','join','mkdirSync','each','xlsx','%s.%s','writeFileSync','binary','zip','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','path','lodash','json2xls','bluebird','zip-dir','rimraf','../../mysqldb'];(function(_0x503c99,_0x44ebe5){var _0x464b39=function(_0x2fbc79){while(--_0x2fbc79){_0x503c99['push'](_0x503c99['shift']());}};_0x464b39(++_0x44ebe5);}(_0x7a34,0xb0));var _0x47a3=function(_0x5e721f,_0x440c13){_0x5e721f=_0x5e721f-0x0;var _0x3030a2=_0x7a34[_0x5e721f];return _0x3030a2;};'use strict';var util=require(_0x47a3('0x0'));var path=require(_0x47a3('0x1'));var _=require(_0x47a3('0x2'));var fs=require('fs');var json2xls=require(_0x47a3('0x3'));var BPromise=require(_0x47a3('0x4'));var zipdir=require(_0x47a3('0x5'));var rimraf=require(_0x47a3('0x6'));var db=require(_0x47a3('0x7'))['db'];var dbH=require(_0x47a3('0x7'))[_0x47a3('0x8')];var logger=require(_0x47a3('0x9'))('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x47a3('0xa')][0x2]);var QUERY=process[_0x47a3('0xa')][0x3];var PATH=process[_0x47a3('0xa')][0x4];function analyticExtractedReport(_0x54ab2b,_0x193e01){var _0x3097f8={'status':_0x54ab2b};var _0x3a6f46={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x193e01){_0x3097f8[_0x47a3('0xb')]=_0x193e01;}return db[_0x47a3('0xc')][_0x47a3('0xd')](_0x3097f8,_0x3a6f46);}function main(){var _0x581222=0x1388;var _0xaf28ed;logger['info'](util[_0x47a3('0xe')](_0x47a3('0xf'),EXTRACTED_REPORT_ID,_0x47a3('0x10')));return db['Setting'][_0x47a3('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x47a3('0x12'),_0x47a3('0x13')]})[_0x47a3('0x14')](function(_0x1a57d3){if(_0x1a57d3){_0xaf28ed=_0x1a57d3;_0x581222=_0xaf28ed[_0x47a3('0x13')]||0x1388;}})['then'](function(){return dbH[_0x47a3('0x15')][_0x47a3('0x16')](util[_0x47a3('0xe')](_0x47a3('0x17'),QUERY),{'type':dbH[_0x47a3('0x15')][_0x47a3('0x18')][_0x47a3('0x19')]});})[_0x47a3('0x14')](function(_0x4f2414){if(!_0x4f2414[0x0][_0x47a3('0x1a')]){return analyticExtractedReport('Empty');}var _0x31686a=[];var _0x13bcc3=0x0;var _0x3be92f=!![];if(_0xaf28ed[_0x47a3('0x12')]){if(_0x4f2414&&_0x4f2414['length']){var _0x2a1dc8=_0x4f2414[0x0][_0x47a3('0x1a')]%(_0x13bcc3+_0x581222);for(;_0x3be92f;_0x13bcc3+=_0x581222,_0x2a1dc8=_0x4f2414[0x0][_0x47a3('0x1a')]%(_0x13bcc3+_0x581222)){if(_0x2a1dc8==0x0||_0x2a1dc8==_0x4f2414[0x0][_0x47a3('0x1a')]){_0x3be92f=![];}_0x31686a[_0x47a3('0x1b')](dbH[_0x47a3('0x15')][_0x47a3('0x16')](util['format'](_0x47a3('0x1c'),QUERY,_0x581222,_0x13bcc3),{'type':dbH['sequelize'][_0x47a3('0x18')][_0x47a3('0x19')]}));}}}else{_0x31686a[_0x47a3('0x1b')](dbH['sequelize'][_0x47a3('0x16')](QUERY,{'type':dbH[_0x47a3('0x15')][_0x47a3('0x18')][_0x47a3('0x19')]}));}var _0x5252e6=path['dirname'](PATH);var _0x141b02=path['basename'](PATH,_0x47a3('0x1d'));var _0x1377b1=_0xaf28ed[_0x47a3('0x12')]&&_0x31686a[_0x47a3('0x1e')]>0x1;var _0x361c06=[];if(!fs['existsSync'](path[_0x47a3('0x1f')](_0x5252e6,_0x141b02))&&_0x1377b1){fs[_0x47a3('0x20')](path[_0x47a3('0x1f')](_0x5252e6,_0x141b02));}return BPromise[_0x47a3('0x21')](_0x31686a,function(_0x2028a7){_0x361c06[_0x47a3('0x1b')](_0x2028a7);})['then'](function(){for(var _0x3d17b5=0x0;_0x3d17b5<_0x361c06[_0x47a3('0x1e')];_0x3d17b5+=0x1){var _0x287ec2;var _0x46a7ee=_0x361c06[_0x3d17b5];if(_0x1377b1){_0x287ec2=path[_0x47a3('0x1f')](_0x5252e6,_0x141b02,util[_0x47a3('0xe')]('%s%d.%s',_0x141b02,_0x3d17b5,_0x47a3('0x22')));}else{_0x287ec2=path[_0x47a3('0x1f')](_0x5252e6,util[_0x47a3('0xe')](_0x47a3('0x23'),_0x141b02,_0x47a3('0x22')));}fs[_0x47a3('0x24')](_0x287ec2,json2xls(_0x46a7ee),_0x47a3('0x25'));}})[_0x47a3('0x14')](function(){if(_0x1377b1){zipdir(path[_0x47a3('0x1f')](_0x5252e6,_0x141b02),{'saveTo':path['join'](_0x5252e6,util[_0x47a3('0xe')](_0x47a3('0x23'),_0x141b02,_0x47a3('0x26')))},function(_0xf2c1f8,_0x297f37){});rimraf(path[_0x47a3('0x1f')](_0x5252e6,_0x141b02),function(){});}})[_0x47a3('0x14')](function(){logger[_0x47a3('0x27')](util[_0x47a3('0xe')](_0x47a3('0x28'),EXTRACTED_REPORT_ID,_0x47a3('0x10')));return analyticExtractedReport(_0x47a3('0x29'),_0x1377b1?util[_0x47a3('0xe')](_0x47a3('0x23'),_0x141b02,_0x1377b1?_0x47a3('0x26'):_0x47a3('0x22')):null);});})[_0x47a3('0x2a')](function(_0x5de94e){logger[_0x47a3('0x27')](util[_0x47a3('0xe')](_0x47a3('0x2b'),EXTRACTED_REPORT_ID,'XLSX'),util[_0x47a3('0x2c')](_0x5de94e,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x47a3('0x2d'));});}main();