Built motion from commit ab870f9e.|2.5.44
[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 _0x510c=['mustache','util','path','ejs','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range','reject','update','destroy','then','end','error','name','send','map','AnalyticFieldReport','rawAttributes','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','include','findAll','params','includeAll','find','catch','create','body','bulkCreate','addFields','findOne','sequelize','CustomReportId','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird'];(function(_0x728a0d,_0x44ca89){var _0xc575ed=function(_0x418c03){while(--_0x418c03){_0x728a0d['push'](_0x728a0d['shift']());}};_0xc575ed(++_0x44ca89);}(_0x510c,0xdb));var _0xc510=function(_0x19c650,_0x5e6279){_0x19c650=_0x19c650-0x0;var _0x29cc76=_0x510c[_0x19c650];return _0x29cc76;};'use strict';var emlformat=require(_0xc510('0x0'));var rimraf=require(_0xc510('0x1'));var zipdir=require(_0xc510('0x2'));var jsonpatch=require(_0xc510('0x3'));var rp=require(_0xc510('0x4'));var moment=require('moment');var BPromise=require(_0xc510('0x5'));var Mustache=require(_0xc510('0x6'));var util=require(_0xc510('0x7'));var path=require(_0xc510('0x8'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xc510('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc510('0xa'));var squel=require('squel');var crypto=require(_0xc510('0xb'));var jsforce=require(_0xc510('0xc'));var deskjs=require('desk.js');var toCsv=require(_0xc510('0xd'));var querystring=require(_0xc510('0xe'));var Papa=require(_0xc510('0xf'));var Redis=require(_0xc510('0x10'));var authService=require(_0xc510('0x11'));var qs=require(_0xc510('0x12'));var as=require(_0xc510('0x13'));var hardwareService=require(_0xc510('0x14'));var logger=require(_0xc510('0x15'))(_0xc510('0x16'));var utils=require('../../config/utils');var config=require(_0xc510('0x17'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x53711b,_0x175c6f){_0x175c6f=_0x175c6f||0xcc;return function(_0x806f53){if(_0x806f53){return _0x53711b[_0xc510('0x18')](_0x175c6f);}return _0x53711b['status'](_0x175c6f)['end']();};}function respondWithResult(_0x133863,_0x75b083){_0x75b083=_0x75b083||0xc8;return function(_0x4fd6b9){if(_0x4fd6b9){return _0x133863[_0xc510('0x19')](_0x75b083)[_0xc510('0x1a')](_0x4fd6b9);}};}function respondWithFilteredResult(_0x2c17ac,_0x2666c9){return function(_0xdfaeb7){if(_0xdfaeb7){var _0x2004c7=typeof _0x2666c9[_0xc510('0x1b')]===_0xc510('0x1c')&&typeof _0x2666c9[_0xc510('0x1d')]===_0xc510('0x1c');var _0x44c0e0=_0xdfaeb7[_0xc510('0x1e')];var _0x995bef=_0x2004c7?0x0:_0x2666c9[_0xc510('0x1b')];var _0x2da9e7=_0x2004c7?_0xdfaeb7[_0xc510('0x1e')]:_0x2666c9[_0xc510('0x1b')]+_0x2666c9['limit'];var _0x128160;if(_0x2da9e7>=_0x44c0e0){_0x2da9e7=_0x44c0e0;_0x128160=0xc8;}else{_0x128160=0xce;}_0x2c17ac[_0xc510('0x19')](_0x128160);return _0x2c17ac[_0xc510('0x1f')](_0xc510('0x20'),_0x995bef+'-'+_0x2da9e7+'/'+_0x44c0e0)['json'](_0xdfaeb7);}return null;};}function patchUpdates(_0x15ec7f){return function(_0x2bfa22){try{jsonpatch['apply'](_0x2bfa22,_0x15ec7f,!![]);}catch(_0x1e600c){return BPromise[_0xc510('0x21')](_0x1e600c);}return _0x2bfa22['save']();};}function saveUpdates(_0x301aaf,_0x1a1729){return function(_0x436898){if(_0x436898){return _0x436898[_0xc510('0x22')](_0x301aaf)['then'](function(_0x3e7cea){return _0x3e7cea;});}return null;};}function removeEntity(_0xeaafa1,_0x13e8fc){return function(_0x63c2a2){if(_0x63c2a2){return _0x63c2a2[_0xc510('0x23')]()[_0xc510('0x24')](function(){_0xeaafa1['status'](0xcc)[_0xc510('0x25')]();});}};}function handleEntityNotFound(_0x46365a,_0x898be0){return function(_0x13e67d){if(!_0x13e67d){_0x46365a[_0xc510('0x18')](0x194);}return _0x13e67d;};}function handleError(_0x5989fc,_0x113e9f){_0x113e9f=_0x113e9f||0x1f4;return function(_0xb66a1e){logger[_0xc510('0x26')](_0xb66a1e['stack']);if(_0xb66a1e[_0xc510('0x27')]){delete _0xb66a1e['name'];}_0x5989fc[_0xc510('0x19')](_0x113e9f)[_0xc510('0x28')](_0xb66a1e);};}exports['index']=function(_0x500fb8,_0x157fa8){var _0x372d8e={},_0x3cbb1b={},_0x377a8c={'count':0x0,'rows':[]};var _0x334a1f=_[_0xc510('0x29')](db[_0xc510('0x2a')][_0xc510('0x2b')],function(_0x25e768){return{'name':_0x25e768['fieldName'],'type':_0x25e768[_0xc510('0x2c')][_0xc510('0x2d')]};});_0x3cbb1b[_0xc510('0x2e')]=_[_0xc510('0x29')](_0x334a1f,_0xc510('0x27'));_0x3cbb1b[_0xc510('0x2f')]=_[_0xc510('0x30')](_0x500fb8[_0xc510('0x2f')]);_0x3cbb1b[_0xc510('0x31')]=_[_0xc510('0x32')](_0x3cbb1b[_0xc510('0x2e')],_0x3cbb1b[_0xc510('0x2f')]);_0x372d8e['attributes']=_[_0xc510('0x32')](_0x3cbb1b[_0xc510('0x2e')],qs[_0xc510('0x33')](_0x500fb8[_0xc510('0x2f')][_0xc510('0x33')]));_0x372d8e[_0xc510('0x34')]=_0x372d8e[_0xc510('0x34')][_0xc510('0x35')]?_0x372d8e[_0xc510('0x34')]:_0x3cbb1b[_0xc510('0x2e')];if(!_0x500fb8[_0xc510('0x2f')][_0xc510('0x36')](_0xc510('0x37'))){_0x372d8e[_0xc510('0x1d')]=qs[_0xc510('0x1d')](_0x500fb8[_0xc510('0x2f')]['limit']);_0x372d8e[_0xc510('0x1b')]=qs[_0xc510('0x1b')](_0x500fb8['query'][_0xc510('0x1b')]);}_0x372d8e[_0xc510('0x38')]=qs[_0xc510('0x39')](_0x500fb8[_0xc510('0x2f')][_0xc510('0x39')]);_0x372d8e[_0xc510('0x3a')]=qs[_0xc510('0x31')](_['pick'](_0x500fb8[_0xc510('0x2f')],_0x3cbb1b[_0xc510('0x31')]),_0x334a1f);if(_0x500fb8[_0xc510('0x2f')][_0xc510('0x3b')]){_0x372d8e['where']=_['merge'](_0x372d8e['where'],{'$or':_[_0xc510('0x29')](_0x334a1f,function(_0x4afd64){if(_0x4afd64[_0xc510('0x2c')]!=='VIRTUAL'){var _0x46ffc0={};_0x46ffc0[_0x4afd64[_0xc510('0x27')]]={'$like':'%'+_0x500fb8[_0xc510('0x2f')][_0xc510('0x3b')]+'%'};return _0x46ffc0;}})});}_0x372d8e=_[_0xc510('0x3c')]({},_0x372d8e,_0x500fb8[_0xc510('0x3d')]);var _0x4ecd9b={'where':_0x372d8e[_0xc510('0x3a')]};return db[_0xc510('0x2a')][_0xc510('0x1e')](_0x4ecd9b)[_0xc510('0x24')](function(_0x36e252){_0x377a8c[_0xc510('0x1e')]=_0x36e252;if(_0x500fb8[_0xc510('0x2f')]['includeAll']){_0x372d8e[_0xc510('0x3e')]=[{'all':!![]}];}return db[_0xc510('0x2a')][_0xc510('0x3f')](_0x372d8e);})[_0xc510('0x24')](function(_0x1db811){_0x377a8c['rows']=_0x1db811;return _0x377a8c;})['then'](respondWithFilteredResult(_0x157fa8,_0x372d8e))['catch'](handleError(_0x157fa8,null));};exports['show']=function(_0x3f4c13,_0x4cb3f4){var _0xb3866c={'raw':![],'where':{'id':_0x3f4c13[_0xc510('0x40')]['id']}},_0x55b72e={};_0x55b72e[_0xc510('0x2e')]=_[_0xc510('0x30')](db[_0xc510('0x2a')][_0xc510('0x2b')]);_0x55b72e['query']=_[_0xc510('0x30')](_0x3f4c13[_0xc510('0x2f')]);_0x55b72e[_0xc510('0x31')]=_[_0xc510('0x32')](_0x55b72e[_0xc510('0x2e')],_0x55b72e[_0xc510('0x2f')]);_0xb3866c[_0xc510('0x34')]=_[_0xc510('0x32')](_0x55b72e[_0xc510('0x2e')],qs[_0xc510('0x33')](_0x3f4c13[_0xc510('0x2f')][_0xc510('0x33')]));_0xb3866c[_0xc510('0x34')]=_0xb3866c[_0xc510('0x34')][_0xc510('0x35')]?_0xb3866c['attributes']:_0x55b72e['model'];if(_0x3f4c13['query'][_0xc510('0x41')]){_0xb3866c['include']=[{'all':!![]}];}_0xb3866c=_[_0xc510('0x3c')]({},_0xb3866c,_0x3f4c13[_0xc510('0x3d')]);return db[_0xc510('0x2a')][_0xc510('0x42')](_0xb3866c)[_0xc510('0x24')](handleEntityNotFound(_0x4cb3f4,null))[_0xc510('0x24')](respondWithResult(_0x4cb3f4,null))[_0xc510('0x43')](handleError(_0x4cb3f4,null));};exports['create']=function(_0x41fff1,_0x32d7a4){return db[_0xc510('0x2a')][_0xc510('0x44')](_0x41fff1[_0xc510('0x45')],{})[_0xc510('0x24')](respondWithResult(_0x32d7a4,0xc9))['catch'](handleError(_0x32d7a4,null));};exports[_0xc510('0x46')]=function(_0x113ff2,_0xe88138){return db[_0xc510('0x2a')][_0xc510('0x46')](_0x113ff2[_0xc510('0x45')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0xe88138,0xc9))[_0xc510('0x43')](handleError(_0xe88138,null));};exports['update']=function(_0xbdcc3,_0x463c7e){if(_0xbdcc3['body']['id']){delete _0xbdcc3[_0xc510('0x45')]['id'];}return db[_0xc510('0x2a')][_0xc510('0x42')]({'where':{'id':_0xbdcc3[_0xc510('0x40')]['id']}})[_0xc510('0x24')](handleEntityNotFound(_0x463c7e,null))['then'](saveUpdates(_0xbdcc3[_0xc510('0x45')],null))[_0xc510('0x24')](respondWithResult(_0x463c7e,null))[_0xc510('0x43')](handleError(_0x463c7e,null));};exports['destroy']=function(_0x5d2689,_0x5c8024){return db[_0xc510('0x2a')][_0xc510('0x42')]({'where':{'id':_0x5d2689[_0xc510('0x40')]['id']}})[_0xc510('0x24')](handleEntityNotFound(_0x5c8024,null))[_0xc510('0x24')](removeEntity(_0x5c8024,null))[_0xc510('0x43')](handleError(_0x5c8024,null));};exports['bulkDestroy']=function(_0x4f8a6a,_0x295cf8){return db['AnalyticFieldReport'][_0xc510('0x23')]({'where':{'id':_0x4f8a6a[_0xc510('0x2f')]['ids']||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x295cf8,0xcc))['catch'](handleError(_0x295cf8,null));};exports[_0xc510('0x47')]=function(_0x489eaf,_0x141fba,_0x5e4597){return db['AnalyticCustomReport'][_0xc510('0x48')]({'where':{'id':_0x489eaf[_0xc510('0x40')]['id']}})[_0xc510('0x24')](handleEntityNotFound(_0x141fba,null))[_0xc510('0x24')](function(_0x54115e){if(_0x54115e){return db[_0xc510('0x49')]['transaction'](function(_0x50d24f){return db[_0xc510('0x2a')][_0xc510('0x23')]({'where':{'CustomReportId':_0x489eaf[_0xc510('0x40')]['id']},'transaction':_0x50d24f})[_0xc510('0x24')](function(_0x18aca0){var _0x144032=_[_0xc510('0x29')](_0x489eaf['body'],function(_0x5ea098){delete _0x5ea098['id'];_0x5ea098[_0xc510('0x4a')]=_0x489eaf[_0xc510('0x40')]['id'];return _0x5ea098;});return db['AnalyticFieldReport']['bulkCreate'](_0x144032,{'transaction':_0x50d24f});});})[_0xc510('0x24')](function(){return db[_0xc510('0x2a')][_0xc510('0x3f')]({'where':{'CustomReportId':_0x489eaf[_0xc510('0x40')]['id']}});});}})[_0xc510('0x24')](respondWithResult(_0x141fba,null))[_0xc510('0x43')](handleError(_0x141fba,null));};