Built motion from commit 775e2a94.|2.6.3
[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 _0xb120=['util','path','to-csv','zip-dir','rimraf','../../mysqldb','dbH','analytics','argv','savename','AnalyticExtractedReport','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','find','split','splitSizeCsv','then','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','num','Empty','range','isInteger','forEach','push','query','%s\x20limit\x20%d\x20OFFSET\x20%d','dirname','basename','.csv','length','existsSync','join','mkdirSync','%s%d.%s','%s.%s','zip','zip\x20finished','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','csv','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed'];(function(_0xc8a931,_0x260690){var _0x28bd27=function(_0x591b9f){while(--_0x591b9f){_0xc8a931['push'](_0xc8a931['shift']());}};_0x28bd27(++_0x260690);}(_0xb120,0x1f4));var _0x0b12=function(_0x21aacc,_0x4996ae){_0x21aacc=_0x21aacc-0x0;var _0x239061=_0xb120[_0x21aacc];return _0x239061;};'use strict';var util=require(_0x0b12('0x0'));var path=require(_0x0b12('0x1'));var _=require('lodash');var csv=require(_0x0b12('0x2'));var fs=require('fs');var BPromise=require('bluebird');var zipdir=require(_0x0b12('0x3'));var rimraf=require(_0x0b12('0x4'));var db=require(_0x0b12('0x5'))['db'];var dbH=require(_0x0b12('0x5'))[_0x0b12('0x6')];var logger=require('../../config/logger')(_0x0b12('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x0b12('0x8')][0x2]);var QUERY=process[_0x0b12('0x8')][0x3];var PATH=process[_0x0b12('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x346dc7,_0x471da7){var _0x4abb43={'status':_0x346dc7};var _0x37a074={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x471da7){_0x4abb43[_0x0b12('0x9')]=_0x471da7;}return db[_0x0b12('0xa')][_0x0b12('0xb')](_0x4abb43,_0x37a074);}function main(){var _0x4b2331=0x1388;var _0x474887;logger['info'](util[_0x0b12('0xc')](_0x0b12('0xd'),EXTRACTED_REPORT_ID,_0x0b12('0xe')));return db['Setting'][_0x0b12('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x0b12('0x10'),_0x0b12('0x11')]})['then'](function(_0x229b8a){if(_0x229b8a){_0x474887=_0x229b8a;_0x4b2331=_0x474887[_0x0b12('0x11')]||0x1388;}})[_0x0b12('0x12')](function(){return dbH['sequelize']['query'](util[_0x0b12('0xc')](_0x0b12('0x13'),QUERY),{'type':dbH[_0x0b12('0x14')][_0x0b12('0x15')][_0x0b12('0x16')]});})[_0x0b12('0x12')](function(_0x5f29b0){if(!_0x5f29b0[0x0][_0x0b12('0x17')]){return analyticExtractedReport(_0x0b12('0x18'));}var _0xa004ac=[];var _0x475af0=0x0;if(_0x474887['split']){if(_0x5f29b0&&_0x5f29b0['length']){var _0x18f5f5=_[_0x0b12('0x19')](_0x5f29b0[0x0][_0x0b12('0x17')]/_0x4b2331);var _0x3585a0=Number[_0x0b12('0x1a')](_0x5f29b0[0x0]['num']/_0x4b2331)?_0x5f29b0[0x0]['num']%_0x4b2331:0x0;_0x18f5f5[_0x0b12('0x1b')](function(_0x14a74f){if(_0x14a74f>0x0){_0x475af0+=_0x4b2331;}_0xa004ac[_0x0b12('0x1c')](dbH[_0x0b12('0x14')][_0x0b12('0x1d')](util[_0x0b12('0xc')](_0x0b12('0x1e'),QUERY,_0x4b2331,_0x475af0),{'type':dbH['sequelize'][_0x0b12('0x15')][_0x0b12('0x16')]}));});if(_0x3585a0>0x0){_0x475af0+=_0x4b2331;_0xa004ac[_0x0b12('0x1c')](dbH[_0x0b12('0x14')]['query'](util[_0x0b12('0xc')](_0x0b12('0x1e'),QUERY,_0x3585a0,_0x475af0),{'type':dbH[_0x0b12('0x14')][_0x0b12('0x15')][_0x0b12('0x16')]}));}}}else{_0xa004ac['push'](dbH[_0x0b12('0x14')][_0x0b12('0x1d')](QUERY,{'type':dbH[_0x0b12('0x14')]['QueryTypes'][_0x0b12('0x16')]}));}var _0x1e3b11=path[_0x0b12('0x1f')](PATH);var _0x1c58c6=path[_0x0b12('0x20')](PATH,_0x0b12('0x21'));var _0x4a164d=_0x474887[_0x0b12('0x10')]&&_0xa004ac[_0x0b12('0x22')]>0x1;var _0x26404b=[];if(!fs[_0x0b12('0x23')](path[_0x0b12('0x24')](_0x1e3b11,_0x1c58c6))&&_0x4a164d){fs[_0x0b12('0x25')](path[_0x0b12('0x24')](_0x1e3b11,_0x1c58c6));}return BPromise['each'](_0xa004ac,function(_0x246a4d){_0x26404b[_0x0b12('0x1c')](_0x246a4d);})[_0x0b12('0x12')](function(){for(var _0x506481=0x0;_0x506481<_0x26404b[_0x0b12('0x22')];_0x506481+=0x1){var _0x275248;var _0x1ccd4f=_0x26404b[_0x506481];if(_0x4a164d){_0x275248=path[_0x0b12('0x24')](_0x1e3b11,_0x1c58c6,util[_0x0b12('0xc')](_0x0b12('0x26'),_0x1c58c6,_0x506481,'csv'));}else{_0x275248=path[_0x0b12('0x24')](_0x1e3b11,util['format'](_0x0b12('0x27'),_0x1c58c6,'csv'));}fs['writeFileSync'](_0x275248,csv(_0x1ccd4f));}})[_0x0b12('0x12')](function(){if(_0x4a164d){return new Promise(function(_0x4fce7d){zipdir(path[_0x0b12('0x24')](_0x1e3b11,_0x1c58c6),{'saveTo':path[_0x0b12('0x24')](_0x1e3b11,util[_0x0b12('0xc')]('%s.%s',_0x1c58c6,_0x0b12('0x28')))},function(_0xff3fb9,_0x175c26){rimraf(path['join'](_0x1e3b11,_0x1c58c6),function(){});_0x4fce7d(_0x0b12('0x29'));});});}})['then'](function(){logger[_0x0b12('0x2a')](util[_0x0b12('0xc')](_0x0b12('0x2b'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0x0b12('0x2c'),_0x4a164d?util[_0x0b12('0xc')](_0x0b12('0x27'),_0x1c58c6,_0x4a164d?_0x0b12('0x28'):_0x0b12('0x2d')):null);});})[_0x0b12('0x2e')](function(_0x5011f1){logger['info'](util[_0x0b12('0xc')](_0x0b12('0x2f'),EXTRACTED_REPORT_ID,_0x0b12('0xe')),util[_0x0b12('0x30')](_0x5011f1,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0x0b12('0x31'));})['finally'](function(){process['exit'](EXIT_CODE);});}main();