Built motion from commit ab870f9e.|2.5.44
[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 _0x4f3e=['then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','range','forEach','push','%s\x20limit\x20%d\x20OFFSET\x20%d','sequelize','dirname','.csv','existsSync','join','mkdirSync','each','%s%d.%s','writeFileSync','zip','CSV','Completed','csv','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','util','path','lodash','to-csv','zip-dir','../../mysqldb','../../config/logger','analytics','argv','savename','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','split','splitSizeCsv'];(function(_0x1b2947,_0x2cadb3){var _0x4dc3a9=function(_0x26eff1){while(--_0x26eff1){_0x1b2947['push'](_0x1b2947['shift']());}};_0x4dc3a9(++_0x2cadb3);}(_0x4f3e,0xaa));var _0xe4f3=function(_0x5ec4be,_0xf2bd81){_0x5ec4be=_0x5ec4be-0x0;var _0x31be90=_0x4f3e[_0x5ec4be];return _0x31be90;};'use strict';var util=require(_0xe4f3('0x0'));var path=require(_0xe4f3('0x1'));var _=require(_0xe4f3('0x2'));var csv=require(_0xe4f3('0x3'));var fs=require('fs');var BPromise=require('bluebird');var zipdir=require(_0xe4f3('0x4'));var rimraf=require('rimraf');var db=require(_0xe4f3('0x5'))['db'];var dbH=require(_0xe4f3('0x5'))['dbH'];var logger=require(_0xe4f3('0x6'))(_0xe4f3('0x7'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xe4f3('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x3871ac,_0xb1a75){var _0x7060cc={'status':_0x3871ac};var _0x16e293={'where':{'id':EXTRACTED_REPORT_ID}};if(_0xb1a75){_0x7060cc[_0xe4f3('0x9')]=_0xb1a75;}return db['AnalyticExtractedReport'][_0xe4f3('0xa')](_0x7060cc,_0x16e293);}function main(){var _0x143b8d=0x1388;var _0x526406;logger[_0xe4f3('0xb')](util[_0xe4f3('0xc')](_0xe4f3('0xd'),EXTRACTED_REPORT_ID,'CSV'));return db[_0xe4f3('0xe')][_0xe4f3('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xe4f3('0x10'),_0xe4f3('0x11')]})[_0xe4f3('0x12')](function(_0x2363ce){if(_0x2363ce){_0x526406=_0x2363ce;_0x143b8d=_0x526406['splitSizeCsv']||0x1388;}})[_0xe4f3('0x12')](function(){return dbH['sequelize'][_0xe4f3('0x13')](util['format'](_0xe4f3('0x14'),QUERY),{'type':dbH['sequelize'][_0xe4f3('0x15')][_0xe4f3('0x16')]});})[_0xe4f3('0x12')](function(_0x4a78c6){if(!_0x4a78c6[0x0][_0xe4f3('0x17')]){return analyticExtractedReport(_0xe4f3('0x18'));}var _0x2c0127=[];var _0x2369fe=0x0;if(_0x526406['split']){if(_0x4a78c6&&_0x4a78c6[_0xe4f3('0x19')]){var _0x539722=_[_0xe4f3('0x1a')](_0x4a78c6[0x0][_0xe4f3('0x17')]/_0x143b8d);var _0x2e6192=Number['isInteger'](_0x4a78c6[0x0][_0xe4f3('0x17')]/_0x143b8d)?_0x4a78c6[0x0][_0xe4f3('0x17')]%_0x143b8d:0x0;_0x539722[_0xe4f3('0x1b')](function(_0x4d217a){if(_0x4d217a>0x0){_0x2369fe+=_0x143b8d;}_0x2c0127[_0xe4f3('0x1c')](dbH['sequelize']['query'](util['format'](_0xe4f3('0x1d'),QUERY,_0x143b8d,_0x2369fe),{'type':dbH[_0xe4f3('0x1e')][_0xe4f3('0x15')][_0xe4f3('0x16')]}));});if(_0x2e6192>0x0){_0x2369fe+=_0x143b8d;_0x2c0127[_0xe4f3('0x1c')](dbH[_0xe4f3('0x1e')]['query'](util['format']('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x2e6192,_0x2369fe),{'type':dbH[_0xe4f3('0x1e')][_0xe4f3('0x15')][_0xe4f3('0x16')]}));}}}else{_0x2c0127[_0xe4f3('0x1c')](dbH['sequelize'][_0xe4f3('0x13')](QUERY,{'type':dbH[_0xe4f3('0x1e')][_0xe4f3('0x15')]['SELECT']}));}var _0x1bce9c=path[_0xe4f3('0x1f')](PATH);var _0x3b2217=path['basename'](PATH,_0xe4f3('0x20'));var _0x49bb13=_0x526406[_0xe4f3('0x10')]&&_0x2c0127['length']>0x1;var _0x327c96=[];if(!fs[_0xe4f3('0x21')](path[_0xe4f3('0x22')](_0x1bce9c,_0x3b2217))&&_0x49bb13){fs[_0xe4f3('0x23')](path[_0xe4f3('0x22')](_0x1bce9c,_0x3b2217));}return BPromise[_0xe4f3('0x24')](_0x2c0127,function(_0x4b3cc8){_0x327c96[_0xe4f3('0x1c')](_0x4b3cc8);})['then'](function(){for(var _0x13901b=0x0;_0x13901b<_0x327c96['length'];_0x13901b+=0x1){var _0x302d3b;var _0x3f32e7=_0x327c96[_0x13901b];if(_0x49bb13){_0x302d3b=path[_0xe4f3('0x22')](_0x1bce9c,_0x3b2217,util[_0xe4f3('0xc')](_0xe4f3('0x25'),_0x3b2217,_0x13901b,'csv'));}else{_0x302d3b=path[_0xe4f3('0x22')](_0x1bce9c,util[_0xe4f3('0xc')]('%s.%s',_0x3b2217,'csv'));}fs[_0xe4f3('0x26')](_0x302d3b,csv(_0x3f32e7));}})['then'](function(){if(_0x49bb13){return new Promise(function(_0x5f03da){zipdir(path['join'](_0x1bce9c,_0x3b2217),{'saveTo':path['join'](_0x1bce9c,util[_0xe4f3('0xc')]('%s.%s',_0x3b2217,_0xe4f3('0x27')))},function(_0x532ab8,_0x207dad){rimraf(path[_0xe4f3('0x22')](_0x1bce9c,_0x3b2217),function(){});_0x5f03da('zip\x20finished');});});}})[_0xe4f3('0x12')](function(){logger[_0xe4f3('0xb')](util['format']('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0xe4f3('0x28')));return analyticExtractedReport(_0xe4f3('0x29'),_0x49bb13?util['format']('%s.%s',_0x3b2217,_0x49bb13?_0xe4f3('0x27'):_0xe4f3('0x2a')):null);});})['catch'](function(_0x30e1b4){logger['info'](util[_0xe4f3('0xc')](_0xe4f3('0x2b'),EXTRACTED_REPORT_ID,_0xe4f3('0x28')),util[_0xe4f3('0x2c')](_0x30e1b4,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xe4f3('0x2d'));})[_0xe4f3('0x2e')](function(){process['exit'](EXIT_CODE);});}main();