Built motion from commit f7863d46.|2.5.41
[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 _0x26ca=['merge','options','includeAll','include','findAll','catch','show','length','find','create','body','bulkCreate','update','params','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','CustomReportId','rimraf','fast-json-patch','request-promise','moment','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','save','then','destroy','stack','name','map','AnalyticFieldReport','fieldName','key','keys','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','type','VIRTUAL'];(function(_0x26d467,_0x864bb1){var _0x5b86dd=function(_0x393f83){while(--_0x393f83){_0x26d467['push'](_0x26d467['shift']());}};_0x5b86dd(++_0x864bb1);}(_0x26ca,0x161));var _0xa26c=function(_0x565ed7,_0x398228){_0x565ed7=_0x565ed7-0x0;var _0x183ad7=_0x26ca[_0x565ed7];return _0x183ad7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa26c('0x0'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa26c('0x1'));var rp=require(_0xa26c('0x2'));var moment=require(_0xa26c('0x3'));var BPromise=require('bluebird');var Mustache=require(_0xa26c('0x4'));var util=require(_0xa26c('0x5'));var path=require(_0xa26c('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xa26c('0x7'));var fs=require('fs');var fs_extra=require(_0xa26c('0x8'));var _=require(_0xa26c('0x9'));var squel=require(_0xa26c('0xa'));var crypto=require(_0xa26c('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xa26c('0xc'));var toCsv=require(_0xa26c('0xd'));var querystring=require(_0xa26c('0xe'));var Papa=require(_0xa26c('0xf'));var Redis=require(_0xa26c('0x10'));var authService=require(_0xa26c('0x11'));var qs=require(_0xa26c('0x12'));var as=require(_0xa26c('0x13'));var hardwareService=require(_0xa26c('0x14'));var logger=require(_0xa26c('0x15'))(_0xa26c('0x16'));var utils=require(_0xa26c('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0xa26c('0x18'));var db=require(_0xa26c('0x19'))['db'];function respondWithStatusCode(_0x19bab9,_0xf2f526){_0xf2f526=_0xf2f526||0xcc;return function(_0x37e4b3){if(_0x37e4b3){return _0x19bab9[_0xa26c('0x1a')](_0xf2f526);}return _0x19bab9[_0xa26c('0x1b')](_0xf2f526)[_0xa26c('0x1c')]();};}function respondWithResult(_0x15d2fa,_0x3bb93e){_0x3bb93e=_0x3bb93e||0xc8;return function(_0x1e446b){if(_0x1e446b){return _0x15d2fa[_0xa26c('0x1b')](_0x3bb93e)[_0xa26c('0x1d')](_0x1e446b);}};}function respondWithFilteredResult(_0x4cb467,_0x14979b){return function(_0x55c17b){if(_0x55c17b){var _0x2727d0=typeof _0x14979b['offset']==='undefined'&&typeof _0x14979b['limit']===_0xa26c('0x1e');var _0x409795=_0x55c17b[_0xa26c('0x1f')];var _0x1ff400=_0x2727d0?0x0:_0x14979b[_0xa26c('0x20')];var _0x4a7135=_0x2727d0?_0x55c17b[_0xa26c('0x1f')]:_0x14979b[_0xa26c('0x20')]+_0x14979b[_0xa26c('0x21')];var _0x16d5de;if(_0x4a7135>=_0x409795){_0x4a7135=_0x409795;_0x16d5de=0xc8;}else{_0x16d5de=0xce;}_0x4cb467[_0xa26c('0x1b')](_0x16d5de);return _0x4cb467[_0xa26c('0x22')](_0xa26c('0x23'),_0x1ff400+'-'+_0x4a7135+'/'+_0x409795)['json'](_0x55c17b);}return null;};}function patchUpdates(_0x3a1c09){return function(_0x12f6f1){try{jsonpatch[_0xa26c('0x24')](_0x12f6f1,_0x3a1c09,!![]);}catch(_0xbf9778){return BPromise['reject'](_0xbf9778);}return _0x12f6f1[_0xa26c('0x25')]();};}function saveUpdates(_0x50c4bf,_0x3ebbb1){return function(_0x530732){if(_0x530732){return _0x530732['update'](_0x50c4bf)[_0xa26c('0x26')](function(_0x432934){return _0x432934;});}return null;};}function removeEntity(_0x350447,_0xaaaf93){return function(_0x3ca203){if(_0x3ca203){return _0x3ca203[_0xa26c('0x27')]()['then'](function(){_0x350447[_0xa26c('0x1b')](0xcc)[_0xa26c('0x1c')]();});}};}function handleEntityNotFound(_0x5624db,_0x1fd085){return function(_0x42b5c6){if(!_0x42b5c6){_0x5624db[_0xa26c('0x1a')](0x194);}return _0x42b5c6;};}function handleError(_0x34621f,_0x166a00){_0x166a00=_0x166a00||0x1f4;return function(_0x222dad){logger['error'](_0x222dad[_0xa26c('0x28')]);if(_0x222dad[_0xa26c('0x29')]){delete _0x222dad['name'];}_0x34621f[_0xa26c('0x1b')](_0x166a00)['send'](_0x222dad);};}exports['index']=function(_0x510eec,_0x5a0d2a){var _0x40e89b={},_0x4d7672={},_0x26771e={'count':0x0,'rows':[]};var _0x78b37f=_[_0xa26c('0x2a')](db[_0xa26c('0x2b')]['rawAttributes'],function(_0x3fd9c0){return{'name':_0x3fd9c0[_0xa26c('0x2c')],'type':_0x3fd9c0['type'][_0xa26c('0x2d')]};});_0x4d7672['model']=_[_0xa26c('0x2a')](_0x78b37f,_0xa26c('0x29'));_0x4d7672['query']=_[_0xa26c('0x2e')](_0x510eec[_0xa26c('0x2f')]);_0x4d7672[_0xa26c('0x30')]=_[_0xa26c('0x31')](_0x4d7672[_0xa26c('0x32')],_0x4d7672[_0xa26c('0x2f')]);_0x40e89b[_0xa26c('0x33')]=_['intersection'](_0x4d7672['model'],qs[_0xa26c('0x34')](_0x510eec[_0xa26c('0x2f')]['fields']));_0x40e89b[_0xa26c('0x33')]=_0x40e89b['attributes']['length']?_0x40e89b[_0xa26c('0x33')]:_0x4d7672[_0xa26c('0x32')];if(!_0x510eec[_0xa26c('0x2f')][_0xa26c('0x35')](_0xa26c('0x36'))){_0x40e89b['limit']=qs[_0xa26c('0x21')](_0x510eec[_0xa26c('0x2f')]['limit']);_0x40e89b['offset']=qs['offset'](_0x510eec['query'][_0xa26c('0x20')]);}_0x40e89b[_0xa26c('0x37')]=qs['sort'](_0x510eec[_0xa26c('0x2f')][_0xa26c('0x38')]);_0x40e89b['where']=qs[_0xa26c('0x30')](_[_0xa26c('0x39')](_0x510eec['query'],_0x4d7672[_0xa26c('0x30')]),_0x78b37f);if(_0x510eec[_0xa26c('0x2f')][_0xa26c('0x3a')]){_0x40e89b[_0xa26c('0x3b')]=_['merge'](_0x40e89b[_0xa26c('0x3b')],{'$or':_[_0xa26c('0x2a')](_0x78b37f,function(_0x5908a4){if(_0x5908a4[_0xa26c('0x3c')]!==_0xa26c('0x3d')){var _0xab28c={};_0xab28c[_0x5908a4[_0xa26c('0x29')]]={'$like':'%'+_0x510eec[_0xa26c('0x2f')]['filter']+'%'};return _0xab28c;}})});}_0x40e89b=_[_0xa26c('0x3e')]({},_0x40e89b,_0x510eec[_0xa26c('0x3f')]);var _0x49c73e={'where':_0x40e89b[_0xa26c('0x3b')]};return db[_0xa26c('0x2b')][_0xa26c('0x1f')](_0x49c73e)[_0xa26c('0x26')](function(_0x5c7ff3){_0x26771e[_0xa26c('0x1f')]=_0x5c7ff3;if(_0x510eec[_0xa26c('0x2f')][_0xa26c('0x40')]){_0x40e89b[_0xa26c('0x41')]=[{'all':!![]}];}return db[_0xa26c('0x2b')][_0xa26c('0x42')](_0x40e89b);})['then'](function(_0x1a0eae){_0x26771e['rows']=_0x1a0eae;return _0x26771e;})[_0xa26c('0x26')](respondWithFilteredResult(_0x5a0d2a,_0x40e89b))[_0xa26c('0x43')](handleError(_0x5a0d2a,null));};exports[_0xa26c('0x44')]=function(_0x2504a4,_0x661aa9){var _0x4b2d69={'raw':![],'where':{'id':_0x2504a4['params']['id']}},_0x4ce729={};_0x4ce729[_0xa26c('0x32')]=_[_0xa26c('0x2e')](db[_0xa26c('0x2b')]['rawAttributes']);_0x4ce729[_0xa26c('0x2f')]=_[_0xa26c('0x2e')](_0x2504a4[_0xa26c('0x2f')]);_0x4ce729[_0xa26c('0x30')]=_['intersection'](_0x4ce729[_0xa26c('0x32')],_0x4ce729[_0xa26c('0x2f')]);_0x4b2d69[_0xa26c('0x33')]=_[_0xa26c('0x31')](_0x4ce729[_0xa26c('0x32')],qs[_0xa26c('0x34')](_0x2504a4[_0xa26c('0x2f')]['fields']));_0x4b2d69[_0xa26c('0x33')]=_0x4b2d69[_0xa26c('0x33')][_0xa26c('0x45')]?_0x4b2d69[_0xa26c('0x33')]:_0x4ce729[_0xa26c('0x32')];if(_0x2504a4['query'][_0xa26c('0x40')]){_0x4b2d69[_0xa26c('0x41')]=[{'all':!![]}];}_0x4b2d69=_[_0xa26c('0x3e')]({},_0x4b2d69,_0x2504a4[_0xa26c('0x3f')]);return db['AnalyticFieldReport'][_0xa26c('0x46')](_0x4b2d69)[_0xa26c('0x26')](handleEntityNotFound(_0x661aa9,null))[_0xa26c('0x26')](respondWithResult(_0x661aa9,null))['catch'](handleError(_0x661aa9,null));};exports[_0xa26c('0x47')]=function(_0x2a474f,_0x5b0d53){return db[_0xa26c('0x2b')]['create'](_0x2a474f[_0xa26c('0x48')],{})[_0xa26c('0x26')](respondWithResult(_0x5b0d53,0xc9))[_0xa26c('0x43')](handleError(_0x5b0d53,null));};exports[_0xa26c('0x49')]=function(_0x119609,_0x34585f){return db[_0xa26c('0x2b')]['bulkCreate'](_0x119609[_0xa26c('0x48')],{'raw':![],'individualHooks':!![]})[_0xa26c('0x26')](respondWithResult(_0x34585f,0xc9))[_0xa26c('0x43')](handleError(_0x34585f,null));};exports[_0xa26c('0x4a')]=function(_0x44f584,_0x4db056){if(_0x44f584[_0xa26c('0x48')]['id']){delete _0x44f584['body']['id'];}return db[_0xa26c('0x2b')]['find']({'where':{'id':_0x44f584[_0xa26c('0x4b')]['id']}})[_0xa26c('0x26')](handleEntityNotFound(_0x4db056,null))[_0xa26c('0x26')](saveUpdates(_0x44f584['body'],null))[_0xa26c('0x26')](respondWithResult(_0x4db056,null))[_0xa26c('0x43')](handleError(_0x4db056,null));};exports['destroy']=function(_0x5e0ef2,_0x15103b){return db[_0xa26c('0x2b')][_0xa26c('0x46')]({'where':{'id':_0x5e0ef2[_0xa26c('0x4b')]['id']}})[_0xa26c('0x26')](handleEntityNotFound(_0x15103b,null))['then'](removeEntity(_0x15103b,null))[_0xa26c('0x43')](handleError(_0x15103b,null));};exports[_0xa26c('0x4c')]=function(_0x5a6f71,_0xccb577){return db[_0xa26c('0x2b')][_0xa26c('0x27')]({'where':{'id':_0x5a6f71[_0xa26c('0x2f')][_0xa26c('0x4d')]||[]},'raw':![],'individualHooks':!![]})[_0xa26c('0x26')](respondWithResult(_0xccb577,0xcc))[_0xa26c('0x43')](handleError(_0xccb577,null));};exports[_0xa26c('0x4e')]=function(_0xb73325,_0x1ed97d,_0x9a486b){return db[_0xa26c('0x4f')][_0xa26c('0x50')]({'where':{'id':_0xb73325[_0xa26c('0x4b')]['id']}})['then'](handleEntityNotFound(_0x1ed97d,null))[_0xa26c('0x26')](function(_0x1ed859){if(_0x1ed859){return db[_0xa26c('0x51')]['transaction'](function(_0x2de34d){return db[_0xa26c('0x2b')][_0xa26c('0x27')]({'where':{'CustomReportId':_0xb73325[_0xa26c('0x4b')]['id']},'transaction':_0x2de34d})[_0xa26c('0x26')](function(_0x440403){var _0x1dd397=_[_0xa26c('0x2a')](_0xb73325[_0xa26c('0x48')],function(_0x3edb62){delete _0x3edb62['id'];_0x3edb62[_0xa26c('0x52')]=_0xb73325['params']['id'];return _0x3edb62;});return db[_0xa26c('0x2b')][_0xa26c('0x49')](_0x1dd397,{'transaction':_0x2de34d});});})[_0xa26c('0x26')](function(){return db[_0xa26c('0x2b')][_0xa26c('0x42')]({'where':{'CustomReportId':_0xb73325[_0xa26c('0x4b')]['id']}});});}})['then'](respondWithResult(_0x1ed97d,null))[_0xa26c('0x43')](handleError(_0x1ed97d,null));};