Built motion from commit (unavailable).|2.5.28
[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 _0x91a7=['push','csv','%s.%s','writeFileSync','zip','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','Failed','path','lodash','to-csv','zip-dir','../../mysqldb','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','info','format','CSV','Setting','find','split','splitSizeCsv','then','sequelize','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','QueryTypes','SELECT','Empty','%s\x20limit\x20%d\x20OFFSET\x20%d','query','dirname','basename','.csv','length','existsSync','join','each'];(function(_0x420d8d,_0x78b67f){var _0x4865d7=function(_0x2965df){while(--_0x2965df){_0x420d8d['push'](_0x420d8d['shift']());}};_0x4865d7(++_0x78b67f);}(_0x91a7,0xe7));var _0x791a=function(_0x1f7ddd,_0x13ddcf){_0x1f7ddd=_0x1f7ddd-0x0;var _0x1d0c32=_0x91a7[_0x1f7ddd];return _0x1d0c32;};'use strict';var util=require('util');var path=require(_0x791a('0x0'));var _=require(_0x791a('0x1'));var csv=require(_0x791a('0x2'));var fs=require('fs');var BPromise=require('bluebird');var zipdir=require(_0x791a('0x3'));var rimraf=require('rimraf');var db=require(_0x791a('0x4'))['db'];var dbH=require('../../mysqldb')['dbH'];var logger=require(_0x791a('0x5'))(_0x791a('0x6'));var EXTRACTED_REPORT_ID=Number(process['argv'][0x2]);var QUERY=process[_0x791a('0x7')][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x33baac,_0x159e24){var _0x5aa10a={'status':_0x33baac};var _0x1a32b4={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x159e24){_0x5aa10a[_0x791a('0x8')]=_0x159e24;}return db[_0x791a('0x9')][_0x791a('0xa')](_0x5aa10a,_0x1a32b4);}function main(){var _0x266e4b=0x1388;var _0x5249d5;logger[_0x791a('0xb')](util[_0x791a('0xc')]('Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format',EXTRACTED_REPORT_ID,_0x791a('0xd')));return db[_0x791a('0xe')][_0x791a('0xf')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0x791a('0x10'),_0x791a('0x11')]})[_0x791a('0x12')](function(_0x53dc41){if(_0x53dc41){_0x5249d5=_0x53dc41;_0x266e4b=_0x5249d5['splitSizeCsv']||0x1388;}})[_0x791a('0x12')](function(){return dbH[_0x791a('0x13')]['query'](util[_0x791a('0xc')](_0x791a('0x14'),QUERY),{'type':dbH['sequelize'][_0x791a('0x15')][_0x791a('0x16')]});})[_0x791a('0x12')](function(_0x5cdf2){if(!_0x5cdf2[0x0]['num']){return analyticExtractedReport(_0x791a('0x17'));}var _0x575d11=[];var _0x43dea6=0x0;var _0x355155=!![];if(_0x5cdf2&&_0x5cdf2['length']){var _0x237adb=_0x5cdf2[0x0]['num']%(_0x43dea6+_0x266e4b);if(_0x5249d5[_0x791a('0x10')]){for(;_0x355155;_0x43dea6+=_0x266e4b,_0x237adb=_0x5cdf2[0x0]['num']%(_0x43dea6+_0x266e4b)){if(_0x237adb==0x0||_0x237adb==_0x5cdf2[0x0]['num']){_0x355155=![];}_0x575d11['push'](dbH[_0x791a('0x13')]['query'](util['format'](_0x791a('0x18'),QUERY,_0x266e4b,_0x43dea6),{'type':dbH[_0x791a('0x13')][_0x791a('0x15')][_0x791a('0x16')]}));}}else{_0x575d11['push'](dbH[_0x791a('0x13')][_0x791a('0x19')](QUERY,{'type':dbH[_0x791a('0x13')][_0x791a('0x15')]['SELECT']}));}}var _0x448085=path[_0x791a('0x1a')](PATH);var _0x25bae5=path[_0x791a('0x1b')](PATH,_0x791a('0x1c'));var _0x1091af=_0x5249d5[_0x791a('0x10')]&&_0x575d11[_0x791a('0x1d')]>0x1;var _0x323c6a=[];if(!fs[_0x791a('0x1e')](path[_0x791a('0x1f')](_0x448085,_0x25bae5))&&_0x1091af){fs['mkdirSync'](path[_0x791a('0x1f')](_0x448085,_0x25bae5));}return BPromise[_0x791a('0x20')](_0x575d11,function(_0x380329){_0x323c6a[_0x791a('0x21')](_0x380329);})['then'](function(){for(var _0x456480=0x0;_0x456480<_0x323c6a[_0x791a('0x1d')];_0x456480+=0x1){var _0x51dcca;var _0xdfa84f=_0x323c6a[_0x456480];if(_0x1091af){_0x51dcca=path[_0x791a('0x1f')](_0x448085,_0x25bae5,util[_0x791a('0xc')]('%s%d.%s',_0x25bae5,_0x456480,_0x791a('0x22')));}else{_0x51dcca=path[_0x791a('0x1f')](_0x448085,util[_0x791a('0xc')](_0x791a('0x23'),_0x25bae5,_0x791a('0x22')));}fs[_0x791a('0x24')](_0x51dcca,csv(_0xdfa84f));}})[_0x791a('0x12')](function(){if(_0x1091af){zipdir(path[_0x791a('0x1f')](_0x448085,_0x25bae5),{'saveTo':path['join'](_0x448085,util[_0x791a('0xc')](_0x791a('0x23'),_0x25bae5,_0x791a('0x25')))},function(_0x59d2c0,_0x1cdda9){});rimraf(path['join'](_0x448085,_0x25bae5),function(){});}})[_0x791a('0x12')](function(){logger[_0x791a('0xb')](util[_0x791a('0xc')](_0x791a('0x26'),EXTRACTED_REPORT_ID,_0x791a('0xd')));return analyticExtractedReport(_0x791a('0x27'),_0x1091af?util[_0x791a('0xc')]('%s.%s',_0x25bae5,_0x1091af?_0x791a('0x25'):_0x791a('0x22')):null);});})[_0x791a('0x28')](function(_0x27f758){logger[_0x791a('0xb')](util['format'](_0x791a('0x29'),EXTRACTED_REPORT_ID,_0x791a('0xd')),util[_0x791a('0x2a')](_0x27f758,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0x791a('0x2b'));});}main();