8ea4f9cda23edec8a88d32486ce8c5f36eddd8c0
[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 _0xbd31=['format','zip','zip\x20finished','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','exit','util','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','argv','savename','AnalyticExtractedReport','update','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','splitSizeCsv','then','sequelize','query','QueryTypes','num','Empty','length','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','SELECT','dirname','basename','.csv','split','existsSync','mkdirSync','join','each','%s%d.%s','%s.%s','csv'];(function(_0x146bc6,_0x5768f3){var _0x30e7b3=function(_0x2ce9e1){while(--_0x2ce9e1){_0x146bc6['push'](_0x146bc6['shift']());}};_0x30e7b3(++_0x5768f3);}(_0xbd31,0x9f));var _0x1bd3=function(_0x55b429,_0x1d9dac){_0x55b429=_0x55b429-0x0;var _0x23ac45=_0xbd31[_0x55b429];return _0x23ac45;};'use strict';var util=require(_0x1bd3('0x0'));var path=require(_0x1bd3('0x1'));var _=require(_0x1bd3('0x2'));var csv=require(_0x1bd3('0x3'));var fs=require('fs');var BPromise=require(_0x1bd3('0x4'));var zipdir=require(_0x1bd3('0x5'));var rimraf=require(_0x1bd3('0x6'));var db=require(_0x1bd3('0x7'))['db'];var dbH=require(_0x1bd3('0x7'))[_0x1bd3('0x8')];var logger=require(_0x1bd3('0x9'))('analytics');var EXTRACTED_REPORT_ID=Number(process[_0x1bd3('0xa')][0x2]);var QUERY=process[_0x1bd3('0xa')][0x3];var PATH=process[_0x1bd3('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x2ab7cd,_0x3dc88e){var _0xdd8e99={'status':_0x2ab7cd};var _0x55f95e={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x3dc88e){_0xdd8e99[_0x1bd3('0xb')]=_0x3dc88e;}return db[_0x1bd3('0xc')][_0x1bd3('0xd')](_0xdd8e99,_0x55f95e);}function main(){var _0x4b67dc=0x1388;var _0x12694d;logger['info'](util['format'](_0x1bd3('0xe'),EXTRACTED_REPORT_ID,_0x1bd3('0xf')));return db[_0x1bd3('0x10')][_0x1bd3('0x11')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x1bd3('0x12')]})[_0x1bd3('0x13')](function(_0x675cb9){if(_0x675cb9){_0x12694d=_0x675cb9;_0x4b67dc=_0x12694d[_0x1bd3('0x12')]||0x1388;}})[_0x1bd3('0x13')](function(){return dbH[_0x1bd3('0x14')][_0x1bd3('0x15')](util['format']('SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t',QUERY),{'type':dbH[_0x1bd3('0x14')][_0x1bd3('0x16')]['SELECT']});})[_0x1bd3('0x13')](function(_0x50aa67){if(!_0x50aa67[0x0][_0x1bd3('0x17')]){return analyticExtractedReport(_0x1bd3('0x18'));}var _0x1613bb=[];var _0x419f41=0x0;if(_0x12694d['split']){if(_0x50aa67&&_0x50aa67[_0x1bd3('0x19')]){var _0x348d94=_['range'](_0x50aa67[0x0][_0x1bd3('0x17')]/_0x4b67dc);var _0x5ebc38=Number['isInteger'](_0x50aa67[0x0]['num']/_0x4b67dc)?_0x50aa67[0x0]['num']%_0x4b67dc:0x0;_0x348d94[_0x1bd3('0x1a')](function(_0x4b8bcf){if(_0x4b8bcf>0x0){_0x419f41+=_0x4b67dc;}_0x1613bb[_0x1bd3('0x1b')](dbH['sequelize']['query'](util['format'](_0x1bd3('0x1c'),QUERY,_0x4b67dc,_0x419f41),{'type':dbH[_0x1bd3('0x14')][_0x1bd3('0x16')][_0x1bd3('0x1d')]}));});if(_0x5ebc38>0x0){_0x419f41+=_0x4b67dc;_0x1613bb['push'](dbH['sequelize'][_0x1bd3('0x15')](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x5ebc38,_0x419f41),{'type':dbH[_0x1bd3('0x14')][_0x1bd3('0x16')][_0x1bd3('0x1d')]}));}}}else{_0x1613bb['push'](dbH['sequelize'][_0x1bd3('0x15')](QUERY,{'type':dbH['sequelize'][_0x1bd3('0x16')][_0x1bd3('0x1d')]}));}var _0x371fdb=path[_0x1bd3('0x1e')](PATH);var _0x1bbc67=path[_0x1bd3('0x1f')](PATH,_0x1bd3('0x20'));var _0x344ee6=_0x12694d[_0x1bd3('0x21')]&&_0x1613bb[_0x1bd3('0x19')]>0x1;var _0x294943=[];if(!fs[_0x1bd3('0x22')](path['join'](_0x371fdb,_0x1bbc67))&&_0x344ee6){fs[_0x1bd3('0x23')](path[_0x1bd3('0x24')](_0x371fdb,_0x1bbc67));}return BPromise[_0x1bd3('0x25')](_0x1613bb,function(_0x18439f){_0x294943[_0x1bd3('0x1b')](_0x18439f);})[_0x1bd3('0x13')](function(){for(var _0x2e8b9a=0x0;_0x2e8b9a<_0x294943[_0x1bd3('0x19')];_0x2e8b9a+=0x1){var _0x25a8c3;var _0x33f2c5=_0x294943[_0x2e8b9a];if(_0x344ee6){_0x25a8c3=path[_0x1bd3('0x24')](_0x371fdb,_0x1bbc67,util['format'](_0x1bd3('0x26'),_0x1bbc67,_0x2e8b9a,'csv'));}else{_0x25a8c3=path[_0x1bd3('0x24')](_0x371fdb,util['format'](_0x1bd3('0x27'),_0x1bbc67,_0x1bd3('0x28')));}fs['writeFileSync'](_0x25a8c3,csv(_0x33f2c5));}})['then'](function(){if(_0x344ee6){return new Promise(function(_0x530637){zipdir(path[_0x1bd3('0x24')](_0x371fdb,_0x1bbc67),{'saveTo':path['join'](_0x371fdb,util[_0x1bd3('0x29')](_0x1bd3('0x27'),_0x1bbc67,_0x1bd3('0x2a')))},function(_0x6b57e,_0x371391){rimraf(path[_0x1bd3('0x24')](_0x371fdb,_0x1bbc67),function(){});_0x530637(_0x1bd3('0x2b'));});});}})[_0x1bd3('0x13')](function(){logger['info'](util[_0x1bd3('0x29')](_0x1bd3('0x2c'),EXTRACTED_REPORT_ID,_0x1bd3('0xf')));return analyticExtractedReport(_0x1bd3('0x2d'),_0x344ee6?util[_0x1bd3('0x29')]('%s.%s',_0x1bbc67,_0x344ee6?_0x1bd3('0x2a'):_0x1bd3('0x28')):null);});})[_0x1bd3('0x2e')](function(_0x903e10){logger['info'](util[_0x1bd3('0x29')](_0x1bd3('0x2f'),EXTRACTED_REPORT_ID,_0x1bd3('0xf')),util[_0x1bd3('0x30')](_0x903e10,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})['finally'](function(){process[_0x1bd3('0x31')](EXIT_CODE);});}main();