Built motion from commit (unavailable).|2.5.30
[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 _0x2324=['.csv','existsSync','mkdirSync','join','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','finally','exit','util','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','info','format','CSV','find','split','splitSizeCsv','then','sequelize','query','SELECT','num','Empty','length','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','basename'];(function(_0xd452f1,_0x1ead23){var _0x3904da=function(_0x35a554){while(--_0x35a554){_0xd452f1['push'](_0xd452f1['shift']());}};_0x3904da(++_0x1ead23);}(_0x2324,0x158));var _0x4232=function(_0x1a2ca0,_0xaa2c56){_0x1a2ca0=_0x1a2ca0-0x0;var _0x50168c=_0x2324[_0x1a2ca0];return _0x50168c;};'use strict';var util=require(_0x4232('0x0'));var path=require(_0x4232('0x1'));var _=require(_0x4232('0x2'));var csv=require(_0x4232('0x3'));var fs=require('fs');var BPromise=require(_0x4232('0x4'));var zipdir=require(_0x4232('0x5'));var rimraf=require(_0x4232('0x6'));var db=require(_0x4232('0x7'))['db'];var dbH=require(_0x4232('0x7'))[_0x4232('0x8')];var logger=require(_0x4232('0x9'))('analytics');var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x4232('0xa')][0x3];var PATH=process[_0x4232('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x57b323,_0x5d6a35){var _0x25c960={'status':_0x57b323};var _0x291db2={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x5d6a35){_0x25c960[_0x4232('0xb')]=_0x5d6a35;}return db[_0x4232('0xc')][_0x4232('0xd')](_0x25c960,_0x291db2);}function main(){var _0x536887=0x1388;var _0x37ff46;logger[_0x4232('0xe')](util[_0x4232('0xf')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x4232('0x10')));return db['Setting'][_0x4232('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x4232('0x12'),_0x4232('0x13')]})[_0x4232('0x14')](function(_0x29dedc){if(_0x29dedc){_0x37ff46=_0x29dedc;_0x536887=_0x37ff46[_0x4232('0x13')]||0x1388;}})['then'](function(){return dbH[_0x4232('0x15')][_0x4232('0x16')](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x4232('0x15')]['QueryTypes'][_0x4232('0x17')]});})[_0x4232('0x14')](function(_0x51d1b2){if(!_0x51d1b2[0x0][_0x4232('0x18')]){return analyticExtractedReport(_0x4232('0x19'));}var _0x4381a3=[];var _0x1c0333=0x0;var _0x5607b8=!![];if(_0x51d1b2&&_0x51d1b2[_0x4232('0x1a')]){var _0x329fbf=_0x51d1b2[0x0]['num']%(_0x1c0333+_0x536887);if(_0x37ff46['split']){for(;_0x5607b8;_0x1c0333+=_0x536887,_0x329fbf=_0x51d1b2[0x0]['num']%(_0x1c0333+_0x536887)){if(_0x329fbf==0x0||_0x329fbf==_0x51d1b2[0x0]['num']){_0x5607b8=![];}_0x4381a3[_0x4232('0x1b')](dbH[_0x4232('0x15')][_0x4232('0x16')](util[_0x4232('0xf')](_0x4232('0x1c'),QUERY,_0x536887,_0x1c0333),{'type':dbH[_0x4232('0x15')]['QueryTypes']['SELECT']}));}}else{_0x4381a3[_0x4232('0x1b')](dbH[_0x4232('0x15')][_0x4232('0x16')](QUERY,{'type':dbH['sequelize'][_0x4232('0x1d')][_0x4232('0x17')]}));}}var _0x3cb235=path[_0x4232('0x1e')](PATH);var _0x11c3d0=path[_0x4232('0x1f')](PATH,_0x4232('0x20'));var _0x523827=_0x37ff46[_0x4232('0x12')]&&_0x4381a3[_0x4232('0x1a')]>0x1;var _0x3e8155=[];if(!fs[_0x4232('0x21')](path['join'](_0x3cb235,_0x11c3d0))&&_0x523827){fs[_0x4232('0x22')](path[_0x4232('0x23')](_0x3cb235,_0x11c3d0));}return BPromise[_0x4232('0x24')](_0x4381a3,function(_0x112ef3){_0x3e8155['push'](_0x112ef3);})[_0x4232('0x14')](function(){for(var _0x1ef91e=0x0;_0x1ef91e<_0x3e8155[_0x4232('0x1a')];_0x1ef91e+=0x1){var _0x1c7bf6;var _0x383036=_0x3e8155[_0x1ef91e];if(_0x523827){_0x1c7bf6=path['join'](_0x3cb235,_0x11c3d0,util['format'](_0x4232('0x25'),_0x11c3d0,_0x1ef91e,_0x4232('0x26')));}else{_0x1c7bf6=path['join'](_0x3cb235,util['format'](_0x4232('0x27'),_0x11c3d0,_0x4232('0x26')));}fs[_0x4232('0x28')](_0x1c7bf6,csv(_0x383036));}})[_0x4232('0x14')](function(){if(_0x523827){zipdir(path['join'](_0x3cb235,_0x11c3d0),{'saveTo':path['join'](_0x3cb235,util['format'](_0x4232('0x27'),_0x11c3d0,_0x4232('0x29')))},function(_0xd2dbde,_0xe0d3c0){});rimraf(path[_0x4232('0x23')](_0x3cb235,_0x11c3d0),function(){});}})[_0x4232('0x14')](function(){logger[_0x4232('0xe')](util[_0x4232('0xf')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0x4232('0x10')));return analyticExtractedReport(_0x4232('0x2a'),_0x523827?util[_0x4232('0xf')](_0x4232('0x27'),_0x11c3d0,_0x523827?_0x4232('0x29'):'csv'):null);});})['catch'](function(_0x3b92e1){logger['info'](util[_0x4232('0xf')](_0x4232('0x2b'),EXTRACTED_REPORT_ID,_0x4232('0x10')),util['inspect'](_0x3b92e1,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x4232('0x2c'));})[_0x4232('0x2d')](function(){process[_0x4232('0x2e')](EXIT_CODE);});}main();