Built motion from commit e0fa946e.|2.6.5
[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 _0xfd7b=['util','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','set','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','keys','query','intersection','model','fields','attributes','length','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','AnalyticFieldReport','includeAll','include','rows','catch','show','params','filters','find','create','body','bulkCreate','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','transaction','CustomReportId','findAll','rimraf','zip-dir','request-promise','bluebird','mustache'];(function(_0x31e2da,_0x950e79){var _0x22de30=function(_0x170c26){while(--_0x170c26){_0x31e2da['push'](_0x31e2da['shift']());}};_0x22de30(++_0x950e79);}(_0xfd7b,0x1b3));var _0xbfd7=function(_0x1e2080,_0x53283b){_0x1e2080=_0x1e2080-0x0;var _0x260111=_0xfd7b[_0x1e2080];return _0x260111;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xbfd7('0x0'));var zipdir=require(_0xbfd7('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xbfd7('0x2'));var moment=require('moment');var BPromise=require(_0xbfd7('0x3'));var Mustache=require(_0xbfd7('0x4'));var util=require(_0xbfd7('0x5'));var path=require(_0xbfd7('0x6'));var sox=require(_0xbfd7('0x7'));var csv=require('to-csv');var ejs=require(_0xbfd7('0x8'));var fs=require('fs');var fs_extra=require(_0xbfd7('0x9'));var _=require('lodash');var squel=require(_0xbfd7('0xa'));var crypto=require(_0xbfd7('0xb'));var jsforce=require(_0xbfd7('0xc'));var deskjs=require(_0xbfd7('0xd'));var toCsv=require(_0xbfd7('0xe'));var querystring=require(_0xbfd7('0xf'));var Papa=require(_0xbfd7('0x10'));var Redis=require('ioredis');var authService=require(_0xbfd7('0x11'));var qs=require(_0xbfd7('0x12'));var as=require(_0xbfd7('0x13'));var hardwareService=require(_0xbfd7('0x14'));var logger=require(_0xbfd7('0x15'))(_0xbfd7('0x16'));var utils=require(_0xbfd7('0x17'));var config=require(_0xbfd7('0x18'));var licenseUtil=require(_0xbfd7('0x19'));var db=require(_0xbfd7('0x1a'))['db'];function respondWithStatusCode(_0x1c58c3,_0x5ab483){_0x5ab483=_0x5ab483||0xcc;return function(_0x339bf1){if(_0x339bf1){return _0x1c58c3[_0xbfd7('0x1b')](_0x5ab483);}return _0x1c58c3[_0xbfd7('0x1c')](_0x5ab483)[_0xbfd7('0x1d')]();};}function respondWithResult(_0x54a267,_0x3ffb04){_0x3ffb04=_0x3ffb04||0xc8;return function(_0x2b65ef){if(_0x2b65ef){return _0x54a267[_0xbfd7('0x1c')](_0x3ffb04)[_0xbfd7('0x1e')](_0x2b65ef);}};}function respondWithFilteredResult(_0x5ae8ec,_0x282c78){return function(_0x481adc){if(_0x481adc){var _0x144a07=typeof _0x282c78['offset']==='undefined'&&typeof _0x282c78[_0xbfd7('0x1f')]===_0xbfd7('0x20');var _0x5cfdbb=_0x481adc['count'];var _0x3646e0=_0x144a07?0x0:_0x282c78['offset'];var _0x2c78fb=_0x144a07?_0x481adc[_0xbfd7('0x21')]:_0x282c78[_0xbfd7('0x22')]+_0x282c78[_0xbfd7('0x1f')];var _0x5a6e29;if(_0x2c78fb>=_0x5cfdbb){_0x2c78fb=_0x5cfdbb;_0x5a6e29=0xc8;}else{_0x5a6e29=0xce;}_0x5ae8ec[_0xbfd7('0x1c')](_0x5a6e29);return _0x5ae8ec[_0xbfd7('0x23')]('Content-Range',_0x3646e0+'-'+_0x2c78fb+'/'+_0x5cfdbb)['json'](_0x481adc);}return null;};}function patchUpdates(_0xf77dd){return function(_0x4f47f2){try{jsonpatch[_0xbfd7('0x24')](_0x4f47f2,_0xf77dd,!![]);}catch(_0x33b9c1){return BPromise[_0xbfd7('0x25')](_0x33b9c1);}return _0x4f47f2[_0xbfd7('0x26')]();};}function saveUpdates(_0x501448,_0x4efc45){return function(_0x463665){if(_0x463665){return _0x463665[_0xbfd7('0x27')](_0x501448)[_0xbfd7('0x28')](function(_0x3f512e){return _0x3f512e;});}return null;};}function removeEntity(_0x29dd39,_0x3a20fb){return function(_0x43d439){if(_0x43d439){return _0x43d439[_0xbfd7('0x29')]()[_0xbfd7('0x28')](function(){_0x29dd39[_0xbfd7('0x1c')](0xcc)[_0xbfd7('0x1d')]();});}};}function handleEntityNotFound(_0x556512,_0x4fa727){return function(_0x3c9671){if(!_0x3c9671){_0x556512[_0xbfd7('0x1b')](0x194);}return _0x3c9671;};}function handleError(_0x1b79f7,_0x4b6c54){_0x4b6c54=_0x4b6c54||0x1f4;return function(_0x2c7a97){logger[_0xbfd7('0x2a')](_0x2c7a97[_0xbfd7('0x2b')]);if(_0x2c7a97[_0xbfd7('0x2c')]){delete _0x2c7a97[_0xbfd7('0x2c')];}_0x1b79f7[_0xbfd7('0x1c')](_0x4b6c54)[_0xbfd7('0x2d')](_0x2c7a97);};}exports[_0xbfd7('0x2e')]=function(_0x55598b,_0x46144f){var _0x4f9ff1={},_0x141353={},_0x2194a0={'count':0x0,'rows':[]};var _0x5bd02a=_[_0xbfd7('0x2f')](db['AnalyticFieldReport'][_0xbfd7('0x30')],function(_0x52b044){return{'name':_0x52b044[_0xbfd7('0x31')],'type':_0x52b044[_0xbfd7('0x32')][_0xbfd7('0x33')]};});_0x141353['model']=_[_0xbfd7('0x2f')](_0x5bd02a,'name');_0x141353['query']=_[_0xbfd7('0x34')](_0x55598b[_0xbfd7('0x35')]);_0x141353['filters']=_[_0xbfd7('0x36')](_0x141353[_0xbfd7('0x37')],_0x141353['query']);_0x4f9ff1['attributes']=_[_0xbfd7('0x36')](_0x141353[_0xbfd7('0x37')],qs['fields'](_0x55598b[_0xbfd7('0x35')][_0xbfd7('0x38')]));_0x4f9ff1['attributes']=_0x4f9ff1[_0xbfd7('0x39')][_0xbfd7('0x3a')]?_0x4f9ff1[_0xbfd7('0x39')]:_0x141353[_0xbfd7('0x37')];if(!_0x55598b[_0xbfd7('0x35')]['hasOwnProperty'](_0xbfd7('0x3b'))){_0x4f9ff1[_0xbfd7('0x1f')]=qs[_0xbfd7('0x1f')](_0x55598b[_0xbfd7('0x35')][_0xbfd7('0x1f')]);_0x4f9ff1[_0xbfd7('0x22')]=qs['offset'](_0x55598b[_0xbfd7('0x35')]['offset']);}_0x4f9ff1[_0xbfd7('0x3c')]=qs[_0xbfd7('0x3d')](_0x55598b[_0xbfd7('0x35')][_0xbfd7('0x3d')]);_0x4f9ff1[_0xbfd7('0x3e')]=qs['filters'](_[_0xbfd7('0x3f')](_0x55598b[_0xbfd7('0x35')],_0x141353['filters']),_0x5bd02a);if(_0x55598b[_0xbfd7('0x35')]['filter']){_0x4f9ff1[_0xbfd7('0x3e')]=_[_0xbfd7('0x40')](_0x4f9ff1[_0xbfd7('0x3e')],{'$or':_[_0xbfd7('0x2f')](_0x5bd02a,function(_0x9c7f31){if(_0x9c7f31[_0xbfd7('0x32')]!==_0xbfd7('0x41')){var _0x2b1bd4={};_0x2b1bd4[_0x9c7f31[_0xbfd7('0x2c')]]={'$like':'%'+_0x55598b['query'][_0xbfd7('0x42')]+'%'};return _0x2b1bd4;}})});}_0x4f9ff1=_[_0xbfd7('0x40')]({},_0x4f9ff1,_0x55598b[_0xbfd7('0x43')]);var _0x33857b={'where':_0x4f9ff1[_0xbfd7('0x3e')]};return db[_0xbfd7('0x44')]['count'](_0x33857b)[_0xbfd7('0x28')](function(_0x7d17fe){_0x2194a0['count']=_0x7d17fe;if(_0x55598b[_0xbfd7('0x35')][_0xbfd7('0x45')]){_0x4f9ff1[_0xbfd7('0x46')]=[{'all':!![]}];}return db[_0xbfd7('0x44')]['findAll'](_0x4f9ff1);})[_0xbfd7('0x28')](function(_0x4fd988){_0x2194a0[_0xbfd7('0x47')]=_0x4fd988;return _0x2194a0;})['then'](respondWithFilteredResult(_0x46144f,_0x4f9ff1))[_0xbfd7('0x48')](handleError(_0x46144f,null));};exports[_0xbfd7('0x49')]=function(_0x5ddf8e,_0x55c3a2){var _0x149138={'raw':![],'where':{'id':_0x5ddf8e[_0xbfd7('0x4a')]['id']}},_0x3325d2={};_0x3325d2[_0xbfd7('0x37')]=_[_0xbfd7('0x34')](db[_0xbfd7('0x44')][_0xbfd7('0x30')]);_0x3325d2[_0xbfd7('0x35')]=_[_0xbfd7('0x34')](_0x5ddf8e[_0xbfd7('0x35')]);_0x3325d2[_0xbfd7('0x4b')]=_['intersection'](_0x3325d2[_0xbfd7('0x37')],_0x3325d2[_0xbfd7('0x35')]);_0x149138['attributes']=_[_0xbfd7('0x36')](_0x3325d2[_0xbfd7('0x37')],qs['fields'](_0x5ddf8e[_0xbfd7('0x35')][_0xbfd7('0x38')]));_0x149138[_0xbfd7('0x39')]=_0x149138[_0xbfd7('0x39')][_0xbfd7('0x3a')]?_0x149138['attributes']:_0x3325d2[_0xbfd7('0x37')];if(_0x5ddf8e[_0xbfd7('0x35')][_0xbfd7('0x45')]){_0x149138[_0xbfd7('0x46')]=[{'all':!![]}];}_0x149138=_[_0xbfd7('0x40')]({},_0x149138,_0x5ddf8e[_0xbfd7('0x43')]);return db[_0xbfd7('0x44')][_0xbfd7('0x4c')](_0x149138)[_0xbfd7('0x28')](handleEntityNotFound(_0x55c3a2,null))['then'](respondWithResult(_0x55c3a2,null))[_0xbfd7('0x48')](handleError(_0x55c3a2,null));};exports[_0xbfd7('0x4d')]=function(_0x87eb38,_0x1b3953){return db['AnalyticFieldReport'][_0xbfd7('0x4d')](_0x87eb38[_0xbfd7('0x4e')],{})[_0xbfd7('0x28')](respondWithResult(_0x1b3953,0xc9))[_0xbfd7('0x48')](handleError(_0x1b3953,null));};exports[_0xbfd7('0x4f')]=function(_0x1c983b,_0xb25d78){return db[_0xbfd7('0x44')][_0xbfd7('0x4f')](_0x1c983b[_0xbfd7('0x4e')],{'raw':![],'individualHooks':!![]})[_0xbfd7('0x28')](respondWithResult(_0xb25d78,0xc9))[_0xbfd7('0x48')](handleError(_0xb25d78,null));};exports[_0xbfd7('0x27')]=function(_0x3e2df6,_0x215661){if(_0x3e2df6[_0xbfd7('0x4e')]['id']){delete _0x3e2df6['body']['id'];}return db[_0xbfd7('0x44')][_0xbfd7('0x4c')]({'where':{'id':_0x3e2df6[_0xbfd7('0x4a')]['id']}})[_0xbfd7('0x28')](handleEntityNotFound(_0x215661,null))[_0xbfd7('0x28')](saveUpdates(_0x3e2df6[_0xbfd7('0x4e')],null))[_0xbfd7('0x28')](respondWithResult(_0x215661,null))[_0xbfd7('0x48')](handleError(_0x215661,null));};exports['destroy']=function(_0x35fc10,_0x155315){return db[_0xbfd7('0x44')][_0xbfd7('0x4c')]({'where':{'id':_0x35fc10['params']['id']}})[_0xbfd7('0x28')](handleEntityNotFound(_0x155315,null))[_0xbfd7('0x28')](removeEntity(_0x155315,null))['catch'](handleError(_0x155315,null));};exports[_0xbfd7('0x50')]=function(_0x3abd5f,_0x5aefbe){return db['AnalyticFieldReport'][_0xbfd7('0x29')]({'where':{'id':_0x3abd5f['query'][_0xbfd7('0x51')]||[]},'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x5aefbe,0xcc))[_0xbfd7('0x48')](handleError(_0x5aefbe,null));};exports[_0xbfd7('0x52')]=function(_0x31a310,_0x1cfd8d,_0x90a8cd){return db[_0xbfd7('0x53')][_0xbfd7('0x54')]({'where':{'id':_0x31a310[_0xbfd7('0x4a')]['id']}})[_0xbfd7('0x28')](handleEntityNotFound(_0x1cfd8d,null))['then'](function(_0xbd8ce3){if(_0xbd8ce3){return db['sequelize'][_0xbfd7('0x55')](function(_0x1e3e2b){return db['AnalyticFieldReport'][_0xbfd7('0x29')]({'where':{'CustomReportId':_0x31a310['params']['id']},'transaction':_0x1e3e2b})['then'](function(_0x19f92b){var _0x1386ee=_[_0xbfd7('0x2f')](_0x31a310[_0xbfd7('0x4e')],function(_0x45f267){delete _0x45f267['id'];_0x45f267[_0xbfd7('0x56')]=_0x31a310[_0xbfd7('0x4a')]['id'];return _0x45f267;});return db[_0xbfd7('0x44')]['bulkCreate'](_0x1386ee,{'transaction':_0x1e3e2b});});})['then'](function(){return db['AnalyticFieldReport'][_0xbfd7('0x57')]({'where':{'CustomReportId':_0x31a310['params']['id']}});});}})[_0xbfd7('0x28')](respondWithResult(_0x1cfd8d,null))[_0xbfd7('0x48')](handleError(_0x1cfd8d,null));};