Built motion from commit (unavailable).|2.5.7
[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 _0xbec5=['%s\x20limit\x20%d\x20OFFSET\x20%d','.csv','join','mkdirSync','each','csv','%s.%s','zip','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','CSV','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','util','path','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','split','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','push'];(function(_0x26b4e7,_0x20cffe){var _0x2e3484=function(_0x25f3e6){while(--_0x25f3e6){_0x26b4e7['push'](_0x26b4e7['shift']());}};_0x2e3484(++_0x20cffe);}(_0xbec5,0xe5));var _0x5bec=function(_0x1deb72,_0x3f6338){_0x1deb72=_0x1deb72-0x0;var _0x18bbdf=_0xbec5[_0x1deb72];return _0x18bbdf;};'use strict';var util=require(_0x5bec('0x0'));var path=require(_0x5bec('0x1'));var _=require('lodash');var csv=require(_0x5bec('0x2'));var fs=require('fs');var BPromise=require(_0x5bec('0x3'));var zipdir=require(_0x5bec('0x4'));var rimraf=require(_0x5bec('0x5'));var db=require(_0x5bec('0x6'))['db'];var dbH=require('../../mysqldb')[_0x5bec('0x7')];var logger=require(_0x5bec('0x8'))(_0x5bec('0x9'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x5bec('0xa')][0x3];var PATH=process[_0x5bec('0xa')][0x4];function analyticExtractedReport(_0x38456e,_0x406e65){var _0x43d96e={'status':_0x38456e};var _0x302aae={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x406e65){_0x43d96e[_0x5bec('0xb')]=_0x406e65;}return db[_0x5bec('0xc')]['update'](_0x43d96e,_0x302aae);}function main(){var _0x41a827=0x1388;var _0x5c2d67;logger[_0x5bec('0xd')](util[_0x5bec('0xe')](_0x5bec('0xf'),EXTRACTED_REPORT_ID,'CSV'));return db[_0x5bec('0x10')][_0x5bec('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x5bec('0x12'),'splitSizeCsv']})[_0x5bec('0x13')](function(_0x1c888f){if(_0x1c888f){_0x5c2d67=_0x1c888f;_0x41a827=_0x5c2d67['splitSizeCsv']||0x1388;}})[_0x5bec('0x13')](function(){return dbH[_0x5bec('0x14')][_0x5bec('0x15')](util[_0x5bec('0xe')](_0x5bec('0x16'),QUERY),{'type':dbH[_0x5bec('0x14')][_0x5bec('0x17')][_0x5bec('0x18')]});})[_0x5bec('0x13')](function(_0x3ebc41){if(!_0x3ebc41[0x0][_0x5bec('0x19')]){return analyticExtractedReport(_0x5bec('0x1a'));}var _0x11fb8e=[];var _0x506639=0x0;var _0x4ab821=!![];if(_0x3ebc41&&_0x3ebc41[_0x5bec('0x1b')]){var _0x773740=_0x3ebc41[0x0][_0x5bec('0x19')]%(_0x506639+_0x41a827);if(_0x5c2d67[_0x5bec('0x12')]){for(;_0x4ab821;_0x506639+=_0x41a827,_0x773740=_0x3ebc41[0x0]['num']%(_0x506639+_0x41a827)){if(_0x773740==0x0||_0x773740==_0x3ebc41[0x0]['num']){_0x4ab821=![];}_0x11fb8e[_0x5bec('0x1c')](dbH[_0x5bec('0x14')]['query'](util[_0x5bec('0xe')](_0x5bec('0x1d'),QUERY,_0x41a827,_0x506639),{'type':dbH[_0x5bec('0x14')][_0x5bec('0x17')]['SELECT']}));}}else{_0x11fb8e[_0x5bec('0x1c')](dbH['sequelize'][_0x5bec('0x15')](QUERY,{'type':dbH[_0x5bec('0x14')][_0x5bec('0x17')][_0x5bec('0x18')]}));}}var _0xfed23=path['dirname'](PATH);var _0x232584=path['basename'](PATH,_0x5bec('0x1e'));var _0x3ddb88=_0x5c2d67['split']&&_0x11fb8e[_0x5bec('0x1b')]>0x1;var _0xbef70b=[];if(!fs['existsSync'](path[_0x5bec('0x1f')](_0xfed23,_0x232584))&&_0x3ddb88){fs[_0x5bec('0x20')](path[_0x5bec('0x1f')](_0xfed23,_0x232584));}return BPromise[_0x5bec('0x21')](_0x11fb8e,function(_0x226d55){_0xbef70b[_0x5bec('0x1c')](_0x226d55);})[_0x5bec('0x13')](function(){for(var _0x4de66a=0x0;_0x4de66a<_0xbef70b['length'];_0x4de66a+=0x1){var _0x5e44b3;var _0x2961bd=_0xbef70b[_0x4de66a];if(_0x3ddb88){_0x5e44b3=path[_0x5bec('0x1f')](_0xfed23,_0x232584,util[_0x5bec('0xe')]('%s%d.%s',_0x232584,_0x4de66a,_0x5bec('0x22')));}else{_0x5e44b3=path[_0x5bec('0x1f')](_0xfed23,util['format'](_0x5bec('0x23'),_0x232584,_0x5bec('0x22')));}fs['writeFileSync'](_0x5e44b3,csv(_0x2961bd));}})['then'](function(){if(_0x3ddb88){zipdir(path[_0x5bec('0x1f')](_0xfed23,_0x232584),{'saveTo':path[_0x5bec('0x1f')](_0xfed23,util[_0x5bec('0xe')](_0x5bec('0x23'),_0x232584,_0x5bec('0x24')))},function(_0x3f224c,_0x5d6621){});rimraf(path[_0x5bec('0x1f')](_0xfed23,_0x232584),function(){});}})['then'](function(){logger[_0x5bec('0xd')](util[_0x5bec('0xe')](_0x5bec('0x25'),EXTRACTED_REPORT_ID,_0x5bec('0x26')));return analyticExtractedReport('Completed',_0x3ddb88?util[_0x5bec('0xe')](_0x5bec('0x23'),_0x232584,_0x3ddb88?_0x5bec('0x24'):'csv'):null);});})[_0x5bec('0x27')](function(_0x4cfb89){logger[_0x5bec('0xd')](util[_0x5bec('0xe')](_0x5bec('0x28'),EXTRACTED_REPORT_ID,'CSV'),util[_0x5bec('0x29')](_0x4cfb89,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x5bec('0x2a'));});}main();