Built motion from commit (unavailable).|2.3.4
[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 _0xf65a=['Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','to-csv','rimraf','../../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\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','split','push','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','.csv','existsSync','join','mkdirSync','each','csv','%s.%s','writeFileSync','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed'];(function(_0x4a73fe,_0x2fa094){var _0x508271=function(_0x14effa){while(--_0x14effa){_0x4a73fe['push'](_0x4a73fe['shift']());}};_0x508271(++_0x2fa094);}(_0xf65a,0x8f));var _0xaf65=function(_0x4965cb,_0x2a7b67){_0x4965cb=_0x4965cb-0x0;var _0x306d90=_0xf65a[_0x4965cb];return _0x306d90;};'use strict';var util=require(_0xaf65('0x0'));var path=require('path');var _=require('lodash');var csv=require(_0xaf65('0x1'));var fs=require('fs');var BPromise=require('bluebird');var zipdir=require('zip-dir');var rimraf=require(_0xaf65('0x2'));var db=require(_0xaf65('0x3'))['db'];var dbH=require('../../mysqldb')[_0xaf65('0x4')];var logger=require(_0xaf65('0x5'))(_0xaf65('0x6'));var EXTRACTED_REPORT_ID=Number(process[_0xaf65('0x7')][0x2]);var QUERY=process[_0xaf65('0x7')][0x3];var PATH=process[_0xaf65('0x7')][0x4];function analyticExtractedReport(_0xc6e9e8,_0x61d085){var _0x1a29ea={'status':_0xc6e9e8};var _0xbef6fb={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x61d085){_0x1a29ea[_0xaf65('0x8')]=_0x61d085;}return db[_0xaf65('0x9')][_0xaf65('0xa')](_0x1a29ea,_0xbef6fb);}function main(){var _0x131451=0x1388;var _0x49ad45;logger[_0xaf65('0xb')](util[_0xaf65('0xc')](_0xaf65('0xd'),EXTRACTED_REPORT_ID,_0xaf65('0xe')));return db[_0xaf65('0xf')][_0xaf65('0x10')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xaf65('0x11')]})[_0xaf65('0x12')](function(_0x376241){if(_0x376241){_0x49ad45=_0x376241;_0x131451=_0x49ad45[_0xaf65('0x11')]||0x1388;}})[_0xaf65('0x12')](function(){return dbH[_0xaf65('0x13')][_0xaf65('0x14')](util[_0xaf65('0xc')](_0xaf65('0x15'),QUERY),{'type':dbH[_0xaf65('0x13')][_0xaf65('0x16')][_0xaf65('0x17')]});})[_0xaf65('0x12')](function(_0x4b9254){if(!_0x4b9254[0x0][_0xaf65('0x18')]){return analyticExtractedReport(_0xaf65('0x19'));}var _0x6c3c2f=[];var _0x3fd10a=0x0;var _0x185397=!![];if(_0x4b9254&&_0x4b9254[_0xaf65('0x1a')]){var _0x541749=_0x4b9254[0x0]['num']%(_0x3fd10a+_0x131451);if(_0x49ad45[_0xaf65('0x1b')]){for(;_0x185397;_0x3fd10a+=_0x131451,_0x541749=_0x4b9254[0x0][_0xaf65('0x18')]%(_0x3fd10a+_0x131451)){if(_0x541749==0x0||_0x541749==_0x4b9254[0x0][_0xaf65('0x18')]){_0x185397=![];}_0x6c3c2f[_0xaf65('0x1c')](dbH['sequelize']['query'](util['format'](_0xaf65('0x1d'),QUERY,_0x131451,_0x3fd10a),{'type':dbH[_0xaf65('0x13')][_0xaf65('0x16')][_0xaf65('0x17')]}));}}else{_0x6c3c2f[_0xaf65('0x1c')](dbH['sequelize'][_0xaf65('0x14')](QUERY,{'type':dbH[_0xaf65('0x13')][_0xaf65('0x16')][_0xaf65('0x17')]}));}}var _0x2a7105=path[_0xaf65('0x1e')](PATH);var _0x5419bf=path['basename'](PATH,_0xaf65('0x1f'));var _0x1feeca=_0x49ad45[_0xaf65('0x1b')]&&_0x6c3c2f[_0xaf65('0x1a')]>0x1;var _0x40bec8=[];if(!fs[_0xaf65('0x20')](path[_0xaf65('0x21')](_0x2a7105,_0x5419bf))&&_0x1feeca){fs[_0xaf65('0x22')](path[_0xaf65('0x21')](_0x2a7105,_0x5419bf));}return BPromise[_0xaf65('0x23')](_0x6c3c2f,function(_0x2a9d18){_0x40bec8[_0xaf65('0x1c')](_0x2a9d18);})[_0xaf65('0x12')](function(){for(var _0x2c89f5=0x0;_0x2c89f5<_0x40bec8[_0xaf65('0x1a')];_0x2c89f5+=0x1){var _0x5390a5;var _0x3da5a3=_0x40bec8[_0x2c89f5];if(_0x1feeca){_0x5390a5=path[_0xaf65('0x21')](_0x2a7105,_0x5419bf,util[_0xaf65('0xc')]('%s%d.%s',_0x5419bf,_0x2c89f5,_0xaf65('0x24')));}else{_0x5390a5=path[_0xaf65('0x21')](_0x2a7105,util[_0xaf65('0xc')](_0xaf65('0x25'),_0x5419bf,_0xaf65('0x24')));}fs[_0xaf65('0x26')](_0x5390a5,csv(_0x3da5a3));}})[_0xaf65('0x12')](function(){if(_0x1feeca){zipdir(path['join'](_0x2a7105,_0x5419bf),{'saveTo':path[_0xaf65('0x21')](_0x2a7105,util[_0xaf65('0xc')](_0xaf65('0x25'),_0x5419bf,_0xaf65('0x27')))},function(_0x4de679,_0x82fbe6){});rimraf(path[_0xaf65('0x21')](_0x2a7105,_0x5419bf),function(){});}})[_0xaf65('0x12')](function(){logger[_0xaf65('0xb')](util[_0xaf65('0xc')](_0xaf65('0x28'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0xaf65('0x29'),_0x1feeca?util[_0xaf65('0xc')](_0xaf65('0x25'),_0x5419bf,_0x1feeca?_0xaf65('0x27'):_0xaf65('0x24')):null);});})[_0xaf65('0x2a')](function(_0x1f7f03){logger[_0xaf65('0xb')](util[_0xaf65('0xc')](_0xaf65('0x2b'),EXTRACTED_REPORT_ID,_0xaf65('0xe')),util[_0xaf65('0x2c')](_0x1f7f03,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xaf65('0x2d'));});}main();