Built motion from commit 753c950e.|2.5.42
[motion2.git] / server / api / analyticFieldReport / analyticFieldReport.controller.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 _0x1c89=['count','Content-Range','apply','reject','save','then','destroy','sendStatus','error','stack','name','send','index','map','AnalyticFieldReport','fieldName','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','filters','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','bulkCreate','update','ids','addFields','AnalyticCustomReport','sequelize','transaction','CustomReportId','eml-format','rimraf','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','fs-extra','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','end','status','json','undefined','limit'];(function(_0x2da1fc,_0x3502bb){var _0x13dd42=function(_0x41c490){while(--_0x41c490){_0x2da1fc['push'](_0x2da1fc['shift']());}};_0x13dd42(++_0x3502bb);}(_0x1c89,0x17f));var _0x91c8=function(_0x302f85,_0x5bcca3){_0x302f85=_0x302f85-0x0;var _0x5ef7cb=_0x1c89[_0x302f85];return _0x5ef7cb;};'use strict';var emlformat=require(_0x91c8('0x0'));var rimraf=require(_0x91c8('0x1'));var zipdir=require(_0x91c8('0x2'));var jsonpatch=require(_0x91c8('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x91c8('0x4'));var util=require(_0x91c8('0x5'));var path=require(_0x91c8('0x6'));var sox=require(_0x91c8('0x7'));var csv=require(_0x91c8('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x91c8('0x9'));var _=require('lodash');var squel=require(_0x91c8('0xa'));var crypto=require('crypto');var jsforce=require(_0x91c8('0xb'));var deskjs=require(_0x91c8('0xc'));var toCsv=require('to-csv');var querystring=require(_0x91c8('0xd'));var Papa=require(_0x91c8('0xe'));var Redis=require(_0x91c8('0xf'));var authService=require(_0x91c8('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x91c8('0x11'));var hardwareService=require(_0x91c8('0x12'));var logger=require(_0x91c8('0x13'))(_0x91c8('0x14'));var utils=require('../../config/utils');var config=require(_0x91c8('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4b65b4,_0x318faf){_0x318faf=_0x318faf||0xcc;return function(_0x559368){if(_0x559368){return _0x4b65b4['sendStatus'](_0x318faf);}return _0x4b65b4['status'](_0x318faf)[_0x91c8('0x16')]();};}function respondWithResult(_0x308337,_0xd77571){_0xd77571=_0xd77571||0xc8;return function(_0x304bcc){if(_0x304bcc){return _0x308337[_0x91c8('0x17')](_0xd77571)[_0x91c8('0x18')](_0x304bcc);}};}function respondWithFilteredResult(_0x1e3ef5,_0x103596){return function(_0x430984){if(_0x430984){var _0x4843e2=typeof _0x103596['offset']===_0x91c8('0x19')&&typeof _0x103596[_0x91c8('0x1a')]===_0x91c8('0x19');var _0x287e1b=_0x430984[_0x91c8('0x1b')];var _0x3d5f55=_0x4843e2?0x0:_0x103596['offset'];var _0x6cf16e=_0x4843e2?_0x430984['count']:_0x103596['offset']+_0x103596['limit'];var _0x552b4b;if(_0x6cf16e>=_0x287e1b){_0x6cf16e=_0x287e1b;_0x552b4b=0xc8;}else{_0x552b4b=0xce;}_0x1e3ef5['status'](_0x552b4b);return _0x1e3ef5['set'](_0x91c8('0x1c'),_0x3d5f55+'-'+_0x6cf16e+'/'+_0x287e1b)[_0x91c8('0x18')](_0x430984);}return null;};}function patchUpdates(_0x26ad46){return function(_0x5ddd2e){try{jsonpatch[_0x91c8('0x1d')](_0x5ddd2e,_0x26ad46,!![]);}catch(_0x324768){return BPromise[_0x91c8('0x1e')](_0x324768);}return _0x5ddd2e[_0x91c8('0x1f')]();};}function saveUpdates(_0x3fa004,_0x5ca1bd){return function(_0x259679){if(_0x259679){return _0x259679['update'](_0x3fa004)[_0x91c8('0x20')](function(_0x378c7e){return _0x378c7e;});}return null;};}function removeEntity(_0x25867c,_0x54554c){return function(_0x70e200){if(_0x70e200){return _0x70e200[_0x91c8('0x21')]()[_0x91c8('0x20')](function(){_0x25867c[_0x91c8('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0x55bb2d,_0x1272a8){return function(_0x2bd2b4){if(!_0x2bd2b4){_0x55bb2d[_0x91c8('0x22')](0x194);}return _0x2bd2b4;};}function handleError(_0x4a82ee,_0x4f2a76){_0x4f2a76=_0x4f2a76||0x1f4;return function(_0x4d0a65){logger[_0x91c8('0x23')](_0x4d0a65[_0x91c8('0x24')]);if(_0x4d0a65[_0x91c8('0x25')]){delete _0x4d0a65['name'];}_0x4a82ee[_0x91c8('0x17')](_0x4f2a76)[_0x91c8('0x26')](_0x4d0a65);};}exports[_0x91c8('0x27')]=function(_0x30bfbe,_0x2deccd){var _0x3c82ff={},_0xcea40b={},_0x5be4af={'count':0x0,'rows':[]};var _0x3dd0ff=_[_0x91c8('0x28')](db[_0x91c8('0x29')]['rawAttributes'],function(_0x335f05){return{'name':_0x335f05[_0x91c8('0x2a')],'type':_0x335f05['type'][_0x91c8('0x2b')]};});_0xcea40b[_0x91c8('0x2c')]=_[_0x91c8('0x28')](_0x3dd0ff,_0x91c8('0x25'));_0xcea40b[_0x91c8('0x2d')]=_[_0x91c8('0x2e')](_0x30bfbe[_0x91c8('0x2d')]);_0xcea40b['filters']=_[_0x91c8('0x2f')](_0xcea40b[_0x91c8('0x2c')],_0xcea40b['query']);_0x3c82ff[_0x91c8('0x30')]=_[_0x91c8('0x2f')](_0xcea40b['model'],qs[_0x91c8('0x31')](_0x30bfbe['query']['fields']));_0x3c82ff[_0x91c8('0x30')]=_0x3c82ff['attributes'][_0x91c8('0x32')]?_0x3c82ff['attributes']:_0xcea40b[_0x91c8('0x2c')];if(!_0x30bfbe[_0x91c8('0x2d')][_0x91c8('0x33')](_0x91c8('0x34'))){_0x3c82ff['limit']=qs[_0x91c8('0x1a')](_0x30bfbe['query'][_0x91c8('0x1a')]);_0x3c82ff[_0x91c8('0x35')]=qs[_0x91c8('0x35')](_0x30bfbe[_0x91c8('0x2d')]['offset']);}_0x3c82ff[_0x91c8('0x36')]=qs[_0x91c8('0x37')](_0x30bfbe['query'][_0x91c8('0x37')]);_0x3c82ff[_0x91c8('0x38')]=qs[_0x91c8('0x39')](_['pick'](_0x30bfbe[_0x91c8('0x2d')],_0xcea40b[_0x91c8('0x39')]),_0x3dd0ff);if(_0x30bfbe[_0x91c8('0x2d')][_0x91c8('0x3a')]){_0x3c82ff[_0x91c8('0x38')]=_[_0x91c8('0x3b')](_0x3c82ff[_0x91c8('0x38')],{'$or':_[_0x91c8('0x28')](_0x3dd0ff,function(_0x508056){if(_0x508056[_0x91c8('0x3c')]!==_0x91c8('0x3d')){var _0x3d8296={};_0x3d8296[_0x508056[_0x91c8('0x25')]]={'$like':'%'+_0x30bfbe['query'][_0x91c8('0x3a')]+'%'};return _0x3d8296;}})});}_0x3c82ff=_[_0x91c8('0x3b')]({},_0x3c82ff,_0x30bfbe[_0x91c8('0x3e')]);var _0x1ab342={'where':_0x3c82ff[_0x91c8('0x38')]};return db[_0x91c8('0x29')][_0x91c8('0x1b')](_0x1ab342)[_0x91c8('0x20')](function(_0x5c0261){_0x5be4af[_0x91c8('0x1b')]=_0x5c0261;if(_0x30bfbe[_0x91c8('0x2d')][_0x91c8('0x3f')]){_0x3c82ff[_0x91c8('0x40')]=[{'all':!![]}];}return db[_0x91c8('0x29')][_0x91c8('0x41')](_0x3c82ff);})[_0x91c8('0x20')](function(_0x4d4a5a){_0x5be4af[_0x91c8('0x42')]=_0x4d4a5a;return _0x5be4af;})[_0x91c8('0x20')](respondWithFilteredResult(_0x2deccd,_0x3c82ff))[_0x91c8('0x43')](handleError(_0x2deccd,null));};exports[_0x91c8('0x44')]=function(_0x35e1ee,_0x2d3204){var _0x51d31c={'raw':![],'where':{'id':_0x35e1ee[_0x91c8('0x45')]['id']}},_0x299e16={};_0x299e16['model']=_[_0x91c8('0x2e')](db['AnalyticFieldReport'][_0x91c8('0x46')]);_0x299e16[_0x91c8('0x2d')]=_[_0x91c8('0x2e')](_0x35e1ee[_0x91c8('0x2d')]);_0x299e16['filters']=_[_0x91c8('0x2f')](_0x299e16[_0x91c8('0x2c')],_0x299e16[_0x91c8('0x2d')]);_0x51d31c['attributes']=_['intersection'](_0x299e16[_0x91c8('0x2c')],qs['fields'](_0x35e1ee[_0x91c8('0x2d')][_0x91c8('0x31')]));_0x51d31c['attributes']=_0x51d31c[_0x91c8('0x30')][_0x91c8('0x32')]?_0x51d31c['attributes']:_0x299e16['model'];if(_0x35e1ee[_0x91c8('0x2d')][_0x91c8('0x3f')]){_0x51d31c['include']=[{'all':!![]}];}_0x51d31c=_[_0x91c8('0x3b')]({},_0x51d31c,_0x35e1ee[_0x91c8('0x3e')]);return db[_0x91c8('0x29')][_0x91c8('0x47')](_0x51d31c)[_0x91c8('0x20')](handleEntityNotFound(_0x2d3204,null))[_0x91c8('0x20')](respondWithResult(_0x2d3204,null))[_0x91c8('0x43')](handleError(_0x2d3204,null));};exports[_0x91c8('0x48')]=function(_0x4e103a,_0x2fee12){return db[_0x91c8('0x29')][_0x91c8('0x48')](_0x4e103a[_0x91c8('0x49')],{})['then'](respondWithResult(_0x2fee12,0xc9))[_0x91c8('0x43')](handleError(_0x2fee12,null));};exports[_0x91c8('0x4a')]=function(_0x308463,_0x3e6896){return db[_0x91c8('0x29')]['bulkCreate'](_0x308463[_0x91c8('0x49')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x3e6896,0xc9))[_0x91c8('0x43')](handleError(_0x3e6896,null));};exports[_0x91c8('0x4b')]=function(_0x1c9248,_0x4e573b){if(_0x1c9248['body']['id']){delete _0x1c9248[_0x91c8('0x49')]['id'];}return db[_0x91c8('0x29')][_0x91c8('0x47')]({'where':{'id':_0x1c9248['params']['id']}})[_0x91c8('0x20')](handleEntityNotFound(_0x4e573b,null))['then'](saveUpdates(_0x1c9248[_0x91c8('0x49')],null))[_0x91c8('0x20')](respondWithResult(_0x4e573b,null))[_0x91c8('0x43')](handleError(_0x4e573b,null));};exports['destroy']=function(_0x3af744,_0x4ba768){return db[_0x91c8('0x29')]['find']({'where':{'id':_0x3af744['params']['id']}})['then'](handleEntityNotFound(_0x4ba768,null))[_0x91c8('0x20')](removeEntity(_0x4ba768,null))[_0x91c8('0x43')](handleError(_0x4ba768,null));};exports['bulkDestroy']=function(_0x182778,_0x5442bc){return db[_0x91c8('0x29')][_0x91c8('0x21')]({'where':{'id':_0x182778['query'][_0x91c8('0x4c')]||[]},'raw':![],'individualHooks':!![]})[_0x91c8('0x20')](respondWithResult(_0x5442bc,0xcc))[_0x91c8('0x43')](handleError(_0x5442bc,null));};exports[_0x91c8('0x4d')]=function(_0x26f0dc,_0x60dfce,_0x34beda){return db[_0x91c8('0x4e')]['findOne']({'where':{'id':_0x26f0dc[_0x91c8('0x45')]['id']}})['then'](handleEntityNotFound(_0x60dfce,null))['then'](function(_0x29b223){if(_0x29b223){return db[_0x91c8('0x4f')][_0x91c8('0x50')](function(_0x4ac90e){return db[_0x91c8('0x29')][_0x91c8('0x21')]({'where':{'CustomReportId':_0x26f0dc['params']['id']},'transaction':_0x4ac90e})[_0x91c8('0x20')](function(_0x468068){var _0x31cfda=_[_0x91c8('0x28')](_0x26f0dc[_0x91c8('0x49')],function(_0x55e996){delete _0x55e996['id'];_0x55e996[_0x91c8('0x51')]=_0x26f0dc[_0x91c8('0x45')]['id'];return _0x55e996;});return db[_0x91c8('0x29')][_0x91c8('0x4a')](_0x31cfda,{'transaction':_0x4ac90e});});})[_0x91c8('0x20')](function(){return db['AnalyticFieldReport'][_0x91c8('0x41')]({'where':{'CustomReportId':_0x26f0dc[_0x91c8('0x45')]['id']}});});}})['then'](respondWithResult(_0x60dfce,null))['catch'](handleError(_0x60dfce,null));};