Built motion from commit (unavailable).|2.5.13
[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 _0x54ef=['%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','existsSync','join','mkdirSync','each','%s%d.%s','%s.%s','csv','writeFileSync','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','util','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','info','format','CSV','Setting','find','split','then','sequelize','query','QueryTypes','SELECT','num','Empty','length','push'];(function(_0x45783c,_0x49c56d){var _0x1161da=function(_0x3c5d41){while(--_0x3c5d41){_0x45783c['push'](_0x45783c['shift']());}};_0x1161da(++_0x49c56d);}(_0x54ef,0x112));var _0xf54e=function(_0x59622c,_0x2c74e0){_0x59622c=_0x59622c-0x0;var _0x344ab9=_0x54ef[_0x59622c];return _0x344ab9;};'use strict';var util=require(_0xf54e('0x0'));var path=require(_0xf54e('0x1'));var _=require(_0xf54e('0x2'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0xf54e('0x3'));var zipdir=require(_0xf54e('0x4'));var rimraf=require(_0xf54e('0x5'));var db=require(_0xf54e('0x6'))['db'];var dbH=require(_0xf54e('0x6'))[_0xf54e('0x7')];var logger=require(_0xf54e('0x8'))('analytics');var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0xf54e('0x9')][0x3];var PATH=process[_0xf54e('0x9')][0x4];function analyticExtractedReport(_0x2464ae,_0x561870){var _0x27e69b={'status':_0x2464ae};var _0x57a1ce={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x561870){_0x27e69b[_0xf54e('0xa')]=_0x561870;}return db[_0xf54e('0xb')]['update'](_0x27e69b,_0x57a1ce);}function main(){var _0x26fc3e=0x1388;var _0xefa1c0;logger[_0xf54e('0xc')](util[_0xf54e('0xd')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xf54e('0xe')));return db[_0xf54e('0xf')][_0xf54e('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xf54e('0x11'),'splitSizeCsv']})[_0xf54e('0x12')](function(_0x4b0ee1){if(_0x4b0ee1){_0xefa1c0=_0x4b0ee1;_0x26fc3e=_0xefa1c0['splitSizeCsv']||0x1388;}})[_0xf54e('0x12')](function(){return dbH[_0xf54e('0x13')][_0xf54e('0x14')](util[_0xf54e('0xd')]('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0xf54e('0x13')][_0xf54e('0x15')][_0xf54e('0x16')]});})[_0xf54e('0x12')](function(_0x56828e){if(!_0x56828e[0x0][_0xf54e('0x17')]){return analyticExtractedReport(_0xf54e('0x18'));}var _0x3eb415=[];var _0x5c5d00=0x0;var _0x4af633=!![];if(_0x56828e&&_0x56828e[_0xf54e('0x19')]){var _0x41fb35=_0x56828e[0x0][_0xf54e('0x17')]%(_0x5c5d00+_0x26fc3e);if(_0xefa1c0[_0xf54e('0x11')]){for(;_0x4af633;_0x5c5d00+=_0x26fc3e,_0x41fb35=_0x56828e[0x0][_0xf54e('0x17')]%(_0x5c5d00+_0x26fc3e)){if(_0x41fb35==0x0||_0x41fb35==_0x56828e[0x0][_0xf54e('0x17')]){_0x4af633=![];}_0x3eb415[_0xf54e('0x1a')](dbH[_0xf54e('0x13')][_0xf54e('0x14')](util[_0xf54e('0xd')](_0xf54e('0x1b'),QUERY,_0x26fc3e,_0x5c5d00),{'type':dbH['sequelize']['QueryTypes'][_0xf54e('0x16')]}));}}else{_0x3eb415['push'](dbH[_0xf54e('0x13')][_0xf54e('0x14')](QUERY,{'type':dbH[_0xf54e('0x13')][_0xf54e('0x15')][_0xf54e('0x16')]}));}}var _0x3887b0=path[_0xf54e('0x1c')](PATH);var _0x11985e=path[_0xf54e('0x1d')](PATH,_0xf54e('0x1e'));var _0x1c58bd=_0xefa1c0['split']&&_0x3eb415[_0xf54e('0x19')]>0x1;var _0x54f914=[];if(!fs[_0xf54e('0x1f')](path[_0xf54e('0x20')](_0x3887b0,_0x11985e))&&_0x1c58bd){fs[_0xf54e('0x21')](path[_0xf54e('0x20')](_0x3887b0,_0x11985e));}return BPromise[_0xf54e('0x22')](_0x3eb415,function(_0x160160){_0x54f914[_0xf54e('0x1a')](_0x160160);})[_0xf54e('0x12')](function(){for(var _0x2342a9=0x0;_0x2342a9<_0x54f914[_0xf54e('0x19')];_0x2342a9+=0x1){var _0xf6cdd7;var _0x39c0ae=_0x54f914[_0x2342a9];if(_0x1c58bd){_0xf6cdd7=path[_0xf54e('0x20')](_0x3887b0,_0x11985e,util['format'](_0xf54e('0x23'),_0x11985e,_0x2342a9,'csv'));}else{_0xf6cdd7=path[_0xf54e('0x20')](_0x3887b0,util['format'](_0xf54e('0x24'),_0x11985e,_0xf54e('0x25')));}fs[_0xf54e('0x26')](_0xf6cdd7,csv(_0x39c0ae));}})[_0xf54e('0x12')](function(){if(_0x1c58bd){zipdir(path[_0xf54e('0x20')](_0x3887b0,_0x11985e),{'saveTo':path[_0xf54e('0x20')](_0x3887b0,util[_0xf54e('0xd')]('%s.%s',_0x11985e,'zip'))},function(_0x2f96b1,_0x258d29){});rimraf(path[_0xf54e('0x20')](_0x3887b0,_0x11985e),function(){});}})[_0xf54e('0x12')](function(){logger[_0xf54e('0xc')](util[_0xf54e('0xd')](_0xf54e('0x27'),EXTRACTED_REPORT_ID,_0xf54e('0xe')));return analyticExtractedReport(_0xf54e('0x28'),_0x1c58bd?util[_0xf54e('0xd')]('%s.%s',_0x11985e,_0x1c58bd?'zip':_0xf54e('0x25')):null);});})[_0xf54e('0x29')](function(_0x4d8fdd){logger[_0xf54e('0xc')](util[_0xf54e('0xd')](_0xf54e('0x2a'),EXTRACTED_REPORT_ID,_0xf54e('0xe')),util['inspect'](_0x4d8fdd,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();