Built motion from commit (unavailable).|2.5.14
[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 _0xfd43=['merge','VIRTUAL','options','includeAll','include','findAll','rows','show','find','catch','create','body','bulkCreate','params','bulkDestroy','addFields','findOne','transaction','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','util','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','limit','apply','reject','update','then','destroy','error','stack','name','send','map','AnalyticFieldReport','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','filter','where'];(function(_0x210a6c,_0x3ae28b){var _0x20eb37=function(_0x418368){while(--_0x418368){_0x210a6c['push'](_0x210a6c['shift']());}};_0x20eb37(++_0x3ae28b);}(_0xfd43,0xf9));var _0x3fd4=function(_0x17c540,_0x587758){_0x17c540=_0x17c540-0x0;var _0x242bbc=_0xfd43[_0x17c540];return _0x242bbc;};'use strict';var pdf=require(_0x3fd4('0x0'));var emlformat=require(_0x3fd4('0x1'));var rimraf=require(_0x3fd4('0x2'));var zipdir=require(_0x3fd4('0x3'));var jsonpatch=require(_0x3fd4('0x4'));var rp=require(_0x3fd4('0x5'));var moment=require(_0x3fd4('0x6'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x3fd4('0x7'));var path=require('path');var sox=require(_0x3fd4('0x8'));var csv=require(_0x3fd4('0x9'));var ejs=require(_0x3fd4('0xa'));var fs=require('fs');var _=require(_0x3fd4('0xb'));var squel=require(_0x3fd4('0xc'));var crypto=require(_0x3fd4('0xd'));var jsforce=require(_0x3fd4('0xe'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x3fd4('0xf'));var Redis=require(_0x3fd4('0x10'));var authService=require(_0x3fd4('0x11'));var qs=require(_0x3fd4('0x12'));var as=require(_0x3fd4('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x3fd4('0x14'));var utils=require(_0x3fd4('0x15'));var config=require(_0x3fd4('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x3fd4('0x17'))['db'];function respondWithStatusCode(_0x227e62,_0x5641d2){_0x5641d2=_0x5641d2||0xcc;return function(_0x499445){if(_0x499445){return _0x227e62[_0x3fd4('0x18')](_0x5641d2);}return _0x227e62[_0x3fd4('0x19')](_0x5641d2)[_0x3fd4('0x1a')]();};}function respondWithResult(_0x574453,_0x487608){_0x487608=_0x487608||0xc8;return function(_0x57b3b4){if(_0x57b3b4){return _0x574453[_0x3fd4('0x19')](_0x487608)[_0x3fd4('0x1b')](_0x57b3b4);}};}function respondWithFilteredResult(_0x290616,_0x35de86){return function(_0x5448e9){if(_0x5448e9){var _0x6b22a9=_0x5448e9[_0x3fd4('0x1c')],_0x59a597=_0x35de86['offset'],_0x32ecfa=_0x35de86[_0x3fd4('0x1d')]+_0x35de86[_0x3fd4('0x1e')],_0x177e98;if(_0x32ecfa>=_0x6b22a9){_0x32ecfa=_0x6b22a9;_0x177e98=0xc8;}else{_0x177e98=0xce;}_0x290616[_0x3fd4('0x19')](_0x177e98);return _0x290616['set']('Content-Range',_0x59a597+'-'+_0x32ecfa+'/'+_0x6b22a9)['json'](_0x5448e9);}return null;};}function patchUpdates(_0x228a3a){return function(_0x10d4cd){try{jsonpatch[_0x3fd4('0x1f')](_0x10d4cd,_0x228a3a,!![]);}catch(_0x2f4a7a){return BPromise[_0x3fd4('0x20')](_0x2f4a7a);}return _0x10d4cd['save']();};}function saveUpdates(_0x25b243,_0x2c16a3){return function(_0x34ab38){if(_0x34ab38){return _0x34ab38[_0x3fd4('0x21')](_0x25b243)[_0x3fd4('0x22')](function(_0x35caf4){return _0x35caf4;});}return null;};}function removeEntity(_0x1e941e,_0x18f18a){return function(_0x209182){if(_0x209182){return _0x209182[_0x3fd4('0x23')]()[_0x3fd4('0x22')](function(){_0x1e941e['status'](0xcc)[_0x3fd4('0x1a')]();});}};}function handleEntityNotFound(_0x5ce12b,_0x152f27){return function(_0x1f84d1){if(!_0x1f84d1){_0x5ce12b['sendStatus'](0x194);}return _0x1f84d1;};}function handleError(_0x555220,_0x5d7713){_0x5d7713=_0x5d7713||0x1f4;return function(_0x320c4b){logger[_0x3fd4('0x24')](_0x320c4b[_0x3fd4('0x25')]);if(_0x320c4b[_0x3fd4('0x26')]){delete _0x320c4b[_0x3fd4('0x26')];}_0x555220['status'](_0x5d7713)[_0x3fd4('0x27')](_0x320c4b);};}exports['index']=function(_0x23de37,_0x22a1bf){var _0x4634c1={},_0xaf16ea={},_0x2de9a4={'count':0x0,'rows':[]};var _0x1c18d8=_[_0x3fd4('0x28')](db[_0x3fd4('0x29')][_0x3fd4('0x2a')],function(_0x3add67){return{'name':_0x3add67[_0x3fd4('0x2b')],'type':_0x3add67[_0x3fd4('0x2c')][_0x3fd4('0x2d')]};});_0xaf16ea[_0x3fd4('0x2e')]=_['map'](_0x1c18d8,'name');_0xaf16ea[_0x3fd4('0x2f')]=_[_0x3fd4('0x30')](_0x23de37[_0x3fd4('0x2f')]);_0xaf16ea['filters']=_[_0x3fd4('0x31')](_0xaf16ea['model'],_0xaf16ea[_0x3fd4('0x2f')]);_0x4634c1[_0x3fd4('0x32')]=_[_0x3fd4('0x31')](_0xaf16ea[_0x3fd4('0x2e')],qs[_0x3fd4('0x33')](_0x23de37['query'][_0x3fd4('0x33')]));_0x4634c1[_0x3fd4('0x32')]=_0x4634c1[_0x3fd4('0x32')][_0x3fd4('0x34')]?_0x4634c1[_0x3fd4('0x32')]:_0xaf16ea['model'];if(!_0x23de37[_0x3fd4('0x2f')][_0x3fd4('0x35')](_0x3fd4('0x36'))){_0x4634c1['limit']=qs[_0x3fd4('0x1e')](_0x23de37[_0x3fd4('0x2f')]['limit']);_0x4634c1[_0x3fd4('0x1d')]=qs['offset'](_0x23de37[_0x3fd4('0x2f')][_0x3fd4('0x1d')]);}_0x4634c1['order']=qs[_0x3fd4('0x37')](_0x23de37[_0x3fd4('0x2f')][_0x3fd4('0x37')]);_0x4634c1['where']=qs[_0x3fd4('0x38')](_['pick'](_0x23de37['query'],_0xaf16ea['filters']),_0x1c18d8);if(_0x23de37[_0x3fd4('0x2f')][_0x3fd4('0x39')]){_0x4634c1[_0x3fd4('0x3a')]=_[_0x3fd4('0x3b')](_0x4634c1['where'],{'$or':_['map'](_0x1c18d8,function(_0x12a7d2){if(_0x12a7d2[_0x3fd4('0x2c')]!==_0x3fd4('0x3c')){var _0x5c4edf={};_0x5c4edf[_0x12a7d2[_0x3fd4('0x26')]]={'$like':'%'+_0x23de37['query']['filter']+'%'};return _0x5c4edf;}})});}_0x4634c1=_['merge']({},_0x4634c1,_0x23de37[_0x3fd4('0x3d')]);var _0x45ddfa={'where':_0x4634c1[_0x3fd4('0x3a')]};return db[_0x3fd4('0x29')]['count'](_0x45ddfa)[_0x3fd4('0x22')](function(_0x3c7d6a){_0x2de9a4[_0x3fd4('0x1c')]=_0x3c7d6a;if(_0x23de37[_0x3fd4('0x2f')][_0x3fd4('0x3e')]){_0x4634c1[_0x3fd4('0x3f')]=[{'all':!![]}];}return db['AnalyticFieldReport'][_0x3fd4('0x40')](_0x4634c1);})[_0x3fd4('0x22')](function(_0x4c65f4){_0x2de9a4[_0x3fd4('0x41')]=_0x4c65f4;return _0x2de9a4;})['then'](respondWithFilteredResult(_0x22a1bf,_0x4634c1))['catch'](handleError(_0x22a1bf,null));};exports[_0x3fd4('0x42')]=function(_0x3f49e8,_0x48baa1){var _0x2bc33f={'raw':![],'where':{'id':_0x3f49e8['params']['id']}},_0x42ecd3={};_0x42ecd3[_0x3fd4('0x2e')]=_[_0x3fd4('0x30')](db['AnalyticFieldReport'][_0x3fd4('0x2a')]);_0x42ecd3[_0x3fd4('0x2f')]=_['keys'](_0x3f49e8[_0x3fd4('0x2f')]);_0x42ecd3[_0x3fd4('0x38')]=_['intersection'](_0x42ecd3[_0x3fd4('0x2e')],_0x42ecd3[_0x3fd4('0x2f')]);_0x2bc33f[_0x3fd4('0x32')]=_[_0x3fd4('0x31')](_0x42ecd3[_0x3fd4('0x2e')],qs[_0x3fd4('0x33')](_0x3f49e8['query']['fields']));_0x2bc33f[_0x3fd4('0x32')]=_0x2bc33f[_0x3fd4('0x32')]['length']?_0x2bc33f[_0x3fd4('0x32')]:_0x42ecd3[_0x3fd4('0x2e')];if(_0x3f49e8[_0x3fd4('0x2f')][_0x3fd4('0x3e')]){_0x2bc33f[_0x3fd4('0x3f')]=[{'all':!![]}];}_0x2bc33f=_[_0x3fd4('0x3b')]({},_0x2bc33f,_0x3f49e8[_0x3fd4('0x3d')]);return db[_0x3fd4('0x29')][_0x3fd4('0x43')](_0x2bc33f)[_0x3fd4('0x22')](handleEntityNotFound(_0x48baa1,null))[_0x3fd4('0x22')](respondWithResult(_0x48baa1,null))[_0x3fd4('0x44')](handleError(_0x48baa1,null));};exports[_0x3fd4('0x45')]=function(_0x29a8b7,_0x22eead){return db[_0x3fd4('0x29')][_0x3fd4('0x45')](_0x29a8b7[_0x3fd4('0x46')],{})['then'](respondWithResult(_0x22eead,0xc9))['catch'](handleError(_0x22eead,null));};exports[_0x3fd4('0x47')]=function(_0x5e6d50,_0x3a9588){return db[_0x3fd4('0x29')]['bulkCreate'](_0x5e6d50[_0x3fd4('0x46')],{'raw':![],'individualHooks':!![]})[_0x3fd4('0x22')](respondWithResult(_0x3a9588,0xc9))['catch'](handleError(_0x3a9588,null));};exports[_0x3fd4('0x21')]=function(_0x4b90d4,_0x2a01d5){if(_0x4b90d4['body']['id']){delete _0x4b90d4[_0x3fd4('0x46')]['id'];}return db['AnalyticFieldReport'][_0x3fd4('0x43')]({'where':{'id':_0x4b90d4[_0x3fd4('0x48')]['id']}})['then'](handleEntityNotFound(_0x2a01d5,null))[_0x3fd4('0x22')](saveUpdates(_0x4b90d4[_0x3fd4('0x46')],null))[_0x3fd4('0x22')](respondWithResult(_0x2a01d5,null))[_0x3fd4('0x44')](handleError(_0x2a01d5,null));};exports[_0x3fd4('0x23')]=function(_0x39f822,_0x4bb5f8){return db[_0x3fd4('0x29')][_0x3fd4('0x43')]({'where':{'id':_0x39f822['params']['id']}})['then'](handleEntityNotFound(_0x4bb5f8,null))[_0x3fd4('0x22')](removeEntity(_0x4bb5f8,null))[_0x3fd4('0x44')](handleError(_0x4bb5f8,null));};exports[_0x3fd4('0x49')]=function(_0x58ca8c,_0x281190){return db[_0x3fd4('0x29')][_0x3fd4('0x23')]({'where':{'id':_0x58ca8c[_0x3fd4('0x2f')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x3fd4('0x22')](respondWithResult(_0x281190,0xcc))[_0x3fd4('0x44')](handleError(_0x281190,null));};exports[_0x3fd4('0x4a')]=function(_0x3ece83,_0x1ccd55,_0x2cf0f3){return db['AnalyticCustomReport'][_0x3fd4('0x4b')]({'where':{'id':_0x3ece83[_0x3fd4('0x48')]['id']}})[_0x3fd4('0x22')](handleEntityNotFound(_0x1ccd55,null))[_0x3fd4('0x22')](function(_0x12f6f4){if(_0x12f6f4){return db['sequelize'][_0x3fd4('0x4c')](function(_0x5053cf){return db['AnalyticFieldReport'][_0x3fd4('0x23')]({'where':{'CustomReportId':_0x3ece83[_0x3fd4('0x48')]['id']},'transaction':_0x5053cf})[_0x3fd4('0x22')](function(_0x4cbf2e){var _0x4c67de=_['map'](_0x3ece83[_0x3fd4('0x46')],function(_0x27d9df){delete _0x27d9df['id'];_0x27d9df['CustomReportId']=_0x3ece83['params']['id'];return _0x27d9df;});return db[_0x3fd4('0x29')][_0x3fd4('0x47')](_0x4c67de,{'transaction':_0x5053cf});});})['then'](function(){return db['AnalyticFieldReport'][_0x3fd4('0x40')]({'where':{'CustomReportId':_0x3ece83['params']['id']}});});}})[_0x3fd4('0x22')](respondWithResult(_0x1ccd55,null))[_0x3fd4('0x44')](handleError(_0x1ccd55,null));};