Built motion from commit (unavailable).|2.5.30
[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 _0x1ed8=['VIRTUAL','includeAll','include','catch','find','create','bulkCreate','body','params','bulkDestroy','ids','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','count','limit','set','apply','save','update','then','destroy','end','name','send','index','map','AnalyticFieldReport','rawAttributes','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge'];(function(_0x54f083,_0x5f117c){var _0x5023b6=function(_0x2ed646){while(--_0x2ed646){_0x54f083['push'](_0x54f083['shift']());}};_0x5023b6(++_0x5f117c);}(_0x1ed8,0xad));var _0x81ed=function(_0x46ee72,_0xde4f9c){_0x46ee72=_0x46ee72-0x0;var _0xaed9fc=_0x1ed8[_0x46ee72];return _0xaed9fc;};'use strict';var emlformat=require(_0x81ed('0x0'));var rimraf=require(_0x81ed('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x81ed('0x2'));var rp=require(_0x81ed('0x3'));var moment=require(_0x81ed('0x4'));var BPromise=require(_0x81ed('0x5'));var Mustache=require(_0x81ed('0x6'));var util=require(_0x81ed('0x7'));var path=require('path');var sox=require('sox');var csv=require(_0x81ed('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x81ed('0x9'));var squel=require(_0x81ed('0xa'));var crypto=require(_0x81ed('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x81ed('0xc'));var toCsv=require(_0x81ed('0x8'));var querystring=require(_0x81ed('0xd'));var Papa=require(_0x81ed('0xe'));var Redis=require('ioredis');var authService=require(_0x81ed('0xf'));var qs=require(_0x81ed('0x10'));var as=require(_0x81ed('0x11'));var hardwareService=require(_0x81ed('0x12'));var logger=require(_0x81ed('0x13'))('api');var utils=require(_0x81ed('0x14'));var config=require(_0x81ed('0x15'));var licenseUtil=require(_0x81ed('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x50077e,_0x13046a){_0x13046a=_0x13046a||0xcc;return function(_0x33dd44){if(_0x33dd44){return _0x50077e[_0x81ed('0x17')](_0x13046a);}return _0x50077e[_0x81ed('0x18')](_0x13046a)['end']();};}function respondWithResult(_0x46c4dc,_0x16b747){_0x16b747=_0x16b747||0xc8;return function(_0xc6b953){if(_0xc6b953){return _0x46c4dc[_0x81ed('0x18')](_0x16b747)[_0x81ed('0x19')](_0xc6b953);}};}function respondWithFilteredResult(_0x89e297,_0x2b7cb8){return function(_0x3710a0){if(_0x3710a0){var _0x27d805=typeof _0x2b7cb8[_0x81ed('0x1a')]===_0x81ed('0x1b')&&typeof _0x2b7cb8['limit']===_0x81ed('0x1b');var _0x53ecba=_0x3710a0['count'];var _0x5ef96e=_0x27d805?0x0:_0x2b7cb8[_0x81ed('0x1a')];var _0x53bd30=_0x27d805?_0x3710a0[_0x81ed('0x1c')]:_0x2b7cb8[_0x81ed('0x1a')]+_0x2b7cb8[_0x81ed('0x1d')];var _0x29d84a;if(_0x53bd30>=_0x53ecba){_0x53bd30=_0x53ecba;_0x29d84a=0xc8;}else{_0x29d84a=0xce;}_0x89e297[_0x81ed('0x18')](_0x29d84a);return _0x89e297[_0x81ed('0x1e')]('Content-Range',_0x5ef96e+'-'+_0x53bd30+'/'+_0x53ecba)[_0x81ed('0x19')](_0x3710a0);}return null;};}function patchUpdates(_0x129fe8){return function(_0x43aa63){try{jsonpatch[_0x81ed('0x1f')](_0x43aa63,_0x129fe8,!![]);}catch(_0x3afd19){return BPromise['reject'](_0x3afd19);}return _0x43aa63[_0x81ed('0x20')]();};}function saveUpdates(_0x5b41be,_0x1a2a7c){return function(_0x2e3187){if(_0x2e3187){return _0x2e3187[_0x81ed('0x21')](_0x5b41be)[_0x81ed('0x22')](function(_0x45a3da){return _0x45a3da;});}return null;};}function removeEntity(_0xd65c6c,_0x14676c){return function(_0x51bd11){if(_0x51bd11){return _0x51bd11[_0x81ed('0x23')]()[_0x81ed('0x22')](function(){_0xd65c6c[_0x81ed('0x18')](0xcc)[_0x81ed('0x24')]();});}};}function handleEntityNotFound(_0x33c79f,_0x4fca10){return function(_0x1a1fda){if(!_0x1a1fda){_0x33c79f[_0x81ed('0x17')](0x194);}return _0x1a1fda;};}function handleError(_0x39ac5f,_0x43c1d1){_0x43c1d1=_0x43c1d1||0x1f4;return function(_0x3f8783){logger['error'](_0x3f8783['stack']);if(_0x3f8783[_0x81ed('0x25')]){delete _0x3f8783['name'];}_0x39ac5f['status'](_0x43c1d1)[_0x81ed('0x26')](_0x3f8783);};}exports[_0x81ed('0x27')]=function(_0x993b84,_0x475200){var _0x233a52={},_0x558ade={},_0xcc3a79={'count':0x0,'rows':[]};var _0x3232d1=_[_0x81ed('0x28')](db[_0x81ed('0x29')][_0x81ed('0x2a')],function(_0x208831){return{'name':_0x208831['fieldName'],'type':_0x208831[_0x81ed('0x2b')][_0x81ed('0x2c')]};});_0x558ade[_0x81ed('0x2d')]=_['map'](_0x3232d1,_0x81ed('0x25'));_0x558ade['query']=_[_0x81ed('0x2e')](_0x993b84[_0x81ed('0x2f')]);_0x558ade[_0x81ed('0x30')]=_[_0x81ed('0x31')](_0x558ade[_0x81ed('0x2d')],_0x558ade[_0x81ed('0x2f')]);_0x233a52[_0x81ed('0x32')]=_[_0x81ed('0x31')](_0x558ade[_0x81ed('0x2d')],qs[_0x81ed('0x33')](_0x993b84[_0x81ed('0x2f')][_0x81ed('0x33')]));_0x233a52[_0x81ed('0x32')]=_0x233a52[_0x81ed('0x32')][_0x81ed('0x34')]?_0x233a52['attributes']:_0x558ade[_0x81ed('0x2d')];if(!_0x993b84['query'][_0x81ed('0x35')](_0x81ed('0x36'))){_0x233a52[_0x81ed('0x1d')]=qs[_0x81ed('0x1d')](_0x993b84[_0x81ed('0x2f')][_0x81ed('0x1d')]);_0x233a52[_0x81ed('0x1a')]=qs[_0x81ed('0x1a')](_0x993b84[_0x81ed('0x2f')]['offset']);}_0x233a52[_0x81ed('0x37')]=qs[_0x81ed('0x38')](_0x993b84[_0x81ed('0x2f')]['sort']);_0x233a52['where']=qs[_0x81ed('0x30')](_[_0x81ed('0x39')](_0x993b84[_0x81ed('0x2f')],_0x558ade['filters']),_0x3232d1);if(_0x993b84['query'][_0x81ed('0x3a')]){_0x233a52[_0x81ed('0x3b')]=_[_0x81ed('0x3c')](_0x233a52[_0x81ed('0x3b')],{'$or':_[_0x81ed('0x28')](_0x3232d1,function(_0x2688a5){if(_0x2688a5['type']!==_0x81ed('0x3d')){var _0x422147={};_0x422147[_0x2688a5[_0x81ed('0x25')]]={'$like':'%'+_0x993b84[_0x81ed('0x2f')][_0x81ed('0x3a')]+'%'};return _0x422147;}})});}_0x233a52=_['merge']({},_0x233a52,_0x993b84['options']);var _0x40fee6={'where':_0x233a52[_0x81ed('0x3b')]};return db['AnalyticFieldReport'][_0x81ed('0x1c')](_0x40fee6)[_0x81ed('0x22')](function(_0x59fa42){_0xcc3a79['count']=_0x59fa42;if(_0x993b84[_0x81ed('0x2f')][_0x81ed('0x3e')]){_0x233a52[_0x81ed('0x3f')]=[{'all':!![]}];}return db[_0x81ed('0x29')]['findAll'](_0x233a52);})[_0x81ed('0x22')](function(_0x11d92f){_0xcc3a79['rows']=_0x11d92f;return _0xcc3a79;})[_0x81ed('0x22')](respondWithFilteredResult(_0x475200,_0x233a52))[_0x81ed('0x40')](handleError(_0x475200,null));};exports['show']=function(_0x58c6a9,_0xd78d0e){var _0x333ee8={'raw':![],'where':{'id':_0x58c6a9['params']['id']}},_0x19443d={};_0x19443d[_0x81ed('0x2d')]=_[_0x81ed('0x2e')](db[_0x81ed('0x29')][_0x81ed('0x2a')]);_0x19443d[_0x81ed('0x2f')]=_[_0x81ed('0x2e')](_0x58c6a9[_0x81ed('0x2f')]);_0x19443d['filters']=_['intersection'](_0x19443d['model'],_0x19443d['query']);_0x333ee8[_0x81ed('0x32')]=_['intersection'](_0x19443d[_0x81ed('0x2d')],qs[_0x81ed('0x33')](_0x58c6a9[_0x81ed('0x2f')][_0x81ed('0x33')]));_0x333ee8[_0x81ed('0x32')]=_0x333ee8['attributes'][_0x81ed('0x34')]?_0x333ee8[_0x81ed('0x32')]:_0x19443d[_0x81ed('0x2d')];if(_0x58c6a9[_0x81ed('0x2f')]['includeAll']){_0x333ee8[_0x81ed('0x3f')]=[{'all':!![]}];}_0x333ee8=_[_0x81ed('0x3c')]({},_0x333ee8,_0x58c6a9['options']);return db[_0x81ed('0x29')][_0x81ed('0x41')](_0x333ee8)['then'](handleEntityNotFound(_0xd78d0e,null))[_0x81ed('0x22')](respondWithResult(_0xd78d0e,null))[_0x81ed('0x40')](handleError(_0xd78d0e,null));};exports[_0x81ed('0x42')]=function(_0x1a9282,_0x17839f){return db[_0x81ed('0x29')][_0x81ed('0x42')](_0x1a9282['body'],{})['then'](respondWithResult(_0x17839f,0xc9))[_0x81ed('0x40')](handleError(_0x17839f,null));};exports[_0x81ed('0x43')]=function(_0x3a60c2,_0x46ca3e){return db[_0x81ed('0x29')][_0x81ed('0x43')](_0x3a60c2[_0x81ed('0x44')],{'raw':![],'individualHooks':!![]})[_0x81ed('0x22')](respondWithResult(_0x46ca3e,0xc9))[_0x81ed('0x40')](handleError(_0x46ca3e,null));};exports[_0x81ed('0x21')]=function(_0x5b63c7,_0x55c12b){if(_0x5b63c7[_0x81ed('0x44')]['id']){delete _0x5b63c7[_0x81ed('0x44')]['id'];}return db['AnalyticFieldReport']['find']({'where':{'id':_0x5b63c7['params']['id']}})[_0x81ed('0x22')](handleEntityNotFound(_0x55c12b,null))[_0x81ed('0x22')](saveUpdates(_0x5b63c7['body'],null))[_0x81ed('0x22')](respondWithResult(_0x55c12b,null))['catch'](handleError(_0x55c12b,null));};exports[_0x81ed('0x23')]=function(_0x2d2ee5,_0x26f36f){return db[_0x81ed('0x29')][_0x81ed('0x41')]({'where':{'id':_0x2d2ee5[_0x81ed('0x45')]['id']}})[_0x81ed('0x22')](handleEntityNotFound(_0x26f36f,null))[_0x81ed('0x22')](removeEntity(_0x26f36f,null))[_0x81ed('0x40')](handleError(_0x26f36f,null));};exports[_0x81ed('0x46')]=function(_0x2d76d5,_0x615c53){return db[_0x81ed('0x29')][_0x81ed('0x23')]({'where':{'id':_0x2d76d5[_0x81ed('0x2f')][_0x81ed('0x47')]||[]},'raw':![],'individualHooks':!![]})[_0x81ed('0x22')](respondWithResult(_0x615c53,0xcc))['catch'](handleError(_0x615c53,null));};exports[_0x81ed('0x48')]=function(_0x110cd9,_0x57e864,_0x3c51c2){return db[_0x81ed('0x49')][_0x81ed('0x4a')]({'where':{'id':_0x110cd9[_0x81ed('0x45')]['id']}})[_0x81ed('0x22')](handleEntityNotFound(_0x57e864,null))['then'](function(_0xb59660){if(_0xb59660){return db[_0x81ed('0x4b')][_0x81ed('0x4c')](function(_0x1f7413){return db[_0x81ed('0x29')][_0x81ed('0x23')]({'where':{'CustomReportId':_0x110cd9[_0x81ed('0x45')]['id']},'transaction':_0x1f7413})[_0x81ed('0x22')](function(_0x51ed7e){var _0x38f92c=_[_0x81ed('0x28')](_0x110cd9[_0x81ed('0x44')],function(_0x3c9ef1){delete _0x3c9ef1['id'];_0x3c9ef1[_0x81ed('0x4d')]=_0x110cd9[_0x81ed('0x45')]['id'];return _0x3c9ef1;});return db['AnalyticFieldReport']['bulkCreate'](_0x38f92c,{'transaction':_0x1f7413});});})['then'](function(){return db[_0x81ed('0x29')]['findAll']({'where':{'CustomReportId':_0x110cd9['params']['id']}});});}})[_0x81ed('0x22')](respondWithResult(_0x57e864,null))['catch'](handleError(_0x57e864,null));};