Built motion from commit efa66e19.|2.6.22
[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 _0xa867=['SELECT','length','range','isInteger','num','forEach','%s\x20limit\x20%d\x20OFFSET\x20%d','push','dirname','basename','.csv','split','join','mkdirSync','%s%d.%s','csv','%s.%s','zip','zip\x20finished','info','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','exit','util','path','to-csv','bluebird','rimraf','../../mysqldb','dbH','analytics','argv','savename','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','then','splitSizeCsv','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes'];(function(_0x164387,_0x578d67){var _0x1328d0=function(_0x57c86b){while(--_0x57c86b){_0x164387['push'](_0x164387['shift']());}};_0x1328d0(++_0x578d67);}(_0xa867,0x19a));var _0x7a86=function(_0x508132,_0x22a4b6){_0x508132=_0x508132-0x0;var _0x467bfd=_0xa867[_0x508132];return _0x467bfd;};'use strict';var util=require(_0x7a86('0x0'));var path=require(_0x7a86('0x1'));var _=require('lodash');var csv=require(_0x7a86('0x2'));var fs=require('fs');var BPromise=require(_0x7a86('0x3'));var zipdir=require('zip-dir');var rimraf=require(_0x7a86('0x4'));var db=require(_0x7a86('0x5'))['db'];var dbH=require('../../mysqldb')[_0x7a86('0x6')];var logger=require('../../config/logger')(_0x7a86('0x7'));var EXTRACTED_REPORT_ID=Number(process[_0x7a86('0x8')][0x2]);var QUERY=process[_0x7a86('0x8')][0x3];var PATH=process['argv'][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x453008,_0x1cde38){var _0x250db3={'status':_0x453008};var _0x44eb9f={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1cde38){_0x250db3[_0x7a86('0x9')]=_0x1cde38;}return db['AnalyticExtractedReport'][_0x7a86('0xa')](_0x250db3,_0x44eb9f);}function main(){var _0x72c03f=0x1388;var _0x40bca1;logger['info'](util[_0x7a86('0xb')](_0x7a86('0xc'),EXTRACTED_REPORT_ID,_0x7a86('0xd')));return db[_0x7a86('0xe')][_0x7a86('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split','splitSizeCsv']})[_0x7a86('0x10')](function(_0x12bdc9){if(_0x12bdc9){_0x40bca1=_0x12bdc9;_0x72c03f=_0x40bca1[_0x7a86('0x11')]||0x1388;}})[_0x7a86('0x10')](function(){return dbH[_0x7a86('0x12')][_0x7a86('0x13')](util[_0x7a86('0xb')](_0x7a86('0x14'),QUERY),{'type':dbH[_0x7a86('0x12')][_0x7a86('0x15')][_0x7a86('0x16')]});})[_0x7a86('0x10')](function(_0x3d1f31){if(!_0x3d1f31[0x0]['num']){return analyticExtractedReport('Empty');}var _0x54f932=[];var _0x447f58=0x0;if(_0x40bca1['split']){if(_0x3d1f31&&_0x3d1f31[_0x7a86('0x17')]){var _0x45d8be=_[_0x7a86('0x18')](_0x3d1f31[0x0]['num']/_0x72c03f);var _0x596660=Number[_0x7a86('0x19')](_0x3d1f31[0x0][_0x7a86('0x1a')]/_0x72c03f)?_0x3d1f31[0x0][_0x7a86('0x1a')]%_0x72c03f:0x0;_0x45d8be[_0x7a86('0x1b')](function(_0x28d8ef){if(_0x28d8ef>0x0){_0x447f58+=_0x72c03f;}_0x54f932['push'](dbH[_0x7a86('0x12')][_0x7a86('0x13')](util[_0x7a86('0xb')](_0x7a86('0x1c'),QUERY,_0x72c03f,_0x447f58),{'type':dbH['sequelize']['QueryTypes'][_0x7a86('0x16')]}));});if(_0x596660>0x0){_0x447f58+=_0x72c03f;_0x54f932['push'](dbH[_0x7a86('0x12')][_0x7a86('0x13')](util['format'](_0x7a86('0x1c'),QUERY,_0x596660,_0x447f58),{'type':dbH[_0x7a86('0x12')]['QueryTypes'][_0x7a86('0x16')]}));}}}else{_0x54f932[_0x7a86('0x1d')](dbH[_0x7a86('0x12')][_0x7a86('0x13')](QUERY,{'type':dbH[_0x7a86('0x12')][_0x7a86('0x15')][_0x7a86('0x16')]}));}var _0x29722c=path[_0x7a86('0x1e')](PATH);var _0x4c1336=path[_0x7a86('0x1f')](PATH,_0x7a86('0x20'));var _0x2f6236=_0x40bca1[_0x7a86('0x21')]&&_0x54f932['length']>0x1;var _0x1aff34=[];if(!fs['existsSync'](path[_0x7a86('0x22')](_0x29722c,_0x4c1336))&&_0x2f6236){fs[_0x7a86('0x23')](path['join'](_0x29722c,_0x4c1336));}return BPromise['each'](_0x54f932,function(_0x2a7c2b){_0x1aff34[_0x7a86('0x1d')](_0x2a7c2b);})[_0x7a86('0x10')](function(){for(var _0x5e4f7a=0x0;_0x5e4f7a<_0x1aff34[_0x7a86('0x17')];_0x5e4f7a+=0x1){var _0x55a1df;var _0x1e9a66=_0x1aff34[_0x5e4f7a];if(_0x2f6236){_0x55a1df=path[_0x7a86('0x22')](_0x29722c,_0x4c1336,util['format'](_0x7a86('0x24'),_0x4c1336,_0x5e4f7a,_0x7a86('0x25')));}else{_0x55a1df=path[_0x7a86('0x22')](_0x29722c,util['format'](_0x7a86('0x26'),_0x4c1336,_0x7a86('0x25')));}fs['writeFileSync'](_0x55a1df,csv(_0x1e9a66));}})[_0x7a86('0x10')](function(){if(_0x2f6236){return new Promise(function(_0x1c126c){zipdir(path[_0x7a86('0x22')](_0x29722c,_0x4c1336),{'saveTo':path[_0x7a86('0x22')](_0x29722c,util[_0x7a86('0xb')]('%s.%s',_0x4c1336,_0x7a86('0x27')))},function(_0x358a09,_0x4d1a73){rimraf(path[_0x7a86('0x22')](_0x29722c,_0x4c1336),function(){});_0x1c126c(_0x7a86('0x28'));});});}})[_0x7a86('0x10')](function(){logger[_0x7a86('0x29')](util[_0x7a86('0xb')](_0x7a86('0x2a'),EXTRACTED_REPORT_ID,_0x7a86('0xd')));return analyticExtractedReport(_0x7a86('0x2b'),_0x2f6236?util[_0x7a86('0xb')](_0x7a86('0x26'),_0x4c1336,_0x2f6236?'zip':_0x7a86('0x25')):null);});})[_0x7a86('0x2c')](function(_0x138e37){logger[_0x7a86('0x29')](util['format'](_0x7a86('0x2d'),EXTRACTED_REPORT_ID,_0x7a86('0xd')),util[_0x7a86('0x2e')](_0x138e37,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport('Failed');})['finally'](function(){process[_0x7a86('0x2f')](EXIT_CODE);});}main();