Built motion from commit ffdca78c.|2.6.24
[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 _0x3597=['offset','undefined','limit','set','apply','reject','save','update','then','end','error','stack','name','send','index','map','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','count','include','findAll','rows','catch','show','params','includeAll','create','body','bulkCreate','find','destroy','bulkDestroy','ids','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','json'];(function(_0x13759c,_0x3a2c2a){var _0x1f9de5=function(_0x247d1b){while(--_0x247d1b){_0x13759c['push'](_0x13759c['shift']());}};_0x1f9de5(++_0x3a2c2a);}(_0x3597,0x91));var _0x7359=function(_0x41c064,_0xdf6d15){_0x41c064=_0x41c064-0x0;var _0xaec04d=_0x3597[_0x41c064];return _0xaec04d;};'use strict';var emlformat=require(_0x7359('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x7359('0x1'));var jsonpatch=require(_0x7359('0x2'));var rp=require(_0x7359('0x3'));var moment=require(_0x7359('0x4'));var BPromise=require(_0x7359('0x5'));var Mustache=require(_0x7359('0x6'));var util=require(_0x7359('0x7'));var path=require('path');var sox=require(_0x7359('0x8'));var csv=require(_0x7359('0x9'));var ejs=require(_0x7359('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7359('0xb'));var squel=require('squel');var crypto=require(_0x7359('0xc'));var jsforce=require(_0x7359('0xd'));var deskjs=require(_0x7359('0xe'));var toCsv=require(_0x7359('0x9'));var querystring=require(_0x7359('0xf'));var Papa=require('papaparse');var Redis=require(_0x7359('0x10'));var authService=require(_0x7359('0x11'));var qs=require(_0x7359('0x12'));var as=require(_0x7359('0x13'));var hardwareService=require(_0x7359('0x14'));var logger=require(_0x7359('0x15'))('api');var utils=require('../../config/utils');var config=require(_0x7359('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x7359('0x17'))['db'];function respondWithStatusCode(_0xd0d36e,_0x3b9154){_0x3b9154=_0x3b9154||0xcc;return function(_0x29dfd1){if(_0x29dfd1){return _0xd0d36e[_0x7359('0x18')](_0x3b9154);}return _0xd0d36e[_0x7359('0x19')](_0x3b9154)['end']();};}function respondWithResult(_0x3d45c9,_0x20621){_0x20621=_0x20621||0xc8;return function(_0x2c0064){if(_0x2c0064){return _0x3d45c9['status'](_0x20621)[_0x7359('0x1a')](_0x2c0064);}};}function respondWithFilteredResult(_0x48ac24,_0x1c5072){return function(_0x180667){if(_0x180667){var _0x190670=typeof _0x1c5072[_0x7359('0x1b')]===_0x7359('0x1c')&&typeof _0x1c5072[_0x7359('0x1d')]===_0x7359('0x1c');var _0x5ef818=_0x180667['count'];var _0x5cb20c=_0x190670?0x0:_0x1c5072['offset'];var _0xa269ee=_0x190670?_0x180667['count']:_0x1c5072[_0x7359('0x1b')]+_0x1c5072[_0x7359('0x1d')];var _0x4d39aa;if(_0xa269ee>=_0x5ef818){_0xa269ee=_0x5ef818;_0x4d39aa=0xc8;}else{_0x4d39aa=0xce;}_0x48ac24['status'](_0x4d39aa);return _0x48ac24[_0x7359('0x1e')]('Content-Range',_0x5cb20c+'-'+_0xa269ee+'/'+_0x5ef818)[_0x7359('0x1a')](_0x180667);}return null;};}function patchUpdates(_0x119cf9){return function(_0x89db10){try{jsonpatch[_0x7359('0x1f')](_0x89db10,_0x119cf9,!![]);}catch(_0x12f202){return BPromise[_0x7359('0x20')](_0x12f202);}return _0x89db10[_0x7359('0x21')]();};}function saveUpdates(_0x18b117,_0x8a804a){return function(_0xf270da){if(_0xf270da){return _0xf270da[_0x7359('0x22')](_0x18b117)['then'](function(_0x4265d){return _0x4265d;});}return null;};}function removeEntity(_0x303a89,_0x2e2438){return function(_0x107f91){if(_0x107f91){return _0x107f91['destroy']()[_0x7359('0x23')](function(){_0x303a89[_0x7359('0x19')](0xcc)[_0x7359('0x24')]();});}};}function handleEntityNotFound(_0xdc27e,_0x1d7581){return function(_0xc44a47){if(!_0xc44a47){_0xdc27e[_0x7359('0x18')](0x194);}return _0xc44a47;};}function handleError(_0x38d289,_0x151c06){_0x151c06=_0x151c06||0x1f4;return function(_0x31d047){logger[_0x7359('0x25')](_0x31d047[_0x7359('0x26')]);if(_0x31d047[_0x7359('0x27')]){delete _0x31d047[_0x7359('0x27')];}_0x38d289['status'](_0x151c06)[_0x7359('0x28')](_0x31d047);};}exports[_0x7359('0x29')]=function(_0x24b3a9,_0x1f4212){var _0x1b1a3b={},_0x1d933a={},_0x5de727={'count':0x0,'rows':[]};var _0x3ecb56=_[_0x7359('0x2a')](db[_0x7359('0x2b')][_0x7359('0x2c')],function(_0x2173d3){return{'name':_0x2173d3[_0x7359('0x2d')],'type':_0x2173d3[_0x7359('0x2e')][_0x7359('0x2f')]};});_0x1d933a[_0x7359('0x30')]=_[_0x7359('0x2a')](_0x3ecb56,_0x7359('0x27'));_0x1d933a[_0x7359('0x31')]=_[_0x7359('0x32')](_0x24b3a9['query']);_0x1d933a[_0x7359('0x33')]=_['intersection'](_0x1d933a[_0x7359('0x30')],_0x1d933a['query']);_0x1b1a3b[_0x7359('0x34')]=_[_0x7359('0x35')](_0x1d933a[_0x7359('0x30')],qs['fields'](_0x24b3a9['query'][_0x7359('0x36')]));_0x1b1a3b[_0x7359('0x34')]=_0x1b1a3b['attributes'][_0x7359('0x37')]?_0x1b1a3b[_0x7359('0x34')]:_0x1d933a['model'];if(!_0x24b3a9[_0x7359('0x31')][_0x7359('0x38')](_0x7359('0x39'))){_0x1b1a3b['limit']=qs[_0x7359('0x1d')](_0x24b3a9[_0x7359('0x31')][_0x7359('0x1d')]);_0x1b1a3b[_0x7359('0x1b')]=qs[_0x7359('0x1b')](_0x24b3a9[_0x7359('0x31')][_0x7359('0x1b')]);}_0x1b1a3b[_0x7359('0x3a')]=qs['sort'](_0x24b3a9[_0x7359('0x31')][_0x7359('0x3b')]);_0x1b1a3b[_0x7359('0x3c')]=qs['filters'](_[_0x7359('0x3d')](_0x24b3a9[_0x7359('0x31')],_0x1d933a[_0x7359('0x33')]),_0x3ecb56);if(_0x24b3a9[_0x7359('0x31')][_0x7359('0x3e')]){_0x1b1a3b[_0x7359('0x3c')]=_[_0x7359('0x3f')](_0x1b1a3b['where'],{'$or':_[_0x7359('0x2a')](_0x3ecb56,function(_0x10237c){if(_0x10237c[_0x7359('0x2e')]!==_0x7359('0x40')){var _0xb9bfce={};_0xb9bfce[_0x10237c['name']]={'$like':'%'+_0x24b3a9[_0x7359('0x31')][_0x7359('0x3e')]+'%'};return _0xb9bfce;}})});}_0x1b1a3b=_[_0x7359('0x3f')]({},_0x1b1a3b,_0x24b3a9[_0x7359('0x41')]);var _0xe4838={'where':_0x1b1a3b[_0x7359('0x3c')]};return db['AnalyticFieldReport'][_0x7359('0x42')](_0xe4838)[_0x7359('0x23')](function(_0x4e901b){_0x5de727['count']=_0x4e901b;if(_0x24b3a9[_0x7359('0x31')]['includeAll']){_0x1b1a3b[_0x7359('0x43')]=[{'all':!![]}];}return db[_0x7359('0x2b')][_0x7359('0x44')](_0x1b1a3b);})[_0x7359('0x23')](function(_0x3782de){_0x5de727[_0x7359('0x45')]=_0x3782de;return _0x5de727;})['then'](respondWithFilteredResult(_0x1f4212,_0x1b1a3b))[_0x7359('0x46')](handleError(_0x1f4212,null));};exports[_0x7359('0x47')]=function(_0x9b3134,_0x4e790f){var _0x29bc83={'raw':![],'where':{'id':_0x9b3134[_0x7359('0x48')]['id']}},_0x38c217={};_0x38c217[_0x7359('0x30')]=_['keys'](db['AnalyticFieldReport'][_0x7359('0x2c')]);_0x38c217[_0x7359('0x31')]=_[_0x7359('0x32')](_0x9b3134[_0x7359('0x31')]);_0x38c217[_0x7359('0x33')]=_[_0x7359('0x35')](_0x38c217[_0x7359('0x30')],_0x38c217[_0x7359('0x31')]);_0x29bc83['attributes']=_[_0x7359('0x35')](_0x38c217[_0x7359('0x30')],qs[_0x7359('0x36')](_0x9b3134[_0x7359('0x31')][_0x7359('0x36')]));_0x29bc83[_0x7359('0x34')]=_0x29bc83['attributes'][_0x7359('0x37')]?_0x29bc83[_0x7359('0x34')]:_0x38c217['model'];if(_0x9b3134[_0x7359('0x31')][_0x7359('0x49')]){_0x29bc83[_0x7359('0x43')]=[{'all':!![]}];}_0x29bc83=_[_0x7359('0x3f')]({},_0x29bc83,_0x9b3134[_0x7359('0x41')]);return db[_0x7359('0x2b')]['find'](_0x29bc83)['then'](handleEntityNotFound(_0x4e790f,null))[_0x7359('0x23')](respondWithResult(_0x4e790f,null))[_0x7359('0x46')](handleError(_0x4e790f,null));};exports[_0x7359('0x4a')]=function(_0x361e18,_0x4c212f){return db[_0x7359('0x2b')][_0x7359('0x4a')](_0x361e18[_0x7359('0x4b')],{})[_0x7359('0x23')](respondWithResult(_0x4c212f,0xc9))['catch'](handleError(_0x4c212f,null));};exports[_0x7359('0x4c')]=function(_0x7ae9af,_0x2409f4){return db['AnalyticFieldReport'][_0x7359('0x4c')](_0x7ae9af[_0x7359('0x4b')],{'raw':![],'individualHooks':!![]})['then'](respondWithResult(_0x2409f4,0xc9))['catch'](handleError(_0x2409f4,null));};exports[_0x7359('0x22')]=function(_0x44bea4,_0x18c90a){if(_0x44bea4[_0x7359('0x4b')]['id']){delete _0x44bea4[_0x7359('0x4b')]['id'];}return db[_0x7359('0x2b')][_0x7359('0x4d')]({'where':{'id':_0x44bea4[_0x7359('0x48')]['id']}})[_0x7359('0x23')](handleEntityNotFound(_0x18c90a,null))[_0x7359('0x23')](saveUpdates(_0x44bea4[_0x7359('0x4b')],null))['then'](respondWithResult(_0x18c90a,null))[_0x7359('0x46')](handleError(_0x18c90a,null));};exports[_0x7359('0x4e')]=function(_0x238470,_0x29daf3){return db['AnalyticFieldReport'][_0x7359('0x4d')]({'where':{'id':_0x238470['params']['id']}})[_0x7359('0x23')](handleEntityNotFound(_0x29daf3,null))[_0x7359('0x23')](removeEntity(_0x29daf3,null))['catch'](handleError(_0x29daf3,null));};exports[_0x7359('0x4f')]=function(_0x5d0ccc,_0x594a1f){return db[_0x7359('0x2b')][_0x7359('0x4e')]({'where':{'id':_0x5d0ccc[_0x7359('0x31')][_0x7359('0x50')]||[]},'raw':![],'individualHooks':!![]})[_0x7359('0x23')](respondWithResult(_0x594a1f,0xcc))[_0x7359('0x46')](handleError(_0x594a1f,null));};exports['addFields']=function(_0x45a3fc,_0x3eb905,_0x22bad8){return db[_0x7359('0x51')][_0x7359('0x52')]({'where':{'id':_0x45a3fc[_0x7359('0x48')]['id']}})[_0x7359('0x23')](handleEntityNotFound(_0x3eb905,null))['then'](function(_0x32fff6){if(_0x32fff6){return db[_0x7359('0x53')][_0x7359('0x54')](function(_0x141f63){return db['AnalyticFieldReport'][_0x7359('0x4e')]({'where':{'CustomReportId':_0x45a3fc['params']['id']},'transaction':_0x141f63})[_0x7359('0x23')](function(_0x57aef6){var _0x2cef72=_[_0x7359('0x2a')](_0x45a3fc[_0x7359('0x4b')],function(_0x2d1b6c){delete _0x2d1b6c['id'];_0x2d1b6c[_0x7359('0x55')]=_0x45a3fc['params']['id'];return _0x2d1b6c;});return db[_0x7359('0x2b')][_0x7359('0x4c')](_0x2cef72,{'transaction':_0x141f63});});})[_0x7359('0x23')](function(){return db['AnalyticFieldReport'][_0x7359('0x44')]({'where':{'CustomReportId':_0x45a3fc['params']['id']}});});}})[_0x7359('0x23')](respondWithResult(_0x3eb905,null))['catch'](handleError(_0x3eb905,null));};