Built motion from commit a679711e.|2.6.15
[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 _0xff56=['dirname','basename','.csv','existsSync','join','each','%s%d.%s','csv','writeFileSync','zip','zip\x20finished','Completed','%s.%s','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','exit','path','lodash','bluebird','zip-dir','rimraf','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','CSV','find','splitSizeCsv','then','sequelize','query','format','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','split','length','range','isInteger','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','push'];(function(_0x2c5d57,_0x593528){var _0x27578d=function(_0x59a464){while(--_0x59a464){_0x2c5d57['push'](_0x2c5d57['shift']());}};_0x27578d(++_0x593528);}(_0xff56,0x79));var _0x6ff5=function(_0x39078d,_0x258226){_0x39078d=_0x39078d-0x0;var _0x25d9ac=_0xff56[_0x39078d];return _0x25d9ac;};'use strict';var util=require('util');var path=require(_0x6ff5('0x0'));var _=require(_0x6ff5('0x1'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0x6ff5('0x2'));var zipdir=require(_0x6ff5('0x3'));var rimraf=require(_0x6ff5('0x4'));var db=require('../../mysqldb')['db'];var dbH=require('../../mysqldb')[_0x6ff5('0x5')];var logger=require(_0x6ff5('0x6'))(_0x6ff5('0x7'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x6ff5('0x8')][0x3];var PATH=process[_0x6ff5('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x532675,_0xd139bc){var _0xfc87e5={'status':_0x532675};var _0x26eb34={'where':{'id':EXTRACTED_REPORT_ID}};if(_0xd139bc){_0xfc87e5[_0x6ff5('0x9')]=_0xd139bc;}return db[_0x6ff5('0xa')][_0x6ff5('0xb')](_0xfc87e5,_0x26eb34);}function main(){var _0x21fc5f=0x1388;var _0x305225;logger[_0x6ff5('0xc')](util['format']('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x6ff5('0xd')));return db['Setting'][_0x6ff5('0xe')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0x6ff5('0xf')]})[_0x6ff5('0x10')](function(_0xb258da){if(_0xb258da){_0x305225=_0xb258da;_0x21fc5f=_0x305225[_0x6ff5('0xf')]||0x1388;}})['then'](function(){return dbH[_0x6ff5('0x11')][_0x6ff5('0x12')](util[_0x6ff5('0x13')](_0x6ff5('0x14'),QUERY),{'type':dbH[_0x6ff5('0x11')][_0x6ff5('0x15')][_0x6ff5('0x16')]});})[_0x6ff5('0x10')](function(_0x2a0f7e){if(!_0x2a0f7e[0x0][_0x6ff5('0x17')]){return analyticExtractedReport(_0x6ff5('0x18'));}var _0x34d342=[];var _0x822da7=0x0;if(_0x305225[_0x6ff5('0x19')]){if(_0x2a0f7e&&_0x2a0f7e[_0x6ff5('0x1a')]){var _0xd922a2=_[_0x6ff5('0x1b')](_0x2a0f7e[0x0][_0x6ff5('0x17')]/_0x21fc5f);var _0x13c2a6=Number[_0x6ff5('0x1c')](_0x2a0f7e[0x0][_0x6ff5('0x17')]/_0x21fc5f)?_0x2a0f7e[0x0][_0x6ff5('0x17')]%_0x21fc5f:0x0;_0xd922a2[_0x6ff5('0x1d')](function(_0x1b614f){if(_0x1b614f>0x0){_0x822da7+=_0x21fc5f;}_0x34d342['push'](dbH[_0x6ff5('0x11')][_0x6ff5('0x12')](util['format'](_0x6ff5('0x1e'),QUERY,_0x21fc5f,_0x822da7),{'type':dbH[_0x6ff5('0x11')][_0x6ff5('0x15')][_0x6ff5('0x16')]}));});if(_0x13c2a6>0x0){_0x822da7+=_0x21fc5f;_0x34d342[_0x6ff5('0x1f')](dbH['sequelize']['query'](util[_0x6ff5('0x13')]('%s\x20limit\x20%d\x20OFFSET\x20%d',QUERY,_0x13c2a6,_0x822da7),{'type':dbH[_0x6ff5('0x11')][_0x6ff5('0x15')]['SELECT']}));}}}else{_0x34d342[_0x6ff5('0x1f')](dbH['sequelize'][_0x6ff5('0x12')](QUERY,{'type':dbH[_0x6ff5('0x11')][_0x6ff5('0x15')][_0x6ff5('0x16')]}));}var _0x105dd3=path[_0x6ff5('0x20')](PATH);var _0xd9232e=path[_0x6ff5('0x21')](PATH,_0x6ff5('0x22'));var _0x586168=_0x305225['split']&&_0x34d342[_0x6ff5('0x1a')]>0x1;var _0x3ab847=[];if(!fs[_0x6ff5('0x23')](path[_0x6ff5('0x24')](_0x105dd3,_0xd9232e))&&_0x586168){fs['mkdirSync'](path[_0x6ff5('0x24')](_0x105dd3,_0xd9232e));}return BPromise[_0x6ff5('0x25')](_0x34d342,function(_0x38db15){_0x3ab847['push'](_0x38db15);})[_0x6ff5('0x10')](function(){for(var _0x23c46f=0x0;_0x23c46f<_0x3ab847[_0x6ff5('0x1a')];_0x23c46f+=0x1){var _0xb8e845;var _0x4ea0a7=_0x3ab847[_0x23c46f];if(_0x586168){_0xb8e845=path['join'](_0x105dd3,_0xd9232e,util[_0x6ff5('0x13')](_0x6ff5('0x26'),_0xd9232e,_0x23c46f,_0x6ff5('0x27')));}else{_0xb8e845=path['join'](_0x105dd3,util[_0x6ff5('0x13')]('%s.%s',_0xd9232e,_0x6ff5('0x27')));}fs[_0x6ff5('0x28')](_0xb8e845,csv(_0x4ea0a7));}})[_0x6ff5('0x10')](function(){if(_0x586168){return new Promise(function(_0x2e989e){zipdir(path[_0x6ff5('0x24')](_0x105dd3,_0xd9232e),{'saveTo':path[_0x6ff5('0x24')](_0x105dd3,util[_0x6ff5('0x13')]('%s.%s',_0xd9232e,_0x6ff5('0x29')))},function(_0x1928b3,_0x384e0e){rimraf(path[_0x6ff5('0x24')](_0x105dd3,_0xd9232e),function(){});_0x2e989e(_0x6ff5('0x2a'));});});}})[_0x6ff5('0x10')](function(){logger[_0x6ff5('0xc')](util[_0x6ff5('0x13')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0x6ff5('0xd')));return analyticExtractedReport(_0x6ff5('0x2b'),_0x586168?util[_0x6ff5('0x13')](_0x6ff5('0x2c'),_0xd9232e,_0x586168?_0x6ff5('0x29'):_0x6ff5('0x27')):null);});})[_0x6ff5('0x2d')](function(_0x4c7439){logger['info'](util[_0x6ff5('0x13')](_0x6ff5('0x2e'),EXTRACTED_REPORT_ID,_0x6ff5('0xd')),util[_0x6ff5('0x2f')](_0x4c7439,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x6ff5('0x30'));})[_0x6ff5('0x31')](function(){process[_0x6ff5('0x32')](EXIT_CODE);});}main();