Built motion from commit (unavailable).|2.4.11
[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 _0xe14d=['.csv','join','mkdirSync','each','%s%d.%s','csv','%s.%s','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','util','path','lodash','to-csv','zip-dir','rimraf','../../mysqldb','dbH','../../config/logger','analytics','argv','savename','AnalyticExtractedReport','update','format','Start\x20extraction\x20report\x20with\x20id\x20%d\x20in\x20%s\x20format','CSV','Setting','find','split','splitSizeCsv','then','sequelize','query','SELECT\x20count(*)\x20as\x20num\x20FROM\x20(%s)\x20t','SELECT','Empty','length','num','%s\x20limit\x20%d\x20OFFSET\x20%d','QueryTypes','push','dirname','basename'];(function(_0x54b9c6,_0x2c697e){var _0x251824=function(_0x269f7c){while(--_0x269f7c){_0x54b9c6['push'](_0x54b9c6['shift']());}};_0x251824(++_0x2c697e);}(_0xe14d,0x1ee));var _0xde14=function(_0x33032e,_0x31411a){_0x33032e=_0x33032e-0x0;var _0x13316b=_0xe14d[_0x33032e];return _0x13316b;};'use strict';var util=require(_0xde14('0x0'));var path=require(_0xde14('0x1'));var _=require(_0xde14('0x2'));var csv=require(_0xde14('0x3'));var fs=require('fs');var BPromise=require('bluebird');var zipdir=require(_0xde14('0x4'));var rimraf=require(_0xde14('0x5'));var db=require('../../mysqldb')['db'];var dbH=require(_0xde14('0x6'))[_0xde14('0x7')];var logger=require(_0xde14('0x8'))(_0xde14('0x9'));var EXTRACTED_REPORT_ID=Number(process[_0xde14('0xa')][0x2]);var QUERY=process[_0xde14('0xa')][0x3];var PATH=process['argv'][0x4];function analyticExtractedReport(_0x5a1344,_0x1bd49d){var _0x115b7d={'status':_0x5a1344};var _0x2b0e7c={'where':{'id':EXTRACTED_REPORT_ID}};if(_0x1bd49d){_0x115b7d[_0xde14('0xb')]=_0x1bd49d;}return db[_0xde14('0xc')][_0xde14('0xd')](_0x115b7d,_0x2b0e7c);}function main(){var _0xa17e8=0x1388;var _0x1ce0a2;logger['info'](util[_0xde14('0xe')](_0xde14('0xf'),EXTRACTED_REPORT_ID,_0xde14('0x10')));return db[_0xde14('0x11')][_0xde14('0x12')]({'where':{'id':0x1},'raw':!![],'attributes':['id',_0xde14('0x13'),_0xde14('0x14')]})[_0xde14('0x15')](function(_0x34e28f){if(_0x34e28f){_0x1ce0a2=_0x34e28f;_0xa17e8=_0x1ce0a2[_0xde14('0x14')]||0x1388;}})[_0xde14('0x15')](function(){return dbH[_0xde14('0x16')][_0xde14('0x17')](util[_0xde14('0xe')](_0xde14('0x18'),QUERY),{'type':dbH['sequelize']['QueryTypes'][_0xde14('0x19')]});})[_0xde14('0x15')](function(_0x26c1ec){if(!_0x26c1ec[0x0]['num']){return analyticExtractedReport(_0xde14('0x1a'));}var _0x31adb3=[];var _0x257390=0x0;var _0x31902a=!![];if(_0x26c1ec&&_0x26c1ec[_0xde14('0x1b')]){var _0x1b9d4b=_0x26c1ec[0x0][_0xde14('0x1c')]%(_0x257390+_0xa17e8);if(_0x1ce0a2[_0xde14('0x13')]){for(;_0x31902a;_0x257390+=_0xa17e8,_0x1b9d4b=_0x26c1ec[0x0][_0xde14('0x1c')]%(_0x257390+_0xa17e8)){if(_0x1b9d4b==0x0||_0x1b9d4b==_0x26c1ec[0x0][_0xde14('0x1c')]){_0x31902a=![];}_0x31adb3['push'](dbH[_0xde14('0x16')][_0xde14('0x17')](util[_0xde14('0xe')](_0xde14('0x1d'),QUERY,_0xa17e8,_0x257390),{'type':dbH['sequelize'][_0xde14('0x1e')]['SELECT']}));}}else{_0x31adb3[_0xde14('0x1f')](dbH['sequelize'][_0xde14('0x17')](QUERY,{'type':dbH[_0xde14('0x16')][_0xde14('0x1e')][_0xde14('0x19')]}));}}var _0x39bdc5=path[_0xde14('0x20')](PATH);var _0x40b648=path[_0xde14('0x21')](PATH,_0xde14('0x22'));var _0x163b79=_0x1ce0a2[_0xde14('0x13')]&&_0x31adb3[_0xde14('0x1b')]>0x1;var _0x8f8033=[];if(!fs['existsSync'](path[_0xde14('0x23')](_0x39bdc5,_0x40b648))&&_0x163b79){fs[_0xde14('0x24')](path[_0xde14('0x23')](_0x39bdc5,_0x40b648));}return BPromise[_0xde14('0x25')](_0x31adb3,function(_0x1bb7be){_0x8f8033[_0xde14('0x1f')](_0x1bb7be);})[_0xde14('0x15')](function(){for(var _0x23c735=0x0;_0x23c735<_0x8f8033[_0xde14('0x1b')];_0x23c735+=0x1){var _0x350a78;var _0x4eff65=_0x8f8033[_0x23c735];if(_0x163b79){_0x350a78=path[_0xde14('0x23')](_0x39bdc5,_0x40b648,util[_0xde14('0xe')](_0xde14('0x26'),_0x40b648,_0x23c735,_0xde14('0x27')));}else{_0x350a78=path['join'](_0x39bdc5,util[_0xde14('0xe')](_0xde14('0x28'),_0x40b648,_0xde14('0x27')));}fs['writeFileSync'](_0x350a78,csv(_0x4eff65));}})[_0xde14('0x15')](function(){if(_0x163b79){zipdir(path['join'](_0x39bdc5,_0x40b648),{'saveTo':path[_0xde14('0x23')](_0x39bdc5,util[_0xde14('0xe')](_0xde14('0x28'),_0x40b648,_0xde14('0x29')))},function(_0x2aca96,_0x237d3f){});rimraf(path[_0xde14('0x23')](_0x39bdc5,_0x40b648),function(){});}})[_0xde14('0x15')](function(){logger['info'](util[_0xde14('0xe')](_0xde14('0x2a'),EXTRACTED_REPORT_ID,'CSV'));return analyticExtractedReport(_0xde14('0x2b'),_0x163b79?util['format'](_0xde14('0x28'),_0x40b648,_0x163b79?_0xde14('0x29'):_0xde14('0x27')):null);});})[_0xde14('0x2c')](function(_0x13c164){logger['info'](util[_0xde14('0xe')](_0xde14('0x2d'),EXTRACTED_REPORT_ID,'CSV'),util[_0xde14('0x2e')](_0x13c164,{'showHidden':![],'depth':null}));return analyticExtractedReport(_0xde14('0x2f'));});}main();