Built motion from commit 994c64e1.|2.6.1
[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 _0xa287=['dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','find','split','splitSizeCsv','then','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','sequelize','QueryTypes','SELECT','num','Empty','length','range','isInteger','%s\x20limit\x20%d\x20OFFSET\x20%d','push','existsSync','join','each','%s%d.%s','csv','%s.%s','writeFileSync','zip','zip\x20finished','Completed','info','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','finally','path','to-csv','bluebird','rimraf','../../mysqldb'];(function(_0x1efc8c,_0x46e5ef){var _0x2f2ace=function(_0x1623a4){while(--_0x1623a4){_0x1efc8c['push'](_0x1efc8c['shift']());}};_0x2f2ace(++_0x46e5ef);}(_0xa287,0x109));var _0x7a28=function(_0x14476b,_0xd1a7a4){_0x14476b=_0x14476b-0x0;var _0x24e2e8=_0xa287[_0x14476b];return _0x24e2e8;};'use strict';var util=require('util');var path=require(_0x7a28('0x0'));var _=require('lodash');var csv=require(_0x7a28('0x1'));var fs=require('fs');var BPromise=require(_0x7a28('0x2'));var zipdir=require('zip-dir');var rimraf=require(_0x7a28('0x3'));var db=require('../../mysqldb')['db'];var dbH=require(_0x7a28('0x4'))[_0x7a28('0x5')];var logger=require(_0x7a28('0x6'))(_0x7a28('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x7a28('0x8')][0x2]);var QUERY=process[_0x7a28('0x8')][0x3];var PATH=process[_0x7a28('0x8')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x35e5f4,_0x4466b4){var _0x6f31e8={'status':_0x35e5f4};var _0x167bd6={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x4466b4){_0x6f31e8[_0x7a28('0x9')]=_0x4466b4;}return db[_0x7a28('0xa')][_0x7a28('0xb')](_0x6f31e8,_0x167bd6);}function main(){var _0x26c5f0=0x1388;var _0x3003c1;logger['info'](util[_0x7a28('0xc')](_0x7a28('0xd'),EXTRACTED_REPORT_ID,_0x7a28('0xe')));return db['Setting'][_0x7a28('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x7a28('0x10'),_0x7a28('0x11')]})[_0x7a28('0x12')](function(_0x446199){if(_0x446199){_0x3003c1=_0x446199;_0x26c5f0=_0x3003c1[_0x7a28('0x11')]||0x1388;}})['then'](function(){return dbH['sequelize'][_0x7a28('0x13')](util[_0x7a28('0xc')](_0x7a28('0x14'),QUERY),{'type':dbH[_0x7a28('0x15')][_0x7a28('0x16')][_0x7a28('0x17')]});})['then'](function(_0x1be007){if(!_0x1be007[0x0][_0x7a28('0x18')]){return analyticExtractedReport(_0x7a28('0x19'));}var _0x4f39a2=[];var _0x1049cb=0x0;if(_0x3003c1['split']){if(_0x1be007&&_0x1be007[_0x7a28('0x1a')]){var _0x1e4c29=_[_0x7a28('0x1b')](_0x1be007[0x0][_0x7a28('0x18')]/_0x26c5f0);var _0x1cf544=Number[_0x7a28('0x1c')](_0x1be007[0x0][_0x7a28('0x18')]/_0x26c5f0)?_0x1be007[0x0][_0x7a28('0x18')]%_0x26c5f0:0x0;_0x1e4c29['forEach'](function(_0x966b3f){if(_0x966b3f>0x0){_0x1049cb+=_0x26c5f0;}_0x4f39a2['push'](dbH[_0x7a28('0x15')][_0x7a28('0x13')](util[_0x7a28('0xc')](_0x7a28('0x1d'),QUERY,_0x26c5f0,_0x1049cb),{'type':dbH['sequelize'][_0x7a28('0x16')][_0x7a28('0x17')]}));});if(_0x1cf544>0x0){_0x1049cb+=_0x26c5f0;_0x4f39a2[_0x7a28('0x1e')](dbH[_0x7a28('0x15')][_0x7a28('0x13')](util[_0x7a28('0xc')](_0x7a28('0x1d'),QUERY,_0x1cf544,_0x1049cb),{'type':dbH[_0x7a28('0x15')][_0x7a28('0x16')][_0x7a28('0x17')]}));}}}else{_0x4f39a2[_0x7a28('0x1e')](dbH[_0x7a28('0x15')][_0x7a28('0x13')](QUERY,{'type':dbH[_0x7a28('0x15')][_0x7a28('0x16')][_0x7a28('0x17')]}));}var _0x459001=path['dirname'](PATH);var _0x1ea47f=path['basename'](PATH,'.csv');var _0x44d6dd=_0x3003c1[_0x7a28('0x10')]&&_0x4f39a2[_0x7a28('0x1a')]>0x1;var _0x2c13d0=[];if(!fs[_0x7a28('0x1f')](path[_0x7a28('0x20')](_0x459001,_0x1ea47f))&&_0x44d6dd){fs['mkdirSync'](path[_0x7a28('0x20')](_0x459001,_0x1ea47f));}return BPromise[_0x7a28('0x21')](_0x4f39a2,function(_0x142375){_0x2c13d0[_0x7a28('0x1e')](_0x142375);})[_0x7a28('0x12')](function(){for(var _0x577a0d=0x0;_0x577a0d<_0x2c13d0[_0x7a28('0x1a')];_0x577a0d+=0x1){var _0x148e2d;var _0x4a1bad=_0x2c13d0[_0x577a0d];if(_0x44d6dd){_0x148e2d=path[_0x7a28('0x20')](_0x459001,_0x1ea47f,util[_0x7a28('0xc')](_0x7a28('0x22'),_0x1ea47f,_0x577a0d,_0x7a28('0x23')));}else{_0x148e2d=path['join'](_0x459001,util['format'](_0x7a28('0x24'),_0x1ea47f,_0x7a28('0x23')));}fs[_0x7a28('0x25')](_0x148e2d,csv(_0x4a1bad));}})[_0x7a28('0x12')](function(){if(_0x44d6dd){return new Promise(function(_0x2fe8f5){zipdir(path[_0x7a28('0x20')](_0x459001,_0x1ea47f),{'saveTo':path[_0x7a28('0x20')](_0x459001,util[_0x7a28('0xc')](_0x7a28('0x24'),_0x1ea47f,_0x7a28('0x26')))},function(_0x28fafc,_0x31c0da){rimraf(path['join'](_0x459001,_0x1ea47f),function(){});_0x2fe8f5(_0x7a28('0x27'));});});}})['then'](function(){logger['info'](util[_0x7a28('0xc')]('Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed',EXTRACTED_REPORT_ID,_0x7a28('0xe')));return analyticExtractedReport(_0x7a28('0x28'),_0x44d6dd?util[_0x7a28('0xc')](_0x7a28('0x24'),_0x1ea47f,_0x44d6dd?_0x7a28('0x26'):_0x7a28('0x23')):null);});})['catch'](function(_0x8df3e2){logger[_0x7a28('0x29')](util['format'](_0x7a28('0x2a'),EXTRACTED_REPORT_ID,_0x7a28('0xe')),util[_0x7a28('0x2b')](_0x8df3e2,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})[_0x7a28('0x2c')](function(){process['exit'](EXIT_CODE);});}main();