Built motion from commit (unavailable).|2.5.29
[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 _0x667a=['argv','savename','AnalyticExtractedReport','update','info','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','splitSizeCsv','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','num','Empty','length','split','%s\x20limit\x20%d\x20OFFSET\x20%d','existsSync','join','mkdirSync','each','%s%d.%s','csv','%s.%s','Extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format\x20completed','Completed','zip','catch','Error\x20during\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','inspect','Failed','finally','path','lodash','bluebird','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics'];(function(_0x13d07a,_0x41efc3){var _0x5ee0ee=function(_0x4ca94a){while(--_0x4ca94a){_0x13d07a['push'](_0x13d07a['shift']());}};_0x5ee0ee(++_0x41efc3);}(_0x667a,0x167));var _0xa667=function(_0x5f09c5,_0x2bfca0){_0x5f09c5=_0x5f09c5-0x0;var _0x426ad9=_0x667a[_0x5f09c5];return _0x426ad9;};'use strict';var util=require('util');var path=require(_0xa667('0x0'));var _=require(_0xa667('0x1'));var csv=require('to-csv');var fs=require('fs');var BPromise=require(_0xa667('0x2'));var zipdir=require(_0xa667('0x3'));var rimraf=require(_0xa667('0x4'));var db=require(_0xa667('0x5'))['db'];var dbH=require('../../mysqldb')[_0xa667('0x6')];var logger=require(_0xa667('0x7'))(_0xa667('0x8'));var EXTRACTED_REPORT_ID=Number(process[_0xa667('0x9')][0x2]);var QUERY=process[_0xa667('0x9')][0x3];var PATH=process[_0xa667('0x9')][0x4];var EXIT_CODE=0x0;function analyticExtractedReport(_0x505da4,_0x27e108){var _0x4cf7df={'status':_0x505da4};var _0x12495c={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x27e108){_0x4cf7df[_0xa667('0xa')]=_0x27e108;}return db[_0xa667('0xb')][_0xa667('0xc')](_0x4cf7df,_0x12495c);}function main(){var _0x517123=0x1388;var _0x4c4672;logger[_0xa667('0xd')](util[_0xa667('0xe')](_0xa667('0xf'),EXTRACTED_REPORT_ID,_0xa667('0x10')));return db[_0xa667('0x11')][_0xa667('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id','split',_0xa667('0x13')]})[_0xa667('0x14')](function(_0x48b514){if(_0x48b514){_0x4c4672=_0x48b514;_0x517123=_0x4c4672[_0xa667('0x13')]||0x1388;}})[_0xa667('0x14')](function(){return dbH[_0xa667('0x15')][_0xa667('0x16')](util[_0xa667('0xe')](_0xa667('0x17'),QUERY),{'type':dbH[_0xa667('0x15')][_0xa667('0x18')][_0xa667('0x19')]});})[_0xa667('0x14')](function(_0x4c71a2){if(!_0x4c71a2[0x0][_0xa667('0x1a')]){return analyticExtractedReport(_0xa667('0x1b'));}var _0x3a4824=[];var _0x4f77ee=0x0;var _0x1223dd=!![];if(_0x4c71a2&&_0x4c71a2[_0xa667('0x1c')]){var _0x2000e3=_0x4c71a2[0x0][_0xa667('0x1a')]%(_0x4f77ee+_0x517123);if(_0x4c4672[_0xa667('0x1d')]){for(;_0x1223dd;_0x4f77ee+=_0x517123,_0x2000e3=_0x4c71a2[0x0][_0xa667('0x1a')]%(_0x4f77ee+_0x517123)){if(_0x2000e3==0x0||_0x2000e3==_0x4c71a2[0x0][_0xa667('0x1a')]){_0x1223dd=![];}_0x3a4824['push'](dbH[_0xa667('0x15')][_0xa667('0x16')](util[_0xa667('0xe')](_0xa667('0x1e'),QUERY,_0x517123,_0x4f77ee),{'type':dbH[_0xa667('0x15')][_0xa667('0x18')]['SELECT']}));}}else{_0x3a4824['push'](dbH[_0xa667('0x15')][_0xa667('0x16')](QUERY,{'type':dbH[_0xa667('0x15')][_0xa667('0x18')][_0xa667('0x19')]}));}}var _0x4173b5=path['dirname'](PATH);var _0x49cabe=path['basename'](PATH,'.csv');var _0x2d9446=_0x4c4672['split']&&_0x3a4824[_0xa667('0x1c')]>0x1;var _0x3bf59f=[];if(!fs[_0xa667('0x1f')](path[_0xa667('0x20')](_0x4173b5,_0x49cabe))&&_0x2d9446){fs[_0xa667('0x21')](path[_0xa667('0x20')](_0x4173b5,_0x49cabe));}return BPromise[_0xa667('0x22')](_0x3a4824,function(_0x13e63a){_0x3bf59f['push'](_0x13e63a);})[_0xa667('0x14')](function(){for(var _0x5a3d5d=0x0;_0x5a3d5d<_0x3bf59f[_0xa667('0x1c')];_0x5a3d5d+=0x1){var _0x4737ef;var _0xf028e3=_0x3bf59f[_0x5a3d5d];if(_0x2d9446){_0x4737ef=path[_0xa667('0x20')](_0x4173b5,_0x49cabe,util[_0xa667('0xe')](_0xa667('0x23'),_0x49cabe,_0x5a3d5d,_0xa667('0x24')));}else{_0x4737ef=path[_0xa667('0x20')](_0x4173b5,util[_0xa667('0xe')](_0xa667('0x25'),_0x49cabe,_0xa667('0x24')));}fs['writeFileSync'](_0x4737ef,csv(_0xf028e3));}})[_0xa667('0x14')](function(){if(_0x2d9446){zipdir(path[_0xa667('0x20')](_0x4173b5,_0x49cabe),{'saveTo':path['join'](_0x4173b5,util['format'](_0xa667('0x25'),_0x49cabe,'zip'))},function(_0x1e96e0,_0x460e63){});rimraf(path['join'](_0x4173b5,_0x49cabe),function(){});}})['then'](function(){logger[_0xa667('0xd')](util[_0xa667('0xe')](_0xa667('0x26'),EXTRACTED_REPORT_ID,_0xa667('0x10')));return analyticExtractedReport(_0xa667('0x27'),_0x2d9446?util[_0xa667('0xe')]('%s.%s',_0x49cabe,_0x2d9446?_0xa667('0x28'):_0xa667('0x24')):null);});})[_0xa667('0x29')](function(_0x4e873a){logger[_0xa667('0xd')](util[_0xa667('0xe')](_0xa667('0x2a'),EXTRACTED_REPORT_ID,'CSV'),util[_0xa667('0x2b')](_0x4e873a,{'showHidden':![],'depth':null}));EXIT_CODE=0x1;return analyticExtractedReport(_0xa667('0x2c'));})[_0xa667('0x2d')](function(){process['exit'](EXIT_CODE);});}main();