Built motion from commit e1760111.|2.6.18
[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 _0x129b=['then','sendStatus','error','stack','name','send','index','map','AnalyticFieldReport','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','rawAttributes','options','find','create','body','bulkCreate','bulkDestroy','ids','findOne','sequelize','transaction','destroy','CustomReportId','eml-format','rimraf','fast-json-patch','moment','bluebird','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','update'];(function(_0x30e7ce,_0x467ae8){var _0x28f5f4=function(_0x1249ca){while(--_0x1249ca){_0x30e7ce['push'](_0x30e7ce['shift']());}};_0x28f5f4(++_0x467ae8);}(_0x129b,0xdb));var _0xb129=function(_0x5b8b97,_0x6b4dfa){_0x5b8b97=_0x5b8b97-0x0;var _0x1fdf84=_0x129b[_0x5b8b97];return _0x1fdf84;};'use strict';var emlformat=require(_0xb129('0x0'));var rimraf=require(_0xb129('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb129('0x2'));var rp=require('request-promise');var moment=require(_0xb129('0x3'));var BPromise=require(_0xb129('0x4'));var Mustache=require(_0xb129('0x5'));var util=require(_0xb129('0x6'));var path=require('path');var sox=require(_0xb129('0x7'));var csv=require(_0xb129('0x8'));var ejs=require(_0xb129('0x9'));var fs=require('fs');var fs_extra=require(_0xb129('0xa'));var _=require(_0xb129('0xb'));var squel=require(_0xb129('0xc'));var crypto=require(_0xb129('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xb129('0xe'));var toCsv=require(_0xb129('0x8'));var querystring=require(_0xb129('0xf'));var Papa=require('papaparse');var Redis=require(_0xb129('0x10'));var authService=require(_0xb129('0x11'));var qs=require(_0xb129('0x12'));var as=require(_0xb129('0x13'));var hardwareService=require(_0xb129('0x14'));var logger=require(_0xb129('0x15'))(_0xb129('0x16'));var utils=require(_0xb129('0x17'));var config=require(_0xb129('0x18'));var licenseUtil=require(_0xb129('0x19'));var db=require(_0xb129('0x1a'))['db'];function respondWithStatusCode(_0x1e01d1,_0x31630c){_0x31630c=_0x31630c||0xcc;return function(_0x1f9a71){if(_0x1f9a71){return _0x1e01d1['sendStatus'](_0x31630c);}return _0x1e01d1[_0xb129('0x1b')](_0x31630c)[_0xb129('0x1c')]();};}function respondWithResult(_0x2419ce,_0x810a4a){_0x810a4a=_0x810a4a||0xc8;return function(_0xf641f1){if(_0xf641f1){return _0x2419ce[_0xb129('0x1b')](_0x810a4a)[_0xb129('0x1d')](_0xf641f1);}};}function respondWithFilteredResult(_0x56e998,_0x2fea47){return function(_0x16036a){if(_0x16036a){var _0x1c4eb3=typeof _0x2fea47[_0xb129('0x1e')]===_0xb129('0x1f')&&typeof _0x2fea47[_0xb129('0x20')]==='undefined';var _0x53dd26=_0x16036a[_0xb129('0x21')];var _0x1d7101=_0x1c4eb3?0x0:_0x2fea47[_0xb129('0x1e')];var _0x11161b=_0x1c4eb3?_0x16036a[_0xb129('0x21')]:_0x2fea47[_0xb129('0x1e')]+_0x2fea47[_0xb129('0x20')];var _0x43f3e3;if(_0x11161b>=_0x53dd26){_0x11161b=_0x53dd26;_0x43f3e3=0xc8;}else{_0x43f3e3=0xce;}_0x56e998[_0xb129('0x1b')](_0x43f3e3);return _0x56e998[_0xb129('0x22')](_0xb129('0x23'),_0x1d7101+'-'+_0x11161b+'/'+_0x53dd26)['json'](_0x16036a);}return null;};}function patchUpdates(_0x3c5c13){return function(_0x2aead2){try{jsonpatch[_0xb129('0x24')](_0x2aead2,_0x3c5c13,!![]);}catch(_0x2623f5){return BPromise[_0xb129('0x25')](_0x2623f5);}return _0x2aead2['save']();};}function saveUpdates(_0x26a7dd,_0x56a666){return function(_0x36a4b2){if(_0x36a4b2){return _0x36a4b2[_0xb129('0x26')](_0x26a7dd)['then'](function(_0x364f7f){return _0x364f7f;});}return null;};}function removeEntity(_0x2b5716,_0x2a90e7){return function(_0x1d9186){if(_0x1d9186){return _0x1d9186['destroy']()[_0xb129('0x27')](function(){_0x2b5716[_0xb129('0x1b')](0xcc)[_0xb129('0x1c')]();});}};}function handleEntityNotFound(_0x151e1b,_0x55cec5){return function(_0x50ed4){if(!_0x50ed4){_0x151e1b[_0xb129('0x28')](0x194);}return _0x50ed4;};}function handleError(_0x1b17b6,_0x34cb87){_0x34cb87=_0x34cb87||0x1f4;return function(_0x297a51){logger[_0xb129('0x29')](_0x297a51[_0xb129('0x2a')]);if(_0x297a51[_0xb129('0x2b')]){delete _0x297a51['name'];}_0x1b17b6[_0xb129('0x1b')](_0x34cb87)[_0xb129('0x2c')](_0x297a51);};}exports[_0xb129('0x2d')]=function(_0x493c15,_0x405437){var _0x3af55f={},_0x35122f={},_0x2bbab1={'count':0x0,'rows':[]};var _0x4a46f6=_[_0xb129('0x2e')](db[_0xb129('0x2f')]['rawAttributes'],function(_0x43e230){return{'name':_0x43e230['fieldName'],'type':_0x43e230[_0xb129('0x30')][_0xb129('0x31')]};});_0x35122f[_0xb129('0x32')]=_[_0xb129('0x2e')](_0x4a46f6,'name');_0x35122f[_0xb129('0x33')]=_[_0xb129('0x34')](_0x493c15[_0xb129('0x33')]);_0x35122f[_0xb129('0x35')]=_[_0xb129('0x36')](_0x35122f[_0xb129('0x32')],_0x35122f[_0xb129('0x33')]);_0x3af55f[_0xb129('0x37')]=_[_0xb129('0x36')](_0x35122f[_0xb129('0x32')],qs[_0xb129('0x38')](_0x493c15[_0xb129('0x33')][_0xb129('0x38')]));_0x3af55f[_0xb129('0x37')]=_0x3af55f[_0xb129('0x37')][_0xb129('0x39')]?_0x3af55f[_0xb129('0x37')]:_0x35122f['model'];if(!_0x493c15[_0xb129('0x33')][_0xb129('0x3a')](_0xb129('0x3b'))){_0x3af55f[_0xb129('0x20')]=qs[_0xb129('0x20')](_0x493c15['query'][_0xb129('0x20')]);_0x3af55f['offset']=qs[_0xb129('0x1e')](_0x493c15[_0xb129('0x33')][_0xb129('0x1e')]);}_0x3af55f[_0xb129('0x3c')]=qs['sort'](_0x493c15[_0xb129('0x33')][_0xb129('0x3d')]);_0x3af55f['where']=qs[_0xb129('0x35')](_[_0xb129('0x3e')](_0x493c15[_0xb129('0x33')],_0x35122f[_0xb129('0x35')]),_0x4a46f6);if(_0x493c15[_0xb129('0x33')][_0xb129('0x3f')]){_0x3af55f['where']=_[_0xb129('0x40')](_0x3af55f['where'],{'$or':_[_0xb129('0x2e')](_0x4a46f6,function(_0x5d2598){if(_0x5d2598[_0xb129('0x30')]!==_0xb129('0x41')){var _0x2b782d={};_0x2b782d[_0x5d2598[_0xb129('0x2b')]]={'$like':'%'+_0x493c15[_0xb129('0x33')][_0xb129('0x3f')]+'%'};return _0x2b782d;}})});}_0x3af55f=_[_0xb129('0x40')]({},_0x3af55f,_0x493c15['options']);var _0x33f160={'where':_0x3af55f['where']};return db['AnalyticFieldReport'][_0xb129('0x21')](_0x33f160)[_0xb129('0x27')](function(_0x455ebc){_0x2bbab1[_0xb129('0x21')]=_0x455ebc;if(_0x493c15[_0xb129('0x33')][_0xb129('0x42')]){_0x3af55f[_0xb129('0x43')]=[{'all':!![]}];}return db[_0xb129('0x2f')][_0xb129('0x44')](_0x3af55f);})['then'](function(_0x33b7ed){_0x2bbab1[_0xb129('0x45')]=_0x33b7ed;return _0x2bbab1;})['then'](respondWithFilteredResult(_0x405437,_0x3af55f))[_0xb129('0x46')](handleError(_0x405437,null));};exports[_0xb129('0x47')]=function(_0x3fdc4f,_0x5f3e87){var _0x20ce03={'raw':![],'where':{'id':_0x3fdc4f[_0xb129('0x48')]['id']}},_0x1ad3cc={};_0x1ad3cc[_0xb129('0x32')]=_['keys'](db[_0xb129('0x2f')][_0xb129('0x49')]);_0x1ad3cc[_0xb129('0x33')]=_['keys'](_0x3fdc4f['query']);_0x1ad3cc[_0xb129('0x35')]=_[_0xb129('0x36')](_0x1ad3cc[_0xb129('0x32')],_0x1ad3cc[_0xb129('0x33')]);_0x20ce03[_0xb129('0x37')]=_['intersection'](_0x1ad3cc['model'],qs[_0xb129('0x38')](_0x3fdc4f[_0xb129('0x33')][_0xb129('0x38')]));_0x20ce03[_0xb129('0x37')]=_0x20ce03[_0xb129('0x37')][_0xb129('0x39')]?_0x20ce03[_0xb129('0x37')]:_0x1ad3cc['model'];if(_0x3fdc4f[_0xb129('0x33')][_0xb129('0x42')]){_0x20ce03[_0xb129('0x43')]=[{'all':!![]}];}_0x20ce03=_['merge']({},_0x20ce03,_0x3fdc4f[_0xb129('0x4a')]);return db[_0xb129('0x2f')][_0xb129('0x4b')](_0x20ce03)[_0xb129('0x27')](handleEntityNotFound(_0x5f3e87,null))[_0xb129('0x27')](respondWithResult(_0x5f3e87,null))[_0xb129('0x46')](handleError(_0x5f3e87,null));};exports[_0xb129('0x4c')]=function(_0x11582b,_0x39431d){return db['AnalyticFieldReport'][_0xb129('0x4c')](_0x11582b[_0xb129('0x4d')],{})[_0xb129('0x27')](respondWithResult(_0x39431d,0xc9))['catch'](handleError(_0x39431d,null));};exports[_0xb129('0x4e')]=function(_0x2663f2,_0x369fd2){return db['AnalyticFieldReport'][_0xb129('0x4e')](_0x2663f2[_0xb129('0x4d')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x369fd2,0xc9))[_0xb129('0x46')](handleError(_0x369fd2,null));};exports['update']=function(_0x217e7a,_0x3080af){if(_0x217e7a['body']['id']){delete _0x217e7a[_0xb129('0x4d')]['id'];}return db[_0xb129('0x2f')]['find']({'where':{'id':_0x217e7a['params']['id']}})[_0xb129('0x27')](handleEntityNotFound(_0x3080af,null))[_0xb129('0x27')](saveUpdates(_0x217e7a['body'],null))[_0xb129('0x27')](respondWithResult(_0x3080af,null))['catch'](handleError(_0x3080af,null));};exports['destroy']=function(_0x1fc9cd,_0x2ca65e){return db[_0xb129('0x2f')][_0xb129('0x4b')]({'where':{'id':_0x1fc9cd[_0xb129('0x48')]['id']}})[_0xb129('0x27')](handleEntityNotFound(_0x2ca65e,null))['then'](removeEntity(_0x2ca65e,null))[_0xb129('0x46')](handleError(_0x2ca65e,null));};exports[_0xb129('0x4f')]=function(_0x36922d,_0x1ccf25){return db['AnalyticFieldReport']['destroy']({'where':{'id':_0x36922d[_0xb129('0x33')][_0xb129('0x50')]||[]},'raw':![],'individualHooks':!![]})[_0xb129('0x27')](respondWithResult(_0x1ccf25,0xcc))['catch'](handleError(_0x1ccf25,null));};exports['addFields']=function(_0x5a28b6,_0x25302e,_0xf8d489){return db['AnalyticCustomReport'][_0xb129('0x51')]({'where':{'id':_0x5a28b6[_0xb129('0x48')]['id']}})[_0xb129('0x27')](handleEntityNotFound(_0x25302e,null))[_0xb129('0x27')](function(_0x100f34){if(_0x100f34){return db[_0xb129('0x52')][_0xb129('0x53')](function(_0x25904e){return db['AnalyticFieldReport'][_0xb129('0x54')]({'where':{'CustomReportId':_0x5a28b6[_0xb129('0x48')]['id']},'transaction':_0x25904e})[_0xb129('0x27')](function(_0x5be47e){var _0x440185=_['map'](_0x5a28b6[_0xb129('0x4d')],function(_0x1d41fc){delete _0x1d41fc['id'];_0x1d41fc[_0xb129('0x55')]=_0x5a28b6['params']['id'];return _0x1d41fc;});return db[_0xb129('0x2f')][_0xb129('0x4e')](_0x440185,{'transaction':_0x25904e});});})[_0xb129('0x27')](function(){return db[_0xb129('0x2f')]['findAll']({'where':{'CustomReportId':_0x5a28b6[_0xb129('0x48')]['id']}});});}})[_0xb129('0x27')](respondWithResult(_0x25302e,null))[_0xb129('0x46')](handleError(_0x25302e,null));};