Built motion from commit (unavailable).|2.2.0
[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 _0x3793=['SELECT','then','Empty','length','num','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','existsSync','join','mkdirSync','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','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','bluebird','zip-dir','rimraf','dbH','../../config/logger','analytics','argv','AnalyticExtractedReport','update','info','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','find','split','splitSizeCsv','sequelize','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes'];(function(_0x34215a,_0x39d26d){var _0x29ccf0=function(_0x2b4db3){while(--_0x2b4db3){_0x34215a['push'](_0x34215a['shift']());}};_0x29ccf0(++_0x39d26d);}(_0x3793,0xda));var _0x3379=function(_0x3ca45e,_0x3106e9){_0x3ca45e=_0x3ca45e-0x0;var _0x763221=_0x3793[_0x3ca45e];return _0x763221;};'use strict';var util=require(_0x3379('0x0'));var path=require(_0x3379('0x1'));var _=require(_0x3379('0x2'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0x3379('0x3'));var zipdir=require(_0x3379('0x4'));var rimraf=require(_0x3379('0x5'));var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')[_0x3379('0x6')];var logger=require(_0x3379('0x7'))(_0x3379('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0x3379('0x9')][0x2]);var QUERY=process['argv'][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x449692,_0x2adbb6){var _0x5f2299={'status':_0x449692};var _0x1243bb={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x2adbb6){_0x5f2299['savename']=_0x2adbb6;}return db[_0x3379('0xa')][_0x3379('0xb')](_0x5f2299,_0x1243bb);}function main(){var _0x16d4dd=0x1388;var _0x4ea686;logger[_0x3379('0xc')](util['format'](_0x3379('0xd'),EXTRACTED_REPORT_ID,_0x3379('0xe')));return db['Setting'][_0x3379('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x3379('0x10'),'splitSizeCsv']})['then'](function(_0x4f051e){if(_0x4f051e){_0x4ea686=_0x4f051e;_0x16d4dd=_0x4ea686[_0x3379('0x11')]||0x1388;}})['then'](function(){return dbH[_0x3379('0x12')]['query'](util[_0x3379('0x13')](_0x3379('0x14'),QUERY),{'type':dbH[_0x3379('0x12')][_0x3379('0x15')][_0x3379('0x16')]});})[_0x3379('0x17')](function(_0x5e99fc){if(!_0x5e99fc[0x0]['num']){return analyticExtractedReport(_0x3379('0x18'));}var _0x299e15=[];var _0x496c35=0x0;var _0x45c916=!![];if(_0x5e99fc&&_0x5e99fc[_0x3379('0x19')]){var _0x21f67f=_0x5e99fc[0x0][_0x3379('0x1a')]%(_0x496c35+_0x16d4dd);if(_0x4ea686['split']){for(;_0x45c916;_0x496c35+=_0x16d4dd,_0x21f67f=_0x5e99fc[0x0][_0x3379('0x1a')]%(_0x496c35+_0x16d4dd)){if(_0x21f67f==0x0||_0x21f67f==_0x5e99fc[0x0][_0x3379('0x1a')]){_0x45c916=![];}_0x299e15[_0x3379('0x1b')](dbH[_0x3379('0x12')][_0x3379('0x1c')](util[_0x3379('0x13')](_0x3379('0x1d'),QUERY,_0x16d4dd,_0x496c35),{'type':dbH[_0x3379('0x12')][_0x3379('0x15')]['SELECT']}));}}else{_0x299e15[_0x3379('0x1b')](dbH[_0x3379('0x12')][_0x3379('0x1c')](QUERY,{'type':dbH[_0x3379('0x12')][_0x3379('0x15')][_0x3379('0x16')]}));}}var _0x17ad31=path[_0x3379('0x1e')](PATH);var _0x24e867=path[_0x3379('0x1f')](PATH,_0x3379('0x20'));var _0x2b2369=_0x4ea686[_0x3379('0x10')]&&_0x299e15[_0x3379('0x19')]>0x1;var _0x5303c8=[];if(!fs[_0x3379('0x21')](path[_0x3379('0x22')](_0x17ad31,_0x24e867))&&_0x2b2369){fs[_0x3379('0x23')](path[_0x3379('0x22')](_0x17ad31,_0x24e867));}return BPromise[_0x3379('0x24')](_0x299e15,function(_0x50ca65){_0x5303c8[_0x3379('0x1b')](_0x50ca65);})[_0x3379('0x17')](function(){for(var _0x3b0a3a=0x0;_0x3b0a3a<_0x5303c8['length'];_0x3b0a3a+=0x1){var _0x49eed9;var _0x2b4135=_0x5303c8[_0x3b0a3a];if(_0x2b2369){_0x49eed9=path['join'](_0x17ad31,_0x24e867,util[_0x3379('0x13')](_0x3379('0x25'),_0x24e867,_0x3b0a3a,_0x3379('0x26')));}else{_0x49eed9=path[_0x3379('0x22')](_0x17ad31,util['format'](_0x3379('0x27'),_0x24e867,'csv'));}fs[_0x3379('0x28')](_0x49eed9,csv(_0x2b4135));}})[_0x3379('0x17')](function(){if(_0x2b2369){zipdir(path['join'](_0x17ad31,_0x24e867),{'saveTo':path['join'](_0x17ad31,util[_0x3379('0x13')]('%s.%s',_0x24e867,_0x3379('0x29')))},function(_0x385064,_0x57b843){});rimraf(path[_0x3379('0x22')](_0x17ad31,_0x24e867),function(){});}})['then'](function(){logger[_0x3379('0xc')](util[_0x3379('0x13')](_0x3379('0x2a'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0x3379('0x2b'),_0x2b2369?util[_0x3379('0x13')]('%s.%s',_0x24e867,_0x2b2369?_0x3379('0x29'):'csv'):null);});})[_0x3379('0x2c')](function(_0x5cbfad){logger[_0x3379('0xc')](util[_0x3379('0x13')](_0x3379('0x2d'),EXTRACTED_REPORT_ID,_0x3379('0xe')),util[_0x3379('0x2e')](_0x5cbfad,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x3379('0x2f'));});}main();