Built motion from commit 10af8726.|2.6.34
[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 _0xcade=['push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','.csv','existsSync','join','mkdirSync','each','csv','%s.%s','writeFileSync','zip\x20finished','CSV','Completed','zip','catch','inspect','Failed','finally','exit','util','path','lodash','to-csv','bluebird','zip-dir','rimraf','../../mysqldb','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','Setting','find','then','splitSizeCsv','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','split','length','range','forEach'];(function(_0x58e751,_0x44e565){var _0x4d9b00=function(_0x5a40e5){while(--_0x5a40e5){_0x58e751['push'](_0x58e751['shift']());}};_0x4d9b00(++_0x44e565);}(_0xcade,0xb1));var _0xecad=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xcade[_0x3dd15e];return _0x231fd0;};'use strict';var util=require(_0xecad('0x0'));var path=require(_0xecad('0x1'));var _=require(_0xecad('0x2'));var csv=require(_0xecad('0x3'));var fs=require('fs');var BPromise=require(_0xecad('0x4'));var zipdir=require(_0xecad('0x5'));var rimraf=require(_0xecad('0x6'));var db=require(_0xecad('0x7'))['db'];var dbH=require(_0xecad('0x7'))['dbH'];var logger=require(_0xecad('0x8'))(_0xecad('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0xecad('0xa')][0x2]);var QUERY=process['argv'][0x3];var PATH=process[_0xecad('0xa')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x466fb5,_0x5d9539){var _0x53a006={'status':_0x466fb5};var _0x59ed09={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x5d9539){_0x53a006[_0xecad('0xb')]=_0x5d9539;}return db[_0xecad('0xc')][_0xecad('0xd')](_0x53a006,_0x59ed09);}function main(){var _0x153ada=0x1388;var _0x45d5d5;logger[_0xecad('0xe')](util[_0xecad('0xf')](_0xecad('0x10'),EXTRACTED_REPORT_ID,'CSV'));return db[_0xecad('0x11')][_0xecad('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeCsv']})[_0xecad('0x13')](function(_0x52bedd){if(_0x52bedd){_0x45d5d5=_0x52bedd;_0x153ada=_0x45d5d5[_0xecad('0x14')]||0x1388;}})[_0xecad('0x13')](function(){return dbH[_0xecad('0x15')]['query'](util['format'](_0xecad('0x16'),QUERY),{'type':dbH[_0xecad('0x15')][_0xecad('0x17')][_0xecad('0x18')]});})['then'](function(_0x20b5d8){if(!_0x20b5d8[0x0][_0xecad('0x19')]){return analyticExtractedReport(_0xecad('0x1a'));}var _0x564560=[];var _0x6b1e7f=0x0;if(_0x45d5d5[_0xecad('0x1b')]){if(_0x20b5d8&&_0x20b5d8[_0xecad('0x1c')]){var _0x4f7ab8=_[_0xecad('0x1d')](_0x20b5d8[0x0][_0xecad('0x19')]/_0x153ada);var _0x1b5d8b=Number['isInteger'](_0x20b5d8[0x0]['num']/_0x153ada)?_0x20b5d8[0x0][_0xecad('0x19')]%_0x153ada:0x0;_0x4f7ab8[_0xecad('0x1e')](function(_0x14b763){if(_0x14b763>0x0){_0x6b1e7f+=_0x153ada;}_0x564560[_0xecad('0x1f')](dbH[_0xecad('0x15')][_0xecad('0x20')](util[_0xecad('0xf')](_0xecad('0x21'),QUERY,_0x153ada,_0x6b1e7f),{'type':dbH['sequelize'][_0xecad('0x17')]['SELECT']}));});if(_0x1b5d8b>0x0){_0x6b1e7f+=_0x153ada;_0x564560[_0xecad('0x1f')](dbH[_0xecad('0x15')][_0xecad('0x20')](util[_0xecad('0xf')](_0xecad('0x21'),QUERY,_0x1b5d8b,_0x6b1e7f),{'type':dbH['sequelize'][_0xecad('0x17')][_0xecad('0x18')]}));}}}else{_0x564560[_0xecad('0x1f')](dbH[_0xecad('0x15')]['query'](QUERY,{'type':dbH[_0xecad('0x15')][_0xecad('0x17')]['SELECT']}));}var _0x504d67=path[_0xecad('0x22')](PATH);var _0x1e2d6f=path['basename'](PATH,_0xecad('0x23'));var _0x5518fc=_0x45d5d5[_0xecad('0x1b')]&&_0x564560[_0xecad('0x1c')]>0x1;var _0x458acd=[];if(!fs[_0xecad('0x24')](path[_0xecad('0x25')](_0x504d67,_0x1e2d6f))&&_0x5518fc){fs[_0xecad('0x26')](path[_0xecad('0x25')](_0x504d67,_0x1e2d6f));}return BPromise[_0xecad('0x27')](_0x564560,function(_0x34381b){_0x458acd[_0xecad('0x1f')](_0x34381b);})[_0xecad('0x13')](function(){for(var _0x520c6f=0x0;_0x520c6f<_0x458acd[_0xecad('0x1c')];_0x520c6f+=0x1){var _0x2e982a;var _0x6a3a9d=_0x458acd[_0x520c6f];if(_0x5518fc){_0x2e982a=path['join'](_0x504d67,_0x1e2d6f,util[_0xecad('0xf')]('%s%d.%s',_0x1e2d6f,_0x520c6f,_0xecad('0x28')));}else{_0x2e982a=path[_0xecad('0x25')](_0x504d67,util['format'](_0xecad('0x29'),_0x1e2d6f,_0xecad('0x28')));}fs[_0xecad('0x2a')](_0x2e982a,csv(_0x6a3a9d));}})['then'](function(){if(_0x5518fc){return new Promise(function(_0x48784d){zipdir(path[_0xecad('0x25')](_0x504d67,_0x1e2d6f),{'saveTo':path[_0xecad('0x25')](_0x504d67,util[_0xecad('0xf')](_0xecad('0x29'),_0x1e2d6f,'zip'))},function(_0x11ccb6,_0xfd96da){rimraf(path[_0xecad('0x25')](_0x504d67,_0x1e2d6f),function(){});_0x48784d(_0xecad('0x2b'));});});}})[_0xecad('0x13')](function(){logger['info'](util[_0xecad('0xf')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0xecad('0x2c')));return analyticExtractedReport(_0xecad('0x2d'),_0x5518fc?util[_0xecad('0xf')](_0xecad('0x29'),_0x1e2d6f,_0x5518fc?_0xecad('0x2e'):_0xecad('0x28')):null);});})[_0xecad('0x2f')](function(_0x5384e5){logger[_0xecad('0xe')](util[_0xecad('0xf')]('Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,'CSV'),util[_0xecad('0x30')](_0x5384e5,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xecad('0x31'));})[_0xecad('0x32')](function(){process[_0xecad('0x33')](EXIT_CODE);});}main();