Built motion from commit (unavailable).|2.5.12
[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 _0xd2ea=['analytics','argv','savename','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','split','splitSizeCsv','then','query','SELECT','num','Empty','length','push','sequelize','QueryTypes','dirname','basename','.csv','existsSync','mkdirSync','join','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','Completed','catch','inspect','util','path','lodash','to-csv','bluebird','rimraf','../../mysqldb','dbH','../../config/logger'];(function(_0x3b82ef,_0x47e985){var _0x2f1f4c=function(_0x4b75b9){while(--_0x4b75b9){_0x3b82ef['push'](_0x3b82ef['shift']());}};_0x2f1f4c(++_0x47e985);}(_0xd2ea,0x15f));var _0xad2e=function(_0x41d447,_0x5b2f4a){_0x41d447=_0x41d447-0x0;var _0xe80678=_0xd2ea[_0x41d447];return _0xe80678;};'use strict';var util=require(_0xad2e('0x0'));var path=require(_0xad2e('0x1'));var _=require(_0xad2e('0x2'));var csv=require(_0xad2e('0x3'));var fs=require('fs');var BPromise=require(_0xad2e('0x4'));var zipdir=require('zip-dir');var rimraf=require(_0xad2e('0x5'));var db=require(_0xad2e('0x6'))['db'];var dbH=require(_0xad2e('0x6'))[_0xad2e('0x7')];var logger=require(_0xad2e('0x8'))(_0xad2e('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0xad2e('0xa')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xad2e('0xa')][0x4];function analyticExtractedReport(_0x3e3d1f,_0x2ff7b2){var _0x5710ac={'status':_0x3e3d1f};var _0x1e0e9e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x2ff7b2){_0x5710ac[_0xad2e('0xb')]=_0x2ff7b2;}return db['AnalyticExtractedReport'][_0xad2e('0xc')](_0x5710ac,_0x1e0e9e);}function main(){var _0x51f575=0x1388;var _0x430443;logger[_0xad2e('0xd')](util[_0xad2e('0xe')](_0xad2e('0xf'),EXTRACTED_REPORT_ID,'CSV'));return db[_0xad2e('0x10')]['find']({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xad2e('0x11'),_0xad2e('0x12')]})[_0xad2e('0x13')](function(_0x42e2f2){if(_0x42e2f2){_0x430443=_0x42e2f2;_0x51f575=_0x430443['splitSizeCsv']||0x1388;}})[_0xad2e('0x13')](function(){return dbH['sequelize'][_0xad2e('0x14')](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH['sequelize']['QueryTypes'][_0xad2e('0x15')]});})[_0xad2e('0x13')](function(_0x1646d5){if(!_0x1646d5[0x0][_0xad2e('0x16')]){return analyticExtractedReport(_0xad2e('0x17'));}var _0x4180aa=[];var _0x2546e2=0x0;var _0x5941c5=!![];if(_0x1646d5&&_0x1646d5[_0xad2e('0x18')]){var _0xbc6df0=_0x1646d5[0x0][_0xad2e('0x16')]%(_0x2546e2+_0x51f575);if(_0x430443[_0xad2e('0x11')]){for(;_0x5941c5;_0x2546e2+=_0x51f575,_0xbc6df0=_0x1646d5[0x0][_0xad2e('0x16')]%(_0x2546e2+_0x51f575)){if(_0xbc6df0==0x0||_0xbc6df0==_0x1646d5[0x0][_0xad2e('0x16')]){_0x5941c5=![];}_0x4180aa[_0xad2e('0x19')](dbH['sequelize'][_0xad2e('0x14')](util[_0xad2e('0xe')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x51f575,_0x2546e2),{'type':dbH['sequelize']['QueryTypes']['SELECT']}));}}else{_0x4180aa[_0xad2e('0x19')](dbH[_0xad2e('0x1a')][_0xad2e('0x14')](QUERY,{'type':dbH[_0xad2e('0x1a')][_0xad2e('0x1b')][_0xad2e('0x15')]}));}}var _0x29dc4f=path[_0xad2e('0x1c')](PATH);var _0x102169=path[_0xad2e('0x1d')](PATH,_0xad2e('0x1e'));var _0x142631=_0x430443[_0xad2e('0x11')]&&_0x4180aa[_0xad2e('0x18')]>0x1;var _0x207517=[];if(!fs[_0xad2e('0x1f')](path['join'](_0x29dc4f,_0x102169))&&_0x142631){fs[_0xad2e('0x20')](path[_0xad2e('0x21')](_0x29dc4f,_0x102169));}return BPromise[_0xad2e('0x22')](_0x4180aa,function(_0x350c66){_0x207517[_0xad2e('0x19')](_0x350c66);})[_0xad2e('0x13')](function(){for(var _0x1161d5=0x0;_0x1161d5<_0x207517[_0xad2e('0x18')];_0x1161d5+=0x1){var _0xfd90a4;var _0x50d446=_0x207517[_0x1161d5];if(_0x142631){_0xfd90a4=path[_0xad2e('0x21')](_0x29dc4f,_0x102169,util['format'](_0xad2e('0x23'),_0x102169,_0x1161d5,_0xad2e('0x24')));}else{_0xfd90a4=path[_0xad2e('0x21')](_0x29dc4f,util[_0xad2e('0xe')](_0xad2e('0x25'),_0x102169,_0xad2e('0x24')));}fs[_0xad2e('0x26')](_0xfd90a4,csv(_0x50d446));}})[_0xad2e('0x13')](function(){if(_0x142631){zipdir(path[_0xad2e('0x21')](_0x29dc4f,_0x102169),{'saveTo':path[_0xad2e('0x21')](_0x29dc4f,util['format'](_0xad2e('0x25'),_0x102169,_0xad2e('0x27')))},function(_0x2a0dc7,_0x4379f4){});rimraf(path[_0xad2e('0x21')](_0x29dc4f,_0x102169),function(){});}})[_0xad2e('0x13')](function(){logger[_0xad2e('0xd')](util[_0xad2e('0xe')](_0xad2e('0x28'),EXTRACTED_REPORT_ID,_0xad2e('0x29')));return analyticExtractedReport(_0xad2e('0x2a'),_0x142631?util['format'](_0xad2e('0x25'),_0x102169,_0x142631?'zip':_0xad2e('0x24')):null);});})[_0xad2e('0x2b')](function(_0x5ac436){logger[_0xad2e('0xd')](util[_0xad2e('0xe')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0xad2e('0x29')),util[_0xad2e('0x2c')](_0x5ac436,{'showHidden':![],'depth':null}));return analyticExtractedReport('Failed');});}main();