Built motion from commit 97153652.|2.6.26
[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 _0xf350=['pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','keys','bulkCreate','body','find','destroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','eml-format','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','fs-extra','lodash','jsforce','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','json','offset','undefined','limit','count','status','set','Content-Range','apply','reject','save','update','then','end','error','name','send','index','AnalyticFieldReport','rawAttributes','fieldName','type','key','map','query','filters','intersection','attributes','model','fields','length','hasOwnProperty','nolimit','sort','where'];(function(_0x29de5a,_0x34201f){var _0x11339a=function(_0x4e6ce9){while(--_0x4e6ce9){_0x29de5a['push'](_0x29de5a['shift']());}};_0x11339a(++_0x34201f);}(_0xf350,0x105));var _0x0f35=function(_0x4565bf,_0x5ad9d6){_0x4565bf=_0x4565bf-0x0;var _0x5610ba=_0xf350[_0x4565bf];return _0x5610ba;};'use strict';var emlformat=require(_0x0f35('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x0f35('0x1'));var rp=require(_0x0f35('0x2'));var moment=require(_0x0f35('0x3'));var BPromise=require(_0x0f35('0x4'));var Mustache=require(_0x0f35('0x5'));var util=require(_0x0f35('0x6'));var path=require(_0x0f35('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0f35('0x8'));var _=require(_0x0f35('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x0f35('0xa'));var deskjs=require('desk.js');var toCsv=require(_0x0f35('0xb'));var querystring=require('querystring');var Papa=require(_0x0f35('0xc'));var Redis=require(_0x0f35('0xd'));var authService=require(_0x0f35('0xe'));var qs=require(_0x0f35('0xf'));var as=require(_0x0f35('0x10'));var hardwareService=require(_0x0f35('0x11'));var logger=require(_0x0f35('0x12'))(_0x0f35('0x13'));var utils=require(_0x0f35('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x0f35('0x15'));var db=require(_0x0f35('0x16'))['db'];function respondWithStatusCode(_0x515954,_0x21698e){_0x21698e=_0x21698e||0xcc;return function(_0x579b38){if(_0x579b38){return _0x515954[_0x0f35('0x17')](_0x21698e);}return _0x515954['status'](_0x21698e)['end']();};}function respondWithResult(_0x1a2f7c,_0x20cfb8){_0x20cfb8=_0x20cfb8||0xc8;return function(_0x322ed3){if(_0x322ed3){return _0x1a2f7c['status'](_0x20cfb8)[_0x0f35('0x18')](_0x322ed3);}};}function respondWithFilteredResult(_0x4011ab,_0x25e86d){return function(_0x38d9de){if(_0x38d9de){var _0xa07e54=typeof _0x25e86d[_0x0f35('0x19')]===_0x0f35('0x1a')&&typeof _0x25e86d[_0x0f35('0x1b')]===_0x0f35('0x1a');var _0x34b759=_0x38d9de[_0x0f35('0x1c')];var _0x1bcf51=_0xa07e54?0x0:_0x25e86d[_0x0f35('0x19')];var _0x496ff9=_0xa07e54?_0x38d9de[_0x0f35('0x1c')]:_0x25e86d[_0x0f35('0x19')]+_0x25e86d[_0x0f35('0x1b')];var _0x190ee7;if(_0x496ff9>=_0x34b759){_0x496ff9=_0x34b759;_0x190ee7=0xc8;}else{_0x190ee7=0xce;}_0x4011ab[_0x0f35('0x1d')](_0x190ee7);return _0x4011ab[_0x0f35('0x1e')](_0x0f35('0x1f'),_0x1bcf51+'-'+_0x496ff9+'/'+_0x34b759)[_0x0f35('0x18')](_0x38d9de);}return null;};}function patchUpdates(_0x2edf27){return function(_0x19dacb){try{jsonpatch[_0x0f35('0x20')](_0x19dacb,_0x2edf27,!![]);}catch(_0x1ecc64){return BPromise[_0x0f35('0x21')](_0x1ecc64);}return _0x19dacb[_0x0f35('0x22')]();};}function saveUpdates(_0x152e01,_0x42aaa0){return function(_0x4c7b08){if(_0x4c7b08){return _0x4c7b08[_0x0f35('0x23')](_0x152e01)[_0x0f35('0x24')](function(_0x43cf26){return _0x43cf26;});}return null;};}function removeEntity(_0x47d9ee,_0x4a71ed){return function(_0x252515){if(_0x252515){return _0x252515['destroy']()[_0x0f35('0x24')](function(){_0x47d9ee[_0x0f35('0x1d')](0xcc)[_0x0f35('0x25')]();});}};}function handleEntityNotFound(_0x494140,_0x1aed0a){return function(_0x3ce83d){if(!_0x3ce83d){_0x494140[_0x0f35('0x17')](0x194);}return _0x3ce83d;};}function handleError(_0x4a43c7,_0x4863f9){_0x4863f9=_0x4863f9||0x1f4;return function(_0x9091f0){logger[_0x0f35('0x26')](_0x9091f0['stack']);if(_0x9091f0[_0x0f35('0x27')]){delete _0x9091f0[_0x0f35('0x27')];}_0x4a43c7[_0x0f35('0x1d')](_0x4863f9)[_0x0f35('0x28')](_0x9091f0);};}exports[_0x0f35('0x29')]=function(_0x100301,_0x81ec3f){var _0x5d93f2={},_0x4021aa={},_0x3081f8={'count':0x0,'rows':[]};var _0x5cdf8=_['map'](db[_0x0f35('0x2a')][_0x0f35('0x2b')],function(_0x3d4a2d){return{'name':_0x3d4a2d[_0x0f35('0x2c')],'type':_0x3d4a2d[_0x0f35('0x2d')][_0x0f35('0x2e')]};});_0x4021aa['model']=_[_0x0f35('0x2f')](_0x5cdf8,_0x0f35('0x27'));_0x4021aa[_0x0f35('0x30')]=_['keys'](_0x100301[_0x0f35('0x30')]);_0x4021aa[_0x0f35('0x31')]=_[_0x0f35('0x32')](_0x4021aa['model'],_0x4021aa[_0x0f35('0x30')]);_0x5d93f2[_0x0f35('0x33')]=_[_0x0f35('0x32')](_0x4021aa[_0x0f35('0x34')],qs['fields'](_0x100301[_0x0f35('0x30')][_0x0f35('0x35')]));_0x5d93f2[_0x0f35('0x33')]=_0x5d93f2[_0x0f35('0x33')][_0x0f35('0x36')]?_0x5d93f2[_0x0f35('0x33')]:_0x4021aa[_0x0f35('0x34')];if(!_0x100301[_0x0f35('0x30')][_0x0f35('0x37')](_0x0f35('0x38'))){_0x5d93f2[_0x0f35('0x1b')]=qs[_0x0f35('0x1b')](_0x100301[_0x0f35('0x30')]['limit']);_0x5d93f2['offset']=qs[_0x0f35('0x19')](_0x100301[_0x0f35('0x30')]['offset']);}_0x5d93f2['order']=qs[_0x0f35('0x39')](_0x100301[_0x0f35('0x30')]['sort']);_0x5d93f2[_0x0f35('0x3a')]=qs['filters'](_[_0x0f35('0x3b')](_0x100301[_0x0f35('0x30')],_0x4021aa[_0x0f35('0x31')]),_0x5cdf8);if(_0x100301['query'][_0x0f35('0x3c')]){_0x5d93f2['where']=_[_0x0f35('0x3d')](_0x5d93f2[_0x0f35('0x3a')],{'$or':_[_0x0f35('0x2f')](_0x5cdf8,function(_0x1d58df){if(_0x1d58df[_0x0f35('0x2d')]!==_0x0f35('0x3e')){var _0x42e795={};_0x42e795[_0x1d58df[_0x0f35('0x27')]]={'$like':'%'+_0x100301[_0x0f35('0x30')][_0x0f35('0x3c')]+'%'};return _0x42e795;}})});}_0x5d93f2=_[_0x0f35('0x3d')]({},_0x5d93f2,_0x100301[_0x0f35('0x3f')]);var _0x640ce8={'where':_0x5d93f2['where']};return db['AnalyticFieldReport']['count'](_0x640ce8)[_0x0f35('0x24')](function(_0x5059af){_0x3081f8[_0x0f35('0x1c')]=_0x5059af;if(_0x100301[_0x0f35('0x30')][_0x0f35('0x40')]){_0x5d93f2[_0x0f35('0x41')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x0f35('0x42')](_0x5d93f2);})[_0x0f35('0x24')](function(_0x49c115){_0x3081f8[_0x0f35('0x43')]=_0x49c115;return _0x3081f8;})[_0x0f35('0x24')](respondWithFilteredResult(_0x81ec3f,_0x5d93f2))[_0x0f35('0x44')](handleError(_0x81ec3f,null));};exports['show']=function(_0x35bf7f,_0x531dac){var _0x1eb325={'raw':![],'where':{'id':_0x35bf7f[_0x0f35('0x45')]['id']}},_0x3e880a={};_0x3e880a[_0x0f35('0x34')]=_[_0x0f35('0x46')](db[_0x0f35('0x2a')]['rawAttributes']);_0x3e880a['query']=_[_0x0f35('0x46')](_0x35bf7f[_0x0f35('0x30')]);_0x3e880a[_0x0f35('0x31')]=_['intersection'](_0x3e880a[_0x0f35('0x34')],_0x3e880a[_0x0f35('0x30')]);_0x1eb325['attributes']=_[_0x0f35('0x32')](_0x3e880a[_0x0f35('0x34')],qs[_0x0f35('0x35')](_0x35bf7f['query']['fields']));_0x1eb325[_0x0f35('0x33')]=_0x1eb325[_0x0f35('0x33')][_0x0f35('0x36')]?_0x1eb325[_0x0f35('0x33')]:_0x3e880a['model'];if(_0x35bf7f['query']['includeAll']){_0x1eb325[_0x0f35('0x41')]=[{'all':!![]}];}_0x1eb325=_[_0x0f35('0x3d')]({},_0x1eb325,_0x35bf7f[_0x0f35('0x3f')]);return db[_0x0f35('0x2a')]['find'](_0x1eb325)[_0x0f35('0x24')](handleEntityNotFound(_0x531dac,null))[_0x0f35('0x24')](respondWithResult(_0x531dac,null))[_0x0f35('0x44')](handleError(_0x531dac,null));};exports['create']=function(_0x2c18ae,_0x6eafce){return db[_0x0f35('0x2a')]['create'](_0x2c18ae['body'],{})[_0x0f35('0x24')](respondWithResult(_0x6eafce,0xc9))['catch'](handleError(_0x6eafce,null));};exports[_0x0f35('0x47')]=function(_0x1af57d,_0x28bc42){return db[_0x0f35('0x2a')]['bulkCreate'](_0x1af57d[_0x0f35('0x48')],{'raw':![],'individualHooks':!![]})[_0x0f35('0x24')](respondWithResult(_0x28bc42,0xc9))[_0x0f35('0x44')](handleError(_0x28bc42,null));};exports[_0x0f35('0x23')]=function(_0x219469,_0x4cac98){if(_0x219469[_0x0f35('0x48')]['id']){delete _0x219469[_0x0f35('0x48')]['id'];}return db[_0x0f35('0x2a')][_0x0f35('0x49')]({'where':{'id':_0x219469[_0x0f35('0x45')]['id']}})[_0x0f35('0x24')](handleEntityNotFound(_0x4cac98,null))[_0x0f35('0x24')](saveUpdates(_0x219469[_0x0f35('0x48')],null))['then'](respondWithResult(_0x4cac98,null))['catch'](handleError(_0x4cac98,null));};exports[_0x0f35('0x4a')]=function(_0xf9ad33,_0x235ce6){return db['AnalyticFieldReport']['find']({'where':{'id':_0xf9ad33[_0x0f35('0x45')]['id']}})['then'](handleEntityNotFound(_0x235ce6,null))[_0x0f35('0x24')](removeEntity(_0x235ce6,null))[_0x0f35('0x44')](handleError(_0x235ce6,null));};exports['bulkDestroy']=function(_0x5311ba,_0x28d29b){return db[_0x0f35('0x2a')]['destroy']({'where':{'id':_0x5311ba[_0x0f35('0x30')][_0x0f35('0x4b')]||[]},'raw':![],'individualHooks':!![]})[_0x0f35('0x24')](respondWithResult(_0x28d29b,0xcc))[_0x0f35('0x44')](handleError(_0x28d29b,null));};exports[_0x0f35('0x4c')]=function(_0x29669a,_0x409a08,_0x281abd){return db[_0x0f35('0x4d')][_0x0f35('0x4e')]({'where':{'id':_0x29669a[_0x0f35('0x45')]['id']}})['then'](handleEntityNotFound(_0x409a08,null))[_0x0f35('0x24')](function(_0x1246cf){if(_0x1246cf){return db[_0x0f35('0x4f')]['transaction'](function(_0x1d803e){return db[_0x0f35('0x2a')][_0x0f35('0x4a')]({'where':{'CustomReportId':_0x29669a['params']['id']},'transaction':_0x1d803e})[_0x0f35('0x24')](function(_0x43e3ec){var _0x249072=_['map'](_0x29669a[_0x0f35('0x48')],function(_0x3ae1b2){delete _0x3ae1b2['id'];_0x3ae1b2['CustomReportId']=_0x29669a[_0x0f35('0x45')]['id'];return _0x3ae1b2;});return db['AnalyticFieldReport'][_0x0f35('0x47')](_0x249072,{'transaction':_0x1d803e});});})[_0x0f35('0x24')](function(){return db[_0x0f35('0x2a')][_0x0f35('0x42')]({'where':{'CustomReportId':_0x29669a[_0x0f35('0x45')]['id']}});});}})[_0x0f35('0x24')](respondWithResult(_0x409a08,null))[_0x0f35('0x44')](handleError(_0x409a08,null));};