Built motion from commit 994c64e1.|2.6.1
[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 _0x6ba1=['AnalyticFieldReport','include','rows','catch','show','includeAll','find','create','body','bulkCreate','params','bulkDestroy','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','findAll','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','undefined','count','offset','limit','set','json','apply','reject','update','destroy','then','end','sendStatus','error','name','index','map','rawAttributes','fieldName','type','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filter','VIRTUAL','merge','options'];(function(_0x5b8b97,_0x6b4dfa){var _0x1fdf84=function(_0x2ced4c){while(--_0x2ced4c){_0x5b8b97['push'](_0x5b8b97['shift']());}};_0x1fdf84(++_0x6b4dfa);}(_0x6ba1,0xb4));var _0x16ba=function(_0x5d4770,_0x4651d5){_0x5d4770=_0x5d4770-0x0;var _0x27d22b=_0x6ba1[_0x5d4770];return _0x27d22b;};'use strict';var emlformat=require(_0x16ba('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x16ba('0x1'));var jsonpatch=require(_0x16ba('0x2'));var rp=require(_0x16ba('0x3'));var moment=require(_0x16ba('0x4'));var BPromise=require(_0x16ba('0x5'));var Mustache=require(_0x16ba('0x6'));var util=require(_0x16ba('0x7'));var path=require(_0x16ba('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x16ba('0x9'));var fs=require('fs');var fs_extra=require(_0x16ba('0xa'));var _=require('lodash');var squel=require(_0x16ba('0xb'));var crypto=require(_0x16ba('0xc'));var jsforce=require(_0x16ba('0xd'));var deskjs=require(_0x16ba('0xe'));var toCsv=require('to-csv');var querystring=require(_0x16ba('0xf'));var Papa=require(_0x16ba('0x10'));var Redis=require('ioredis');var authService=require(_0x16ba('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x16ba('0x12'));var hardwareService=require(_0x16ba('0x13'));var logger=require(_0x16ba('0x14'))(_0x16ba('0x15'));var utils=require(_0x16ba('0x16'));var config=require(_0x16ba('0x17'));var licenseUtil=require(_0x16ba('0x18'));var db=require(_0x16ba('0x19'))['db'];function respondWithStatusCode(_0x556965,_0x1fccc5){_0x1fccc5=_0x1fccc5||0xcc;return function(_0xb53a3b){if(_0xb53a3b){return _0x556965['sendStatus'](_0x1fccc5);}return _0x556965[_0x16ba('0x1a')](_0x1fccc5)['end']();};}function respondWithResult(_0x16dd54,_0xd16187){_0xd16187=_0xd16187||0xc8;return function(_0x151ff4){if(_0x151ff4){return _0x16dd54[_0x16ba('0x1a')](_0xd16187)['json'](_0x151ff4);}};}function respondWithFilteredResult(_0x39f0cb,_0x1ae8bf){return function(_0x3deb86){if(_0x3deb86){var _0x2a60b8=typeof _0x1ae8bf['offset']===_0x16ba('0x1b')&&typeof _0x1ae8bf['limit']===_0x16ba('0x1b');var _0x5d3dae=_0x3deb86[_0x16ba('0x1c')];var _0x1d524e=_0x2a60b8?0x0:_0x1ae8bf[_0x16ba('0x1d')];var _0x3a59fd=_0x2a60b8?_0x3deb86['count']:_0x1ae8bf[_0x16ba('0x1d')]+_0x1ae8bf[_0x16ba('0x1e')];var _0x23a124;if(_0x3a59fd>=_0x5d3dae){_0x3a59fd=_0x5d3dae;_0x23a124=0xc8;}else{_0x23a124=0xce;}_0x39f0cb['status'](_0x23a124);return _0x39f0cb[_0x16ba('0x1f')]('Content-Range',_0x1d524e+'-'+_0x3a59fd+'/'+_0x5d3dae)[_0x16ba('0x20')](_0x3deb86);}return null;};}function patchUpdates(_0xd8f9f4){return function(_0x34febb){try{jsonpatch[_0x16ba('0x21')](_0x34febb,_0xd8f9f4,!![]);}catch(_0x2dc15c){return BPromise[_0x16ba('0x22')](_0x2dc15c);}return _0x34febb['save']();};}function saveUpdates(_0x236090,_0x2ec85e){return function(_0x193431){if(_0x193431){return _0x193431[_0x16ba('0x23')](_0x236090)['then'](function(_0x370e6d){return _0x370e6d;});}return null;};}function removeEntity(_0xa61b94,_0x1510e1){return function(_0x4e96d4){if(_0x4e96d4){return _0x4e96d4[_0x16ba('0x24')]()[_0x16ba('0x25')](function(){_0xa61b94[_0x16ba('0x1a')](0xcc)[_0x16ba('0x26')]();});}};}function handleEntityNotFound(_0x327491,_0x293f63){return function(_0x2f208d){if(!_0x2f208d){_0x327491[_0x16ba('0x27')](0x194);}return _0x2f208d;};}function handleError(_0x30663b,_0x35c746){_0x35c746=_0x35c746||0x1f4;return function(_0x2d8a50){logger[_0x16ba('0x28')](_0x2d8a50['stack']);if(_0x2d8a50[_0x16ba('0x29')]){delete _0x2d8a50[_0x16ba('0x29')];}_0x30663b[_0x16ba('0x1a')](_0x35c746)['send'](_0x2d8a50);};}exports[_0x16ba('0x2a')]=function(_0x374b73,_0x29905d){var _0x2bd120={},_0x4cc312={},_0x4e9942={'count':0x0,'rows':[]};var _0x6583b7=_[_0x16ba('0x2b')](db['AnalyticFieldReport'][_0x16ba('0x2c')],function(_0x5d4f06){return{'name':_0x5d4f06[_0x16ba('0x2d')],'type':_0x5d4f06[_0x16ba('0x2e')]['key']};});_0x4cc312[_0x16ba('0x2f')]=_[_0x16ba('0x2b')](_0x6583b7,_0x16ba('0x29'));_0x4cc312[_0x16ba('0x30')]=_[_0x16ba('0x31')](_0x374b73['query']);_0x4cc312[_0x16ba('0x32')]=_['intersection'](_0x4cc312[_0x16ba('0x2f')],_0x4cc312[_0x16ba('0x30')]);_0x2bd120['attributes']=_[_0x16ba('0x33')](_0x4cc312[_0x16ba('0x2f')],qs[_0x16ba('0x34')](_0x374b73[_0x16ba('0x30')]['fields']));_0x2bd120[_0x16ba('0x35')]=_0x2bd120[_0x16ba('0x35')]['length']?_0x2bd120[_0x16ba('0x35')]:_0x4cc312[_0x16ba('0x2f')];if(!_0x374b73[_0x16ba('0x30')][_0x16ba('0x36')](_0x16ba('0x37'))){_0x2bd120['limit']=qs[_0x16ba('0x1e')](_0x374b73['query'][_0x16ba('0x1e')]);_0x2bd120[_0x16ba('0x1d')]=qs[_0x16ba('0x1d')](_0x374b73['query'][_0x16ba('0x1d')]);}_0x2bd120[_0x16ba('0x38')]=qs[_0x16ba('0x39')](_0x374b73[_0x16ba('0x30')][_0x16ba('0x39')]);_0x2bd120[_0x16ba('0x3a')]=qs[_0x16ba('0x32')](_['pick'](_0x374b73[_0x16ba('0x30')],_0x4cc312['filters']),_0x6583b7);if(_0x374b73['query'][_0x16ba('0x3b')]){_0x2bd120[_0x16ba('0x3a')]=_['merge'](_0x2bd120[_0x16ba('0x3a')],{'$or':_['map'](_0x6583b7,function(_0x4c0430){if(_0x4c0430[_0x16ba('0x2e')]!==_0x16ba('0x3c')){var _0x41e3de={};_0x41e3de[_0x4c0430[_0x16ba('0x29')]]={'$like':'%'+_0x374b73['query']['filter']+'%'};return _0x41e3de;}})});}_0x2bd120=_[_0x16ba('0x3d')]({},_0x2bd120,_0x374b73[_0x16ba('0x3e')]);var _0x588286={'where':_0x2bd120[_0x16ba('0x3a')]};return db[_0x16ba('0x3f')][_0x16ba('0x1c')](_0x588286)['then'](function(_0x30950a){_0x4e9942[_0x16ba('0x1c')]=_0x30950a;if(_0x374b73['query']['includeAll']){_0x2bd120[_0x16ba('0x40')]=[{'all':!![]}];}return db[_0x16ba('0x3f')]['findAll'](_0x2bd120);})['then'](function(_0x255486){_0x4e9942[_0x16ba('0x41')]=_0x255486;return _0x4e9942;})[_0x16ba('0x25')](respondWithFilteredResult(_0x29905d,_0x2bd120))[_0x16ba('0x42')](handleError(_0x29905d,null));};exports[_0x16ba('0x43')]=function(_0xca144,_0x1d93bb){var _0xc8c8c2={'raw':![],'where':{'id':_0xca144['params']['id']}},_0x1c7fbb={};_0x1c7fbb[_0x16ba('0x2f')]=_[_0x16ba('0x31')](db[_0x16ba('0x3f')][_0x16ba('0x2c')]);_0x1c7fbb[_0x16ba('0x30')]=_[_0x16ba('0x31')](_0xca144[_0x16ba('0x30')]);_0x1c7fbb[_0x16ba('0x32')]=_[_0x16ba('0x33')](_0x1c7fbb['model'],_0x1c7fbb[_0x16ba('0x30')]);_0xc8c8c2['attributes']=_[_0x16ba('0x33')](_0x1c7fbb[_0x16ba('0x2f')],qs[_0x16ba('0x34')](_0xca144[_0x16ba('0x30')][_0x16ba('0x34')]));_0xc8c8c2['attributes']=_0xc8c8c2[_0x16ba('0x35')]['length']?_0xc8c8c2[_0x16ba('0x35')]:_0x1c7fbb[_0x16ba('0x2f')];if(_0xca144[_0x16ba('0x30')][_0x16ba('0x44')]){_0xc8c8c2['include']=[{'all':!![]}];}_0xc8c8c2=_['merge']({},_0xc8c8c2,_0xca144['options']);return db['AnalyticFieldReport'][_0x16ba('0x45')](_0xc8c8c2)[_0x16ba('0x25')](handleEntityNotFound(_0x1d93bb,null))['then'](respondWithResult(_0x1d93bb,null))['catch'](handleError(_0x1d93bb,null));};exports[_0x16ba('0x46')]=function(_0x3882d8,_0x41d0d5){return db['AnalyticFieldReport'][_0x16ba('0x46')](_0x3882d8[_0x16ba('0x47')],{})['then'](respondWithResult(_0x41d0d5,0xc9))['catch'](handleError(_0x41d0d5,null));};exports['bulkCreate']=function(_0x4b9d1a,_0x5e7417){return db['AnalyticFieldReport'][_0x16ba('0x48')](_0x4b9d1a[_0x16ba('0x47')],{'raw':![],'individualHooks':!![]})[_0x16ba('0x25')](respondWithResult(_0x5e7417,0xc9))[_0x16ba('0x42')](handleError(_0x5e7417,null));};exports[_0x16ba('0x23')]=function(_0x29d8f0,_0x2b098c){if(_0x29d8f0[_0x16ba('0x47')]['id']){delete _0x29d8f0['body']['id'];}return db[_0x16ba('0x3f')][_0x16ba('0x45')]({'where':{'id':_0x29d8f0[_0x16ba('0x49')]['id']}})[_0x16ba('0x25')](handleEntityNotFound(_0x2b098c,null))['then'](saveUpdates(_0x29d8f0[_0x16ba('0x47')],null))[_0x16ba('0x25')](respondWithResult(_0x2b098c,null))['catch'](handleError(_0x2b098c,null));};exports['destroy']=function(_0xff8bfe,_0x467d79){return db[_0x16ba('0x3f')]['find']({'where':{'id':_0xff8bfe[_0x16ba('0x49')]['id']}})['then'](handleEntityNotFound(_0x467d79,null))['then'](removeEntity(_0x467d79,null))['catch'](handleError(_0x467d79,null));};exports[_0x16ba('0x4a')]=function(_0x3d8b2e,_0x4f7891){return db[_0x16ba('0x3f')][_0x16ba('0x24')]({'where':{'id':_0x3d8b2e[_0x16ba('0x30')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x16ba('0x25')](respondWithResult(_0x4f7891,0xcc))[_0x16ba('0x42')](handleError(_0x4f7891,null));};exports['addFields']=function(_0x5410c2,_0x2dcd3e,_0x5c655e){return db[_0x16ba('0x4b')][_0x16ba('0x4c')]({'where':{'id':_0x5410c2['params']['id']}})[_0x16ba('0x25')](handleEntityNotFound(_0x2dcd3e,null))[_0x16ba('0x25')](function(_0x5727e5){if(_0x5727e5){return db[_0x16ba('0x4d')][_0x16ba('0x4e')](function(_0x4429ee){return db['AnalyticFieldReport'][_0x16ba('0x24')]({'where':{'CustomReportId':_0x5410c2[_0x16ba('0x49')]['id']},'transaction':_0x4429ee})[_0x16ba('0x25')](function(_0x434c1b){var _0x4bb477=_[_0x16ba('0x2b')](_0x5410c2[_0x16ba('0x47')],function(_0x56ce11){delete _0x56ce11['id'];_0x56ce11[_0x16ba('0x4f')]=_0x5410c2[_0x16ba('0x49')]['id'];return _0x56ce11;});return db['AnalyticFieldReport'][_0x16ba('0x48')](_0x4bb477,{'transaction':_0x4429ee});});})[_0x16ba('0x25')](function(){return db[_0x16ba('0x3f')][_0x16ba('0x50')]({'where':{'CustomReportId':_0x5410c2[_0x16ba('0x49')]['id']}});});}})[_0x16ba('0x25')](respondWithResult(_0x2dcd3e,null))['catch'](handleError(_0x2dcd3e,null));};