Built motion from commit (unavailable).|2.5.4
[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 _0xd8ca=['save','update','then','destroy','sendStatus','error','name','send','map','AnalyticFieldReport','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','where','pick','merge','type','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','rawAttributes','find','create','body','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','transaction','CustomReportId','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','path','sox','to-csv','ejs','lodash','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../mysqldb','status','end','json','count','offset','limit','set','Content-Range','apply','reject'];(function(_0x4fa669,_0x254b42){var _0x5e2aad=function(_0x18379e){while(--_0x18379e){_0x4fa669['push'](_0x4fa669['shift']());}};_0x5e2aad(++_0x254b42);}(_0xd8ca,0x178));var _0xad8c=function(_0x191154,_0x56f74c){_0x191154=_0x191154-0x0;var _0x3dcd73=_0xd8ca[_0x191154];return _0x3dcd73;};'use strict';var pdf=require(_0xad8c('0x0'));var emlformat=require(_0xad8c('0x1'));var rimraf=require(_0xad8c('0x2'));var zipdir=require(_0xad8c('0x3'));var jsonpatch=require(_0xad8c('0x4'));var rp=require('request-promise');var moment=require(_0xad8c('0x5'));var BPromise=require(_0xad8c('0x6'));var Mustache=require(_0xad8c('0x7'));var util=require('util');var path=require(_0xad8c('0x8'));var sox=require(_0xad8c('0x9'));var csv=require(_0xad8c('0xa'));var ejs=require(_0xad8c('0xb'));var fs=require('fs');var _=require(_0xad8c('0xc'));var squel=require('squel');var crypto=require(_0xad8c('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xad8c('0xe'));var toCsv=require(_0xad8c('0xa'));var querystring=require(_0xad8c('0xf'));var Papa=require('papaparse');var Redis=require(_0xad8c('0x10'));var authService=require(_0xad8c('0x11'));var qs=require(_0xad8c('0x12'));var as=require(_0xad8c('0x13'));var hardwareService=require(_0xad8c('0x14'));var logger=require(_0xad8c('0x15'))(_0xad8c('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var db=require(_0xad8c('0x17'))['db'];function respondWithStatusCode(_0x1dddef,_0x8e5f82){_0x8e5f82=_0x8e5f82||0xcc;return function(_0x11da1b){if(_0x11da1b){return _0x1dddef['sendStatus'](_0x8e5f82);}return _0x1dddef[_0xad8c('0x18')](_0x8e5f82)[_0xad8c('0x19')]();};}function respondWithResult(_0x155e09,_0x1749cd){_0x1749cd=_0x1749cd||0xc8;return function(_0x206932){if(_0x206932){return _0x155e09[_0xad8c('0x18')](_0x1749cd)[_0xad8c('0x1a')](_0x206932);}};}function respondWithFilteredResult(_0x77ff85,_0x1e8803){return function(_0xb889fb){if(_0xb889fb){var _0xceffc=_0xb889fb[_0xad8c('0x1b')],_0x5c3385=_0x1e8803['offset'],_0x35d41e=_0x1e8803[_0xad8c('0x1c')]+_0x1e8803[_0xad8c('0x1d')],_0x252567;if(_0x35d41e>=_0xceffc){_0x35d41e=_0xceffc;_0x252567=0xc8;}else{_0x252567=0xce;}_0x77ff85['status'](_0x252567);return _0x77ff85[_0xad8c('0x1e')](_0xad8c('0x1f'),_0x5c3385+'-'+_0x35d41e+'/'+_0xceffc)[_0xad8c('0x1a')](_0xb889fb);}return null;};}function patchUpdates(_0x402a07){return function(_0xdc0a3b){try{jsonpatch[_0xad8c('0x20')](_0xdc0a3b,_0x402a07,!![]);}catch(_0x135046){return BPromise[_0xad8c('0x21')](_0x135046);}return _0xdc0a3b[_0xad8c('0x22')]();};}function saveUpdates(_0x1de468,_0x4b1ee4){return function(_0x566d78){if(_0x566d78){return _0x566d78[_0xad8c('0x23')](_0x1de468)[_0xad8c('0x24')](function(_0x4e6f7d){return _0x4e6f7d;});}return null;};}function removeEntity(_0x29e42c,_0x499f82){return function(_0x59a77c){if(_0x59a77c){return _0x59a77c[_0xad8c('0x25')]()['then'](function(){_0x29e42c[_0xad8c('0x18')](0xcc)[_0xad8c('0x19')]();});}};}function handleEntityNotFound(_0x3b02c2,_0x7b5dd9){return function(_0x77a5b){if(!_0x77a5b){_0x3b02c2[_0xad8c('0x26')](0x194);}return _0x77a5b;};}function handleError(_0x2a9525,_0x541dcf){_0x541dcf=_0x541dcf||0x1f4;return function(_0xd96d6f){logger[_0xad8c('0x27')](_0xd96d6f['stack']);if(_0xd96d6f[_0xad8c('0x28')]){delete _0xd96d6f[_0xad8c('0x28')];}_0x2a9525[_0xad8c('0x18')](_0x541dcf)[_0xad8c('0x29')](_0xd96d6f);};}exports['index']=function(_0x5790e0,_0x22fdfc){var _0x437d0e={},_0xf1bcab={},_0x4a69ef={'count':0x0,'rows':[]};var _0x587aeb=_[_0xad8c('0x2a')](db[_0xad8c('0x2b')]['rawAttributes'],function(_0x5657d8){return{'name':_0x5657d8[_0xad8c('0x2c')],'type':_0x5657d8['type'][_0xad8c('0x2d')]};});_0xf1bcab[_0xad8c('0x2e')]=_[_0xad8c('0x2a')](_0x587aeb,_0xad8c('0x28'));_0xf1bcab[_0xad8c('0x2f')]=_[_0xad8c('0x30')](_0x5790e0['query']);_0xf1bcab[_0xad8c('0x31')]=_[_0xad8c('0x32')](_0xf1bcab[_0xad8c('0x2e')],_0xf1bcab['query']);_0x437d0e[_0xad8c('0x33')]=_[_0xad8c('0x32')](_0xf1bcab[_0xad8c('0x2e')],qs[_0xad8c('0x34')](_0x5790e0[_0xad8c('0x2f')][_0xad8c('0x34')]));_0x437d0e['attributes']=_0x437d0e[_0xad8c('0x33')][_0xad8c('0x35')]?_0x437d0e[_0xad8c('0x33')]:_0xf1bcab['model'];if(!_0x5790e0[_0xad8c('0x2f')][_0xad8c('0x36')](_0xad8c('0x37'))){_0x437d0e[_0xad8c('0x1d')]=qs[_0xad8c('0x1d')](_0x5790e0[_0xad8c('0x2f')][_0xad8c('0x1d')]);_0x437d0e[_0xad8c('0x1c')]=qs[_0xad8c('0x1c')](_0x5790e0[_0xad8c('0x2f')][_0xad8c('0x1c')]);}_0x437d0e['order']=qs[_0xad8c('0x38')](_0x5790e0[_0xad8c('0x2f')][_0xad8c('0x38')]);_0x437d0e[_0xad8c('0x39')]=qs[_0xad8c('0x31')](_[_0xad8c('0x3a')](_0x5790e0[_0xad8c('0x2f')],_0xf1bcab['filters']),_0x587aeb);if(_0x5790e0['query']['filter']){_0x437d0e['where']=_[_0xad8c('0x3b')](_0x437d0e['where'],{'$or':_[_0xad8c('0x2a')](_0x587aeb,function(_0x13d18){if(_0x13d18[_0xad8c('0x3c')]!==_0xad8c('0x3d')){var _0xc0a9e8={};_0xc0a9e8[_0x13d18[_0xad8c('0x28')]]={'$like':'%'+_0x5790e0[_0xad8c('0x2f')][_0xad8c('0x3e')]+'%'};return _0xc0a9e8;}})});}_0x437d0e=_['merge']({},_0x437d0e,_0x5790e0[_0xad8c('0x3f')]);var _0x1c8bc={'where':_0x437d0e[_0xad8c('0x39')]};return db[_0xad8c('0x2b')]['count'](_0x1c8bc)[_0xad8c('0x24')](function(_0x321ad5){_0x4a69ef[_0xad8c('0x1b')]=_0x321ad5;if(_0x5790e0[_0xad8c('0x2f')][_0xad8c('0x40')]){_0x437d0e[_0xad8c('0x41')]=[{'all':!![]}];}return db[_0xad8c('0x2b')][_0xad8c('0x42')](_0x437d0e);})['then'](function(_0x1b7cde){_0x4a69ef['rows']=_0x1b7cde;return _0x4a69ef;})[_0xad8c('0x24')](respondWithFilteredResult(_0x22fdfc,_0x437d0e))[_0xad8c('0x43')](handleError(_0x22fdfc,null));};exports[_0xad8c('0x44')]=function(_0x39d74c,_0x296cba){var _0x4b822e={'raw':![],'where':{'id':_0x39d74c[_0xad8c('0x45')]['id']}},_0x431c5b={};_0x431c5b[_0xad8c('0x2e')]=_[_0xad8c('0x30')](db[_0xad8c('0x2b')][_0xad8c('0x46')]);_0x431c5b[_0xad8c('0x2f')]=_[_0xad8c('0x30')](_0x39d74c[_0xad8c('0x2f')]);_0x431c5b[_0xad8c('0x31')]=_[_0xad8c('0x32')](_0x431c5b[_0xad8c('0x2e')],_0x431c5b[_0xad8c('0x2f')]);_0x4b822e[_0xad8c('0x33')]=_['intersection'](_0x431c5b[_0xad8c('0x2e')],qs[_0xad8c('0x34')](_0x39d74c['query']['fields']));_0x4b822e[_0xad8c('0x33')]=_0x4b822e[_0xad8c('0x33')]['length']?_0x4b822e[_0xad8c('0x33')]:_0x431c5b['model'];if(_0x39d74c['query'][_0xad8c('0x40')]){_0x4b822e[_0xad8c('0x41')]=[{'all':!![]}];}_0x4b822e=_[_0xad8c('0x3b')]({},_0x4b822e,_0x39d74c[_0xad8c('0x3f')]);return db[_0xad8c('0x2b')][_0xad8c('0x47')](_0x4b822e)[_0xad8c('0x24')](handleEntityNotFound(_0x296cba,null))[_0xad8c('0x24')](respondWithResult(_0x296cba,null))[_0xad8c('0x43')](handleError(_0x296cba,null));};exports[_0xad8c('0x48')]=function(_0x573a32,_0x415206){return db[_0xad8c('0x2b')][_0xad8c('0x48')](_0x573a32[_0xad8c('0x49')],{})[_0xad8c('0x24')](respondWithResult(_0x415206,0xc9))[_0xad8c('0x43')](handleError(_0x415206,null));};exports[_0xad8c('0x4a')]=function(_0x210fec,_0xb0d64){return db[_0xad8c('0x2b')][_0xad8c('0x4a')](_0x210fec[_0xad8c('0x49')],{'raw':![],'individualHooks':!![]})[_0xad8c('0x24')](respondWithResult(_0xb0d64,0xc9))[_0xad8c('0x43')](handleError(_0xb0d64,null));};exports['update']=function(_0x388d55,_0x17dc45){if(_0x388d55[_0xad8c('0x49')]['id']){delete _0x388d55[_0xad8c('0x49')]['id'];}return db[_0xad8c('0x2b')][_0xad8c('0x47')]({'where':{'id':_0x388d55[_0xad8c('0x45')]['id']}})[_0xad8c('0x24')](handleEntityNotFound(_0x17dc45,null))[_0xad8c('0x24')](saveUpdates(_0x388d55['body'],null))['then'](respondWithResult(_0x17dc45,null))[_0xad8c('0x43')](handleError(_0x17dc45,null));};exports['destroy']=function(_0x5dd268,_0x54f39f){return db[_0xad8c('0x2b')][_0xad8c('0x47')]({'where':{'id':_0x5dd268[_0xad8c('0x45')]['id']}})[_0xad8c('0x24')](handleEntityNotFound(_0x54f39f,null))[_0xad8c('0x24')](removeEntity(_0x54f39f,null))[_0xad8c('0x43')](handleError(_0x54f39f,null));};exports[_0xad8c('0x4b')]=function(_0xbd535b,_0x4528e2){return db[_0xad8c('0x2b')]['destroy']({'where':{'id':_0xbd535b[_0xad8c('0x2f')][_0xad8c('0x4c')]||[]},'raw':![],'individualHooks':!![]})[_0xad8c('0x24')](respondWithResult(_0x4528e2,0xcc))['catch'](handleError(_0x4528e2,null));};exports[_0xad8c('0x4d')]=function(_0x81f470,_0xb25583,_0x384ddc){return db[_0xad8c('0x4e')][_0xad8c('0x4f')]({'where':{'id':_0x81f470[_0xad8c('0x45')]['id']}})[_0xad8c('0x24')](handleEntityNotFound(_0xb25583,null))[_0xad8c('0x24')](function(_0x5005dc){if(_0x5005dc){return db['sequelize'][_0xad8c('0x50')](function(_0x56a664){return db[_0xad8c('0x2b')][_0xad8c('0x25')]({'where':{'CustomReportId':_0x81f470[_0xad8c('0x45')]['id']},'transaction':_0x56a664})[_0xad8c('0x24')](function(_0x1b1de5){var _0x126dd2=_[_0xad8c('0x2a')](_0x81f470['body'],function(_0x3983bb){delete _0x3983bb['id'];_0x3983bb[_0xad8c('0x51')]=_0x81f470['params']['id'];return _0x3983bb;});return db[_0xad8c('0x2b')][_0xad8c('0x4a')](_0x126dd2,{'transaction':_0x56a664});});})[_0xad8c('0x24')](function(){return db['AnalyticFieldReport'][_0xad8c('0x42')]({'where':{'CustomReportId':_0x81f470[_0xad8c('0x45')]['id']}});});}})[_0xad8c('0x24')](respondWithResult(_0xb25583,null))[_0xad8c('0x43')](handleError(_0xb25583,null));};