Built motion from commit bab6f49e.|2.6.17
[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 _0x6498=['Content-Range','reject','then','destroy','error','stack','name','send','map','rawAttributes','fieldName','key','query','intersection','model','attributes','fields','length','nolimit','limit','order','sort','filters','pick','filter','where','type','VIRTUAL','merge','includeAll','include','AnalyticFieldReport','findAll','catch','show','params','keys','options','create','body','update','find','bulkDestroy','addFields','AnalyticCustomReport','findOne','bulkCreate','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','to-csv','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count'];(function(_0x4b97aa,_0x48c515){var _0x2f95e9=function(_0x4b5db7){while(--_0x4b5db7){_0x4b97aa['push'](_0x4b97aa['shift']());}};_0x2f95e9(++_0x48c515);}(_0x6498,0x116));var _0x8649=function(_0x398e59,_0x183560){_0x398e59=_0x398e59-0x0;var _0x409032=_0x6498[_0x398e59];return _0x409032;};'use strict';var emlformat=require(_0x8649('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x8649('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x8649('0x2'));var moment=require(_0x8649('0x3'));var BPromise=require(_0x8649('0x4'));var Mustache=require(_0x8649('0x5'));var util=require(_0x8649('0x6'));var path=require(_0x8649('0x7'));var sox=require('sox');var csv=require(_0x8649('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8649('0x9'));var crypto=require(_0x8649('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x8649('0xb'));var toCsv=require('to-csv');var querystring=require(_0x8649('0xc'));var Papa=require(_0x8649('0xd'));var Redis=require(_0x8649('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x8649('0xf'));var hardwareService=require(_0x8649('0x10'));var logger=require(_0x8649('0x11'))(_0x8649('0x12'));var utils=require(_0x8649('0x13'));var config=require(_0x8649('0x14'));var licenseUtil=require(_0x8649('0x15'));var db=require(_0x8649('0x16'))['db'];function respondWithStatusCode(_0x48025d,_0x4aeb1c){_0x4aeb1c=_0x4aeb1c||0xcc;return function(_0x1cb91f){if(_0x1cb91f){return _0x48025d[_0x8649('0x17')](_0x4aeb1c);}return _0x48025d['status'](_0x4aeb1c)[_0x8649('0x18')]();};}function respondWithResult(_0xf1fcc,_0x3d10d2){_0x3d10d2=_0x3d10d2||0xc8;return function(_0xf14401){if(_0xf14401){return _0xf1fcc[_0x8649('0x19')](_0x3d10d2)[_0x8649('0x1a')](_0xf14401);}};}function respondWithFilteredResult(_0x472331,_0x332663){return function(_0x552a15){if(_0x552a15){var _0x416a77=typeof _0x332663[_0x8649('0x1b')]===_0x8649('0x1c')&&typeof _0x332663['limit']===_0x8649('0x1c');var _0x5e5fe9=_0x552a15[_0x8649('0x1d')];var _0x52e014=_0x416a77?0x0:_0x332663[_0x8649('0x1b')];var _0x4833ef=_0x416a77?_0x552a15[_0x8649('0x1d')]:_0x332663[_0x8649('0x1b')]+_0x332663['limit'];var _0x5b5d1c;if(_0x4833ef>=_0x5e5fe9){_0x4833ef=_0x5e5fe9;_0x5b5d1c=0xc8;}else{_0x5b5d1c=0xce;}_0x472331[_0x8649('0x19')](_0x5b5d1c);return _0x472331['set'](_0x8649('0x1e'),_0x52e014+'-'+_0x4833ef+'/'+_0x5e5fe9)['json'](_0x552a15);}return null;};}function patchUpdates(_0x10075a){return function(_0x36f5bf){try{jsonpatch['apply'](_0x36f5bf,_0x10075a,!![]);}catch(_0x2d99fb){return BPromise[_0x8649('0x1f')](_0x2d99fb);}return _0x36f5bf['save']();};}function saveUpdates(_0x2aacf7,_0xe837){return function(_0x1470ac){if(_0x1470ac){return _0x1470ac['update'](_0x2aacf7)[_0x8649('0x20')](function(_0x3e9931){return _0x3e9931;});}return null;};}function removeEntity(_0x1cd994,_0x4a0695){return function(_0x31e7cc){if(_0x31e7cc){return _0x31e7cc[_0x8649('0x21')]()[_0x8649('0x20')](function(){_0x1cd994[_0x8649('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x25d618,_0x4e54b6){return function(_0x92a240){if(!_0x92a240){_0x25d618[_0x8649('0x17')](0x194);}return _0x92a240;};}function handleError(_0x1b961a,_0x54ab98){_0x54ab98=_0x54ab98||0x1f4;return function(_0x5cd05c){logger[_0x8649('0x22')](_0x5cd05c[_0x8649('0x23')]);if(_0x5cd05c[_0x8649('0x24')]){delete _0x5cd05c['name'];}_0x1b961a[_0x8649('0x19')](_0x54ab98)[_0x8649('0x25')](_0x5cd05c);};}exports['index']=function(_0xdf456d,_0x43ac21){var _0x2621e4={},_0x336cb4={},_0x5e72ef={'count':0x0,'rows':[]};var _0x1cef68=_[_0x8649('0x26')](db['AnalyticFieldReport'][_0x8649('0x27')],function(_0x394a97){return{'name':_0x394a97[_0x8649('0x28')],'type':_0x394a97['type'][_0x8649('0x29')]};});_0x336cb4['model']=_[_0x8649('0x26')](_0x1cef68,_0x8649('0x24'));_0x336cb4[_0x8649('0x2a')]=_['keys'](_0xdf456d[_0x8649('0x2a')]);_0x336cb4['filters']=_[_0x8649('0x2b')](_0x336cb4[_0x8649('0x2c')],_0x336cb4[_0x8649('0x2a')]);_0x2621e4[_0x8649('0x2d')]=_['intersection'](_0x336cb4[_0x8649('0x2c')],qs[_0x8649('0x2e')](_0xdf456d[_0x8649('0x2a')][_0x8649('0x2e')]));_0x2621e4[_0x8649('0x2d')]=_0x2621e4[_0x8649('0x2d')][_0x8649('0x2f')]?_0x2621e4[_0x8649('0x2d')]:_0x336cb4[_0x8649('0x2c')];if(!_0xdf456d[_0x8649('0x2a')]['hasOwnProperty'](_0x8649('0x30'))){_0x2621e4['limit']=qs['limit'](_0xdf456d[_0x8649('0x2a')][_0x8649('0x31')]);_0x2621e4[_0x8649('0x1b')]=qs[_0x8649('0x1b')](_0xdf456d['query'][_0x8649('0x1b')]);}_0x2621e4[_0x8649('0x32')]=qs[_0x8649('0x33')](_0xdf456d[_0x8649('0x2a')]['sort']);_0x2621e4['where']=qs[_0x8649('0x34')](_[_0x8649('0x35')](_0xdf456d['query'],_0x336cb4['filters']),_0x1cef68);if(_0xdf456d[_0x8649('0x2a')][_0x8649('0x36')]){_0x2621e4['where']=_['merge'](_0x2621e4[_0x8649('0x37')],{'$or':_[_0x8649('0x26')](_0x1cef68,function(_0x288967){if(_0x288967[_0x8649('0x38')]!==_0x8649('0x39')){var _0xd971da={};_0xd971da[_0x288967[_0x8649('0x24')]]={'$like':'%'+_0xdf456d[_0x8649('0x2a')][_0x8649('0x36')]+'%'};return _0xd971da;}})});}_0x2621e4=_[_0x8649('0x3a')]({},_0x2621e4,_0xdf456d['options']);var _0x5a9e33={'where':_0x2621e4[_0x8649('0x37')]};return db['AnalyticFieldReport']['count'](_0x5a9e33)[_0x8649('0x20')](function(_0x27ca1f){_0x5e72ef['count']=_0x27ca1f;if(_0xdf456d[_0x8649('0x2a')][_0x8649('0x3b')]){_0x2621e4[_0x8649('0x3c')]=[{'all':!![]}];}return db[_0x8649('0x3d')][_0x8649('0x3e')](_0x2621e4);})[_0x8649('0x20')](function(_0x417c9f){_0x5e72ef['rows']=_0x417c9f;return _0x5e72ef;})['then'](respondWithFilteredResult(_0x43ac21,_0x2621e4))[_0x8649('0x3f')](handleError(_0x43ac21,null));};exports[_0x8649('0x40')]=function(_0x1aeaa1,_0x3bee3c){var _0x17eac9={'raw':![],'where':{'id':_0x1aeaa1[_0x8649('0x41')]['id']}},_0x36d87e={};_0x36d87e['model']=_[_0x8649('0x42')](db[_0x8649('0x3d')]['rawAttributes']);_0x36d87e[_0x8649('0x2a')]=_[_0x8649('0x42')](_0x1aeaa1[_0x8649('0x2a')]);_0x36d87e[_0x8649('0x34')]=_[_0x8649('0x2b')](_0x36d87e[_0x8649('0x2c')],_0x36d87e[_0x8649('0x2a')]);_0x17eac9[_0x8649('0x2d')]=_[_0x8649('0x2b')](_0x36d87e[_0x8649('0x2c')],qs[_0x8649('0x2e')](_0x1aeaa1['query'][_0x8649('0x2e')]));_0x17eac9[_0x8649('0x2d')]=_0x17eac9[_0x8649('0x2d')][_0x8649('0x2f')]?_0x17eac9[_0x8649('0x2d')]:_0x36d87e[_0x8649('0x2c')];if(_0x1aeaa1[_0x8649('0x2a')][_0x8649('0x3b')]){_0x17eac9[_0x8649('0x3c')]=[{'all':!![]}];}_0x17eac9=_[_0x8649('0x3a')]({},_0x17eac9,_0x1aeaa1[_0x8649('0x43')]);return db[_0x8649('0x3d')]['find'](_0x17eac9)['then'](handleEntityNotFound(_0x3bee3c,null))[_0x8649('0x20')](respondWithResult(_0x3bee3c,null))[_0x8649('0x3f')](handleError(_0x3bee3c,null));};exports[_0x8649('0x44')]=function(_0x11751d,_0x42b851){return db['AnalyticFieldReport'][_0x8649('0x44')](_0x11751d[_0x8649('0x45')],{})[_0x8649('0x20')](respondWithResult(_0x42b851,0xc9))[_0x8649('0x3f')](handleError(_0x42b851,null));};exports['bulkCreate']=function(_0x27e7f3,_0x4cd445){return db['AnalyticFieldReport']['bulkCreate'](_0x27e7f3['body'],{'raw':![],'individualHooks':!![]})[_0x8649('0x20')](respondWithResult(_0x4cd445,0xc9))[_0x8649('0x3f')](handleError(_0x4cd445,null));};exports[_0x8649('0x46')]=function(_0x56e623,_0x5f4b88){if(_0x56e623[_0x8649('0x45')]['id']){delete _0x56e623[_0x8649('0x45')]['id'];}return db[_0x8649('0x3d')][_0x8649('0x47')]({'where':{'id':_0x56e623['params']['id']}})[_0x8649('0x20')](handleEntityNotFound(_0x5f4b88,null))[_0x8649('0x20')](saveUpdates(_0x56e623[_0x8649('0x45')],null))[_0x8649('0x20')](respondWithResult(_0x5f4b88,null))['catch'](handleError(_0x5f4b88,null));};exports[_0x8649('0x21')]=function(_0x50e520,_0x435a53){return db[_0x8649('0x3d')][_0x8649('0x47')]({'where':{'id':_0x50e520[_0x8649('0x41')]['id']}})[_0x8649('0x20')](handleEntityNotFound(_0x435a53,null))[_0x8649('0x20')](removeEntity(_0x435a53,null))[_0x8649('0x3f')](handleError(_0x435a53,null));};exports[_0x8649('0x48')]=function(_0xcc2d89,_0xf220d7){return db[_0x8649('0x3d')][_0x8649('0x21')]({'where':{'id':_0xcc2d89['query']['ids']||[]},'raw':![],'individualHooks':!![]})[_0x8649('0x20')](respondWithResult(_0xf220d7,0xcc))['catch'](handleError(_0xf220d7,null));};exports[_0x8649('0x49')]=function(_0x384969,_0x5c0cee,_0x1e77a4){return db[_0x8649('0x4a')][_0x8649('0x4b')]({'where':{'id':_0x384969[_0x8649('0x41')]['id']}})[_0x8649('0x20')](handleEntityNotFound(_0x5c0cee,null))[_0x8649('0x20')](function(_0x581fdf){if(_0x581fdf){return db['sequelize']['transaction'](function(_0x50703e){return db[_0x8649('0x3d')]['destroy']({'where':{'CustomReportId':_0x384969['params']['id']},'transaction':_0x50703e})[_0x8649('0x20')](function(_0x1e921f){var _0x4d89e1=_[_0x8649('0x26')](_0x384969[_0x8649('0x45')],function(_0x190088){delete _0x190088['id'];_0x190088['CustomReportId']=_0x384969[_0x8649('0x41')]['id'];return _0x190088;});return db['AnalyticFieldReport'][_0x8649('0x4c')](_0x4d89e1,{'transaction':_0x50703e});});})[_0x8649('0x20')](function(){return db[_0x8649('0x3d')][_0x8649('0x3e')]({'where':{'CustomReportId':_0x384969[_0x8649('0x41')]['id']}});});}})[_0x8649('0x20')](respondWithResult(_0x5c0cee,null))['catch'](handleError(_0x5c0cee,null));};