Built motion from commit (unavailable).|2.5.16
[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 _0xec56=['../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','splitSizeCsv','then','sequelize','query','SELECT','num','Empty','length','split','push','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','dirname','.csv','existsSync','join','each','%s%d.%s','csv','writeFileSync','%s.%s','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Failed','util','to-csv','bluebird','zip-dir','rimraf'];(function(_0xf6e5ea,_0x1d7ab1){var _0x22e827=function(_0x3f348b){while(--_0x3f348b){_0xf6e5ea['push'](_0xf6e5ea['shift']());}};_0x22e827(++_0x1d7ab1);}(_0xec56,0x1bd));var _0x6ec5=function(_0x219fa7,_0x35f785){_0x219fa7=_0x219fa7-0x0;var _0x124f46=_0xec56[_0x219fa7];return _0x124f46;};'use strict';var util=require(_0x6ec5('0x0'));var path=require('path');var _=require('lodash');var csv=require(_0x6ec5('0x1'));var fs=require('fs');var BPromise=require(_0x6ec5('0x2'));var zipdir=require(_0x6ec5('0x3'));var rimraf=require(_0x6ec5('0x4'));var db=require(_0x6ec5('0x5'))['db'];var dbH=require(_0x6ec5('0x5'))[_0x6ec5('0x6')];var logger=require(_0x6ec5('0x7'))(_0x6ec5('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x6ec5('0x9')][0x2]);var QUERY=process[_0x6ec5('0x9')][0x3];var PATH=process[_0x6ec5('0x9')][0x4];function analyticExtractedReport(_0x35be4e,_0x1f59cd){var _0x3dd891={'status':_0x35be4e};var _0x225d2f={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1f59cd){_0x3dd891[_0x6ec5('0xa')]=_0x1f59cd;}return db[_0x6ec5('0xb')][_0x6ec5('0xc')](_0x3dd891,_0x225d2f);}function main(){var _0x4a23b6=0x1388;var _0x2e880d;logger[_0x6ec5('0xd')](util[_0x6ec5('0xe')](_0x6ec5('0xf'),EXTRACTED_REPORT_ID,_0x6ec5('0x10')));return db[_0x6ec5('0x11')][_0x6ec5('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x6ec5('0x13')]})[_0x6ec5('0x14')](function(_0x2b1f61){if(_0x2b1f61){_0x2e880d=_0x2b1f61;_0x4a23b6=_0x2e880d[_0x6ec5('0x13')]||0x1388;}})[_0x6ec5('0x14')](function(){return dbH[_0x6ec5('0x15')][_0x6ec5('0x16')](util[_0x6ec5('0xe')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x6ec5('0x15')]['QueryTypes'][_0x6ec5('0x17')]});})[_0x6ec5('0x14')](function(_0x4a4e3c){if(!_0x4a4e3c[0x0][_0x6ec5('0x18')]){return analyticExtractedReport(_0x6ec5('0x19'));}var _0x4d09fe=[];var _0x13b725=0x0;var _0x3df696=!![];if(_0x4a4e3c&&_0x4a4e3c[_0x6ec5('0x1a')]){var _0x211934=_0x4a4e3c[0x0][_0x6ec5('0x18')]%(_0x13b725+_0x4a23b6);if(_0x2e880d[_0x6ec5('0x1b')]){for(;_0x3df696;_0x13b725+=_0x4a23b6,_0x211934=_0x4a4e3c[0x0][_0x6ec5('0x18')]%(_0x13b725+_0x4a23b6)){if(_0x211934==0x0||_0x211934==_0x4a4e3c[0x0][_0x6ec5('0x18')]){_0x3df696=![];}_0x4d09fe[_0x6ec5('0x1c')](dbH[_0x6ec5('0x15')][_0x6ec5('0x16')](util[_0x6ec5('0xe')](_0x6ec5('0x1d'),QUERY,_0x4a23b6,_0x13b725),{'type':dbH[_0x6ec5('0x15')][_0x6ec5('0x1e')][_0x6ec5('0x17')]}));}}else{_0x4d09fe[_0x6ec5('0x1c')](dbH['sequelize'][_0x6ec5('0x16')](QUERY,{'type':dbH[_0x6ec5('0x15')][_0x6ec5('0x1e')][_0x6ec5('0x17')]}));}}var _0x3fc9d7=path[_0x6ec5('0x1f')](PATH);var _0x18243f=path['basename'](PATH,_0x6ec5('0x20'));var _0x2ecdcf=_0x2e880d[_0x6ec5('0x1b')]&&_0x4d09fe[_0x6ec5('0x1a')]>0x1;var _0x57060c=[];if(!fs[_0x6ec5('0x21')](path[_0x6ec5('0x22')](_0x3fc9d7,_0x18243f))&&_0x2ecdcf){fs['mkdirSync'](path[_0x6ec5('0x22')](_0x3fc9d7,_0x18243f));}return BPromise[_0x6ec5('0x23')](_0x4d09fe,function(_0xb4d269){_0x57060c['push'](_0xb4d269);})[_0x6ec5('0x14')](function(){for(var _0xd0e8d7=0x0;_0xd0e8d7<_0x57060c[_0x6ec5('0x1a')];_0xd0e8d7+=0x1){var _0x462488;var _0x425fac=_0x57060c[_0xd0e8d7];if(_0x2ecdcf){_0x462488=path['join'](_0x3fc9d7,_0x18243f,util[_0x6ec5('0xe')](_0x6ec5('0x24'),_0x18243f,_0xd0e8d7,'csv'));}else{_0x462488=path[_0x6ec5('0x22')](_0x3fc9d7,util[_0x6ec5('0xe')]('%s.%s',_0x18243f,_0x6ec5('0x25')));}fs[_0x6ec5('0x26')](_0x462488,csv(_0x425fac));}})[_0x6ec5('0x14')](function(){if(_0x2ecdcf){zipdir(path[_0x6ec5('0x22')](_0x3fc9d7,_0x18243f),{'saveTo':path[_0x6ec5('0x22')](_0x3fc9d7,util['format'](_0x6ec5('0x27'),_0x18243f,_0x6ec5('0x28')))},function(_0x24aff9,_0x174164){});rimraf(path[_0x6ec5('0x22')](_0x3fc9d7,_0x18243f),function(){});}})[_0x6ec5('0x14')](function(){logger[_0x6ec5('0xd')](util['format'](_0x6ec5('0x29'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0x6ec5('0x2a'),_0x2ecdcf?util['format'](_0x6ec5('0x27'),_0x18243f,_0x2ecdcf?_0x6ec5('0x28'):'csv'):null);});})['catch'](function(_0x3bfab4){logger[_0x6ec5('0xd')](util['format'](_0x6ec5('0x2b'),EXTRACTED_REPORT_ID,_0x6ec5('0x10')),util['inspect'](_0x3bfab4,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x6ec5('0x2c'));});}main();