Built motion from commit 953226e6.|2.6.32
[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 _0x3816=['model','map','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','filter','where','merge','VIRTUAL','options','rows','catch','show','params','includeAll','find','create','body','bulkCreate','update','bulkDestroy','destroy','addFields','AnalyticCustomReport','findOne','sequelize','transaction','findAll','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','reject','save','then','error','name','send','index','AnalyticFieldReport','rawAttributes','fieldName','type'];(function(_0x35bce3,_0x19b451){var _0x426644=function(_0x85a5f5){while(--_0x85a5f5){_0x35bce3['push'](_0x35bce3['shift']());}};_0x426644(++_0x19b451);}(_0x3816,0x113));var _0x6381=function(_0x11a220,_0x4e470a){_0x11a220=_0x11a220-0x0;var _0x20d8fe=_0x3816[_0x11a220];return _0x20d8fe;};'use strict';var emlformat=require(_0x6381('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x6381('0x1'));var jsonpatch=require(_0x6381('0x2'));var rp=require(_0x6381('0x3'));var moment=require(_0x6381('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x6381('0x5'));var util=require(_0x6381('0x6'));var path=require('path');var sox=require(_0x6381('0x7'));var csv=require('to-csv');var ejs=require(_0x6381('0x8'));var fs=require('fs');var fs_extra=require(_0x6381('0x9'));var _=require('lodash');var squel=require(_0x6381('0xa'));var crypto=require(_0x6381('0xb'));var jsforce=require(_0x6381('0xc'));var deskjs=require(_0x6381('0xd'));var toCsv=require(_0x6381('0xe'));var querystring=require(_0x6381('0xf'));var Papa=require('papaparse');var Redis=require(_0x6381('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x6381('0x11'));var hardwareService=require(_0x6381('0x12'));var logger=require(_0x6381('0x13'))(_0x6381('0x14'));var utils=require(_0x6381('0x15'));var config=require(_0x6381('0x16'));var licenseUtil=require(_0x6381('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x12c4e9,_0x388be3){_0x388be3=_0x388be3||0xcc;return function(_0x204296){if(_0x204296){return _0x12c4e9[_0x6381('0x18')](_0x388be3);}return _0x12c4e9[_0x6381('0x19')](_0x388be3)[_0x6381('0x1a')]();};}function respondWithResult(_0x15913c,_0x15efad){_0x15efad=_0x15efad||0xc8;return function(_0x75cb26){if(_0x75cb26){return _0x15913c[_0x6381('0x19')](_0x15efad)['json'](_0x75cb26);}};}function respondWithFilteredResult(_0x548329,_0x5a7d5a){return function(_0x24195f){if(_0x24195f){var _0x524c84=typeof _0x5a7d5a[_0x6381('0x1b')]===_0x6381('0x1c')&&typeof _0x5a7d5a[_0x6381('0x1d')]==='undefined';var _0x3ba7cc=_0x24195f['count'];var _0x4a0bff=_0x524c84?0x0:_0x5a7d5a[_0x6381('0x1b')];var _0x7e6f36=_0x524c84?_0x24195f[_0x6381('0x1e')]:_0x5a7d5a[_0x6381('0x1b')]+_0x5a7d5a['limit'];var _0x19f306;if(_0x7e6f36>=_0x3ba7cc){_0x7e6f36=_0x3ba7cc;_0x19f306=0xc8;}else{_0x19f306=0xce;}_0x548329[_0x6381('0x19')](_0x19f306);return _0x548329['set'](_0x6381('0x1f'),_0x4a0bff+'-'+_0x7e6f36+'/'+_0x3ba7cc)[_0x6381('0x20')](_0x24195f);}return null;};}function patchUpdates(_0x4bfb35){return function(_0x5d7e7e){try{jsonpatch[_0x6381('0x21')](_0x5d7e7e,_0x4bfb35,!![]);}catch(_0x3f4fff){return BPromise[_0x6381('0x22')](_0x3f4fff);}return _0x5d7e7e[_0x6381('0x23')]();};}function saveUpdates(_0x53d0c2,_0x11ff66){return function(_0x2cb1c8){if(_0x2cb1c8){return _0x2cb1c8['update'](_0x53d0c2)[_0x6381('0x24')](function(_0x776e47){return _0x776e47;});}return null;};}function removeEntity(_0x5437c5,_0xa39d94){return function(_0x36226b){if(_0x36226b){return _0x36226b['destroy']()[_0x6381('0x24')](function(){_0x5437c5['status'](0xcc)[_0x6381('0x1a')]();});}};}function handleEntityNotFound(_0x2ba7b6,_0x45dffb){return function(_0x103f76){if(!_0x103f76){_0x2ba7b6[_0x6381('0x18')](0x194);}return _0x103f76;};}function handleError(_0x5ab02e,_0x15fa60){_0x15fa60=_0x15fa60||0x1f4;return function(_0x2d3751){logger[_0x6381('0x25')](_0x2d3751['stack']);if(_0x2d3751[_0x6381('0x26')]){delete _0x2d3751[_0x6381('0x26')];}_0x5ab02e[_0x6381('0x19')](_0x15fa60)[_0x6381('0x27')](_0x2d3751);};}exports[_0x6381('0x28')]=function(_0x99663f,_0x4db035){var _0x49e1f8={},_0x544e41={},_0x407210={'count':0x0,'rows':[]};var _0x5f2129=_['map'](db[_0x6381('0x29')][_0x6381('0x2a')],function(_0x32d67e){return{'name':_0x32d67e[_0x6381('0x2b')],'type':_0x32d67e[_0x6381('0x2c')]['key']};});_0x544e41[_0x6381('0x2d')]=_[_0x6381('0x2e')](_0x5f2129,_0x6381('0x26'));_0x544e41[_0x6381('0x2f')]=_[_0x6381('0x30')](_0x99663f[_0x6381('0x2f')]);_0x544e41[_0x6381('0x31')]=_[_0x6381('0x32')](_0x544e41[_0x6381('0x2d')],_0x544e41[_0x6381('0x2f')]);_0x49e1f8[_0x6381('0x33')]=_[_0x6381('0x32')](_0x544e41[_0x6381('0x2d')],qs['fields'](_0x99663f['query'][_0x6381('0x34')]));_0x49e1f8[_0x6381('0x33')]=_0x49e1f8[_0x6381('0x33')][_0x6381('0x35')]?_0x49e1f8[_0x6381('0x33')]:_0x544e41['model'];if(!_0x99663f[_0x6381('0x2f')]['hasOwnProperty'](_0x6381('0x36'))){_0x49e1f8[_0x6381('0x1d')]=qs[_0x6381('0x1d')](_0x99663f[_0x6381('0x2f')][_0x6381('0x1d')]);_0x49e1f8[_0x6381('0x1b')]=qs[_0x6381('0x1b')](_0x99663f[_0x6381('0x2f')][_0x6381('0x1b')]);}_0x49e1f8[_0x6381('0x37')]=qs[_0x6381('0x38')](_0x99663f['query'][_0x6381('0x38')]);_0x49e1f8['where']=qs[_0x6381('0x31')](_['pick'](_0x99663f[_0x6381('0x2f')],_0x544e41[_0x6381('0x31')]),_0x5f2129);if(_0x99663f['query'][_0x6381('0x39')]){_0x49e1f8[_0x6381('0x3a')]=_[_0x6381('0x3b')](_0x49e1f8[_0x6381('0x3a')],{'$or':_['map'](_0x5f2129,function(_0x4326de){if(_0x4326de[_0x6381('0x2c')]!==_0x6381('0x3c')){var _0x334ae9={};_0x334ae9[_0x4326de[_0x6381('0x26')]]={'$like':'%'+_0x99663f[_0x6381('0x2f')][_0x6381('0x39')]+'%'};return _0x334ae9;}})});}_0x49e1f8=_[_0x6381('0x3b')]({},_0x49e1f8,_0x99663f[_0x6381('0x3d')]);var _0x467464={'where':_0x49e1f8[_0x6381('0x3a')]};return db[_0x6381('0x29')][_0x6381('0x1e')](_0x467464)[_0x6381('0x24')](function(_0x34d93e){_0x407210[_0x6381('0x1e')]=_0x34d93e;if(_0x99663f['query']['includeAll']){_0x49e1f8['include']=[{'all':!![]}];}return db[_0x6381('0x29')]['findAll'](_0x49e1f8);})[_0x6381('0x24')](function(_0x24aa83){_0x407210[_0x6381('0x3e')]=_0x24aa83;return _0x407210;})['then'](respondWithFilteredResult(_0x4db035,_0x49e1f8))[_0x6381('0x3f')](handleError(_0x4db035,null));};exports[_0x6381('0x40')]=function(_0x743255,_0x3d5ab9){var _0x48ca10={'raw':![],'where':{'id':_0x743255[_0x6381('0x41')]['id']}},_0x191099={};_0x191099[_0x6381('0x2d')]=_['keys'](db[_0x6381('0x29')][_0x6381('0x2a')]);_0x191099[_0x6381('0x2f')]=_[_0x6381('0x30')](_0x743255[_0x6381('0x2f')]);_0x191099[_0x6381('0x31')]=_[_0x6381('0x32')](_0x191099[_0x6381('0x2d')],_0x191099[_0x6381('0x2f')]);_0x48ca10[_0x6381('0x33')]=_['intersection'](_0x191099[_0x6381('0x2d')],qs[_0x6381('0x34')](_0x743255[_0x6381('0x2f')][_0x6381('0x34')]));_0x48ca10[_0x6381('0x33')]=_0x48ca10['attributes']['length']?_0x48ca10['attributes']:_0x191099['model'];if(_0x743255[_0x6381('0x2f')][_0x6381('0x42')]){_0x48ca10['include']=[{'all':!![]}];}_0x48ca10=_['merge']({},_0x48ca10,_0x743255[_0x6381('0x3d')]);return db[_0x6381('0x29')][_0x6381('0x43')](_0x48ca10)[_0x6381('0x24')](handleEntityNotFound(_0x3d5ab9,null))[_0x6381('0x24')](respondWithResult(_0x3d5ab9,null))[_0x6381('0x3f')](handleError(_0x3d5ab9,null));};exports[_0x6381('0x44')]=function(_0x1f800c,_0x3330c3){return db['AnalyticFieldReport']['create'](_0x1f800c[_0x6381('0x45')],{})['then'](respondWithResult(_0x3330c3,0xc9))[_0x6381('0x3f')](handleError(_0x3330c3,null));};exports['bulkCreate']=function(_0x381d03,_0x4d7de5){return db[_0x6381('0x29')][_0x6381('0x46')](_0x381d03[_0x6381('0x45')],{'raw':![],'individualHooks':!![]})[_0x6381('0x24')](respondWithResult(_0x4d7de5,0xc9))[_0x6381('0x3f')](handleError(_0x4d7de5,null));};exports[_0x6381('0x47')]=function(_0x162bde,_0x468583){if(_0x162bde['body']['id']){delete _0x162bde['body']['id'];}return db[_0x6381('0x29')][_0x6381('0x43')]({'where':{'id':_0x162bde['params']['id']}})[_0x6381('0x24')](handleEntityNotFound(_0x468583,null))[_0x6381('0x24')](saveUpdates(_0x162bde[_0x6381('0x45')],null))[_0x6381('0x24')](respondWithResult(_0x468583,null))[_0x6381('0x3f')](handleError(_0x468583,null));};exports['destroy']=function(_0x5b796a,_0x1e0a0e){return db[_0x6381('0x29')][_0x6381('0x43')]({'where':{'id':_0x5b796a['params']['id']}})[_0x6381('0x24')](handleEntityNotFound(_0x1e0a0e,null))[_0x6381('0x24')](removeEntity(_0x1e0a0e,null))[_0x6381('0x3f')](handleError(_0x1e0a0e,null));};exports[_0x6381('0x48')]=function(_0x21b8e1,_0x2edbfc){return db[_0x6381('0x29')][_0x6381('0x49')]({'where':{'id':_0x21b8e1[_0x6381('0x2f')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x6381('0x24')](respondWithResult(_0x2edbfc,0xcc))['catch'](handleError(_0x2edbfc,null));};exports[_0x6381('0x4a')]=function(_0x51aca7,_0x3dcc64,_0x23e2b1){return db[_0x6381('0x4b')][_0x6381('0x4c')]({'where':{'id':_0x51aca7[_0x6381('0x41')]['id']}})[_0x6381('0x24')](handleEntityNotFound(_0x3dcc64,null))[_0x6381('0x24')](function(_0x22077b){if(_0x22077b){return db[_0x6381('0x4d')][_0x6381('0x4e')](function(_0x4bebe7){return db[_0x6381('0x29')]['destroy']({'where':{'CustomReportId':_0x51aca7[_0x6381('0x41')]['id']},'transaction':_0x4bebe7})[_0x6381('0x24')](function(_0x1f6aff){var _0xb3e1e6=_[_0x6381('0x2e')](_0x51aca7[_0x6381('0x45')],function(_0x832d34){delete _0x832d34['id'];_0x832d34['CustomReportId']=_0x51aca7[_0x6381('0x41')]['id'];return _0x832d34;});return db[_0x6381('0x29')][_0x6381('0x46')](_0xb3e1e6,{'transaction':_0x4bebe7});});})[_0x6381('0x24')](function(){return db['AnalyticFieldReport'][_0x6381('0x4f')]({'where':{'CustomReportId':_0x51aca7[_0x6381('0x41')]['id']}});});}})['then'](respondWithResult(_0x3dcc64,null))[_0x6381('0x3f')](handleError(_0x3dcc64,null));};