3aa8a343d3405091feef7ce9f8ff71f914ad67dd
[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 _0xc346=['mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','then','error','stack','name','send','index','map','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','merge','VIRTUAL','filter','options','where','includeAll','include','rows','catch','show','create','body','bulkCreate','params','find','bulkDestroy','destroy','addFields','AnalyticCustomReport','findOne','sequelize','CustomReportId','findAll','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird'];(function(_0x195dbe,_0x10273e){var _0x240f0c=function(_0x3bced4){while(--_0x3bced4){_0x195dbe['push'](_0x195dbe['shift']());}};_0x240f0c(++_0x10273e);}(_0xc346,0x15d));var _0x6c34=function(_0x2264fd,_0x3447c1){_0x2264fd=_0x2264fd-0x0;var _0x2ab25f=_0xc346[_0x2264fd];return _0x2ab25f;};'use strict';var emlformat=require(_0x6c34('0x0'));var rimraf=require(_0x6c34('0x1'));var zipdir=require(_0x6c34('0x2'));var jsonpatch=require(_0x6c34('0x3'));var rp=require(_0x6c34('0x4'));var moment=require(_0x6c34('0x5'));var BPromise=require(_0x6c34('0x6'));var Mustache=require(_0x6c34('0x7'));var util=require(_0x6c34('0x8'));var path=require(_0x6c34('0x9'));var sox=require(_0x6c34('0xa'));var csv=require(_0x6c34('0xb'));var ejs=require(_0x6c34('0xc'));var fs=require('fs');var fs_extra=require(_0x6c34('0xd'));var _=require(_0x6c34('0xe'));var squel=require(_0x6c34('0xf'));var crypto=require(_0x6c34('0x10'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x6c34('0xb'));var querystring=require(_0x6c34('0x11'));var Papa=require(_0x6c34('0x12'));var Redis=require(_0x6c34('0x13'));var authService=require(_0x6c34('0x14'));var qs=require(_0x6c34('0x15'));var as=require(_0x6c34('0x16'));var hardwareService=require(_0x6c34('0x17'));var logger=require('../../config/logger')(_0x6c34('0x18'));var utils=require(_0x6c34('0x19'));var config=require(_0x6c34('0x1a'));var licenseUtil=require(_0x6c34('0x1b'));var db=require(_0x6c34('0x1c'))['db'];function respondWithStatusCode(_0x3e1cce,_0x3366be){_0x3366be=_0x3366be||0xcc;return function(_0x25bb6a){if(_0x25bb6a){return _0x3e1cce[_0x6c34('0x1d')](_0x3366be);}return _0x3e1cce['status'](_0x3366be)[_0x6c34('0x1e')]();};}function respondWithResult(_0x1709dd,_0x361269){_0x361269=_0x361269||0xc8;return function(_0x3816be){if(_0x3816be){return _0x1709dd[_0x6c34('0x1f')](_0x361269)[_0x6c34('0x20')](_0x3816be);}};}function respondWithFilteredResult(_0x4e78e5,_0x4e2e39){return function(_0xacaaaf){if(_0xacaaaf){var _0x52df91=typeof _0x4e2e39[_0x6c34('0x21')]===_0x6c34('0x22')&&typeof _0x4e2e39[_0x6c34('0x23')]==='undefined';var _0x597f21=_0xacaaaf[_0x6c34('0x24')];var _0x51c5bc=_0x52df91?0x0:_0x4e2e39[_0x6c34('0x21')];var _0x13af40=_0x52df91?_0xacaaaf[_0x6c34('0x24')]:_0x4e2e39['offset']+_0x4e2e39['limit'];var _0x43003b;if(_0x13af40>=_0x597f21){_0x13af40=_0x597f21;_0x43003b=0xc8;}else{_0x43003b=0xce;}_0x4e78e5[_0x6c34('0x1f')](_0x43003b);return _0x4e78e5[_0x6c34('0x25')](_0x6c34('0x26'),_0x51c5bc+'-'+_0x13af40+'/'+_0x597f21)[_0x6c34('0x20')](_0xacaaaf);}return null;};}function patchUpdates(_0x2872e4){return function(_0x120c53){try{jsonpatch['apply'](_0x120c53,_0x2872e4,!![]);}catch(_0x22eb33){return BPromise[_0x6c34('0x27')](_0x22eb33);}return _0x120c53[_0x6c34('0x28')]();};}function saveUpdates(_0x598e78,_0x20f031){return function(_0x57b381){if(_0x57b381){return _0x57b381[_0x6c34('0x29')](_0x598e78)[_0x6c34('0x2a')](function(_0x350715){return _0x350715;});}return null;};}function removeEntity(_0x545ad5,_0x3c6ce8){return function(_0x48ef2a){if(_0x48ef2a){return _0x48ef2a['destroy']()[_0x6c34('0x2a')](function(){_0x545ad5[_0x6c34('0x1f')](0xcc)[_0x6c34('0x1e')]();});}};}function handleEntityNotFound(_0x55eaec,_0x45ad3e){return function(_0x39216d){if(!_0x39216d){_0x55eaec[_0x6c34('0x1d')](0x194);}return _0x39216d;};}function handleError(_0x55888d,_0x2f0278){_0x2f0278=_0x2f0278||0x1f4;return function(_0x189d4e){logger[_0x6c34('0x2b')](_0x189d4e[_0x6c34('0x2c')]);if(_0x189d4e[_0x6c34('0x2d')]){delete _0x189d4e['name'];}_0x55888d[_0x6c34('0x1f')](_0x2f0278)[_0x6c34('0x2e')](_0x189d4e);};}exports[_0x6c34('0x2f')]=function(_0x59316e,_0x40a74b){var _0x365e03={},_0x23541c={},_0x2dbfec={'count':0x0,'rows':[]};var _0x3f6679=_[_0x6c34('0x30')](db[_0x6c34('0x31')][_0x6c34('0x32')],function(_0x1bc3ad){return{'name':_0x1bc3ad[_0x6c34('0x33')],'type':_0x1bc3ad[_0x6c34('0x34')][_0x6c34('0x35')]};});_0x23541c[_0x6c34('0x36')]=_[_0x6c34('0x30')](_0x3f6679,_0x6c34('0x2d'));_0x23541c[_0x6c34('0x37')]=_[_0x6c34('0x38')](_0x59316e[_0x6c34('0x37')]);_0x23541c[_0x6c34('0x39')]=_[_0x6c34('0x3a')](_0x23541c[_0x6c34('0x36')],_0x23541c[_0x6c34('0x37')]);_0x365e03[_0x6c34('0x3b')]=_[_0x6c34('0x3a')](_0x23541c[_0x6c34('0x36')],qs[_0x6c34('0x3c')](_0x59316e[_0x6c34('0x37')][_0x6c34('0x3c')]));_0x365e03[_0x6c34('0x3b')]=_0x365e03[_0x6c34('0x3b')][_0x6c34('0x3d')]?_0x365e03[_0x6c34('0x3b')]:_0x23541c['model'];if(!_0x59316e[_0x6c34('0x37')][_0x6c34('0x3e')](_0x6c34('0x3f'))){_0x365e03['limit']=qs['limit'](_0x59316e['query'][_0x6c34('0x23')]);_0x365e03[_0x6c34('0x21')]=qs[_0x6c34('0x21')](_0x59316e[_0x6c34('0x37')][_0x6c34('0x21')]);}_0x365e03[_0x6c34('0x40')]=qs[_0x6c34('0x41')](_0x59316e[_0x6c34('0x37')][_0x6c34('0x41')]);_0x365e03['where']=qs[_0x6c34('0x39')](_['pick'](_0x59316e['query'],_0x23541c[_0x6c34('0x39')]),_0x3f6679);if(_0x59316e[_0x6c34('0x37')]['filter']){_0x365e03['where']=_[_0x6c34('0x42')](_0x365e03['where'],{'$or':_[_0x6c34('0x30')](_0x3f6679,function(_0x4ec261){if(_0x4ec261[_0x6c34('0x34')]!==_0x6c34('0x43')){var _0x274cfb={};_0x274cfb[_0x4ec261[_0x6c34('0x2d')]]={'$like':'%'+_0x59316e['query'][_0x6c34('0x44')]+'%'};return _0x274cfb;}})});}_0x365e03=_[_0x6c34('0x42')]({},_0x365e03,_0x59316e[_0x6c34('0x45')]);var _0x5c62cd={'where':_0x365e03[_0x6c34('0x46')]};return db['AnalyticFieldReport'][_0x6c34('0x24')](_0x5c62cd)[_0x6c34('0x2a')](function(_0x3570c9){_0x2dbfec['count']=_0x3570c9;if(_0x59316e[_0x6c34('0x37')][_0x6c34('0x47')]){_0x365e03[_0x6c34('0x48')]=[{'all':!![]}];}return db['AnalyticFieldReport']['findAll'](_0x365e03);})['then'](function(_0x557e5f){_0x2dbfec[_0x6c34('0x49')]=_0x557e5f;return _0x2dbfec;})[_0x6c34('0x2a')](respondWithFilteredResult(_0x40a74b,_0x365e03))[_0x6c34('0x4a')](handleError(_0x40a74b,null));};exports[_0x6c34('0x4b')]=function(_0x3c7de8,_0xafcc08){var _0x2c024e={'raw':![],'where':{'id':_0x3c7de8['params']['id']}},_0x1086f7={};_0x1086f7[_0x6c34('0x36')]=_[_0x6c34('0x38')](db[_0x6c34('0x31')][_0x6c34('0x32')]);_0x1086f7[_0x6c34('0x37')]=_[_0x6c34('0x38')](_0x3c7de8[_0x6c34('0x37')]);_0x1086f7['filters']=_['intersection'](_0x1086f7['model'],_0x1086f7['query']);_0x2c024e[_0x6c34('0x3b')]=_[_0x6c34('0x3a')](_0x1086f7['model'],qs[_0x6c34('0x3c')](_0x3c7de8[_0x6c34('0x37')]['fields']));_0x2c024e['attributes']=_0x2c024e[_0x6c34('0x3b')][_0x6c34('0x3d')]?_0x2c024e['attributes']:_0x1086f7['model'];if(_0x3c7de8[_0x6c34('0x37')]['includeAll']){_0x2c024e[_0x6c34('0x48')]=[{'all':!![]}];}_0x2c024e=_['merge']({},_0x2c024e,_0x3c7de8[_0x6c34('0x45')]);return db[_0x6c34('0x31')]['find'](_0x2c024e)['then'](handleEntityNotFound(_0xafcc08,null))[_0x6c34('0x2a')](respondWithResult(_0xafcc08,null))[_0x6c34('0x4a')](handleError(_0xafcc08,null));};exports[_0x6c34('0x4c')]=function(_0x1765b9,_0x50e91a){return db[_0x6c34('0x31')][_0x6c34('0x4c')](_0x1765b9[_0x6c34('0x4d')],{})['then'](respondWithResult(_0x50e91a,0xc9))[_0x6c34('0x4a')](handleError(_0x50e91a,null));};exports[_0x6c34('0x4e')]=function(_0x2fef83,_0x397761){return db[_0x6c34('0x31')][_0x6c34('0x4e')](_0x2fef83['body'],{'raw':![],'individualHooks':!![]})[_0x6c34('0x2a')](respondWithResult(_0x397761,0xc9))[_0x6c34('0x4a')](handleError(_0x397761,null));};exports['update']=function(_0x4aac90,_0x24d712){if(_0x4aac90[_0x6c34('0x4d')]['id']){delete _0x4aac90[_0x6c34('0x4d')]['id'];}return db[_0x6c34('0x31')]['find']({'where':{'id':_0x4aac90[_0x6c34('0x4f')]['id']}})['then'](handleEntityNotFound(_0x24d712,null))[_0x6c34('0x2a')](saveUpdates(_0x4aac90[_0x6c34('0x4d')],null))[_0x6c34('0x2a')](respondWithResult(_0x24d712,null))[_0x6c34('0x4a')](handleError(_0x24d712,null));};exports['destroy']=function(_0x28c0f7,_0x1b16fa){return db[_0x6c34('0x31')][_0x6c34('0x50')]({'where':{'id':_0x28c0f7[_0x6c34('0x4f')]['id']}})[_0x6c34('0x2a')](handleEntityNotFound(_0x1b16fa,null))[_0x6c34('0x2a')](removeEntity(_0x1b16fa,null))[_0x6c34('0x4a')](handleError(_0x1b16fa,null));};exports[_0x6c34('0x51')]=function(_0x5e2903,_0x3ad6f3){return db[_0x6c34('0x31')][_0x6c34('0x52')]({'where':{'id':_0x5e2903[_0x6c34('0x37')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x6c34('0x2a')](respondWithResult(_0x3ad6f3,0xcc))['catch'](handleError(_0x3ad6f3,null));};exports[_0x6c34('0x53')]=function(_0x3e547b,_0x15e063,_0x57c9c1){return db[_0x6c34('0x54')][_0x6c34('0x55')]({'where':{'id':_0x3e547b[_0x6c34('0x4f')]['id']}})['then'](handleEntityNotFound(_0x15e063,null))[_0x6c34('0x2a')](function(_0x264336){if(_0x264336){return db[_0x6c34('0x56')]['transaction'](function(_0x198cd2){return db[_0x6c34('0x31')][_0x6c34('0x52')]({'where':{'CustomReportId':_0x3e547b[_0x6c34('0x4f')]['id']},'transaction':_0x198cd2})['then'](function(_0x2ee668){var _0x4d729f=_[_0x6c34('0x30')](_0x3e547b['body'],function(_0x3a1692){delete _0x3a1692['id'];_0x3a1692[_0x6c34('0x57')]=_0x3e547b[_0x6c34('0x4f')]['id'];return _0x3a1692;});return db['AnalyticFieldReport']['bulkCreate'](_0x4d729f,{'transaction':_0x198cd2});});})[_0x6c34('0x2a')](function(){return db[_0x6c34('0x31')][_0x6c34('0x58')]({'where':{'CustomReportId':_0x3e547b[_0x6c34('0x4f')]['id']}});});}})[_0x6c34('0x2a')](respondWithResult(_0x15e063,null))[_0x6c34('0x4a')](handleError(_0x15e063,null));};