3f9072df2dc44dd4d4d8af8a53334cdf22d0a93f
[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 _0x2a71=['query','attributes','fields','length','nolimit','sort','where','pick','filter','merge','VIRTUAL','include','AnalyticFieldReport','rows','params','keys','includeAll','catch','bulkCreate','body','find','addFields','AnalyticCustomReport','findOne','sequelize','transaction','CustomReportId','findAll','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','save','update','destroy','then','sendStatus','name','send','map','rawAttributes','type','key','model','filters','intersection'];(function(_0x347933,_0x2cf2da){var _0x344973=function(_0x4b30f2){while(--_0x4b30f2){_0x347933['push'](_0x347933['shift']());}};_0x344973(++_0x2cf2da);}(_0x2a71,0x10f));var _0x12a7=function(_0x333ec4,_0x22edd7){_0x333ec4=_0x333ec4-0x0;var _0x2c87f7=_0x2a71[_0x333ec4];return _0x2c87f7;};'use strict';var emlformat=require(_0x12a7('0x0'));var rimraf=require(_0x12a7('0x1'));var zipdir=require(_0x12a7('0x2'));var jsonpatch=require(_0x12a7('0x3'));var rp=require(_0x12a7('0x4'));var moment=require(_0x12a7('0x5'));var BPromise=require(_0x12a7('0x6'));var Mustache=require(_0x12a7('0x7'));var util=require(_0x12a7('0x8'));var path=require(_0x12a7('0x9'));var sox=require('sox');var csv=require(_0x12a7('0xa'));var ejs=require(_0x12a7('0xb'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x12a7('0xc'));var squel=require(_0x12a7('0xd'));var crypto=require(_0x12a7('0xe'));var jsforce=require(_0x12a7('0xf'));var deskjs=require(_0x12a7('0x10'));var toCsv=require(_0x12a7('0xa'));var querystring=require(_0x12a7('0x11'));var Papa=require(_0x12a7('0x12'));var Redis=require(_0x12a7('0x13'));var authService=require(_0x12a7('0x14'));var qs=require(_0x12a7('0x15'));var as=require(_0x12a7('0x16'));var hardwareService=require(_0x12a7('0x17'));var logger=require(_0x12a7('0x18'))(_0x12a7('0x19'));var utils=require(_0x12a7('0x1a'));var config=require(_0x12a7('0x1b'));var licenseUtil=require(_0x12a7('0x1c'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x4560d0,_0x2ef048){_0x2ef048=_0x2ef048||0xcc;return function(_0x1bd6dd){if(_0x1bd6dd){return _0x4560d0['sendStatus'](_0x2ef048);}return _0x4560d0[_0x12a7('0x1d')](_0x2ef048)[_0x12a7('0x1e')]();};}function respondWithResult(_0x4887c2,_0x3528e4){_0x3528e4=_0x3528e4||0xc8;return function(_0x1a7d6e){if(_0x1a7d6e){return _0x4887c2[_0x12a7('0x1d')](_0x3528e4)[_0x12a7('0x1f')](_0x1a7d6e);}};}function respondWithFilteredResult(_0x2e0a62,_0x25ddf4){return function(_0x2fa33b){if(_0x2fa33b){var _0x2bbf4e=typeof _0x25ddf4[_0x12a7('0x20')]===_0x12a7('0x21')&&typeof _0x25ddf4[_0x12a7('0x22')]===_0x12a7('0x21');var _0x55bf8b=_0x2fa33b[_0x12a7('0x23')];var _0x318a0c=_0x2bbf4e?0x0:_0x25ddf4[_0x12a7('0x20')];var _0x447918=_0x2bbf4e?_0x2fa33b[_0x12a7('0x23')]:_0x25ddf4['offset']+_0x25ddf4['limit'];var _0x1d1dd4;if(_0x447918>=_0x55bf8b){_0x447918=_0x55bf8b;_0x1d1dd4=0xc8;}else{_0x1d1dd4=0xce;}_0x2e0a62[_0x12a7('0x1d')](_0x1d1dd4);return _0x2e0a62['set'](_0x12a7('0x24'),_0x318a0c+'-'+_0x447918+'/'+_0x55bf8b)[_0x12a7('0x1f')](_0x2fa33b);}return null;};}function patchUpdates(_0x14292f){return function(_0x2e9aeb){try{jsonpatch[_0x12a7('0x25')](_0x2e9aeb,_0x14292f,!![]);}catch(_0x46196c){return BPromise[_0x12a7('0x26')](_0x46196c);}return _0x2e9aeb[_0x12a7('0x27')]();};}function saveUpdates(_0x312f20,_0x194bd4){return function(_0x203544){if(_0x203544){return _0x203544[_0x12a7('0x28')](_0x312f20)['then'](function(_0x58b2a1){return _0x58b2a1;});}return null;};}function removeEntity(_0x2d8fdd,_0x14ccea){return function(_0x4a0f31){if(_0x4a0f31){return _0x4a0f31[_0x12a7('0x29')]()[_0x12a7('0x2a')](function(){_0x2d8fdd[_0x12a7('0x1d')](0xcc)[_0x12a7('0x1e')]();});}};}function handleEntityNotFound(_0x288f89,_0x595496){return function(_0x17112c){if(!_0x17112c){_0x288f89[_0x12a7('0x2b')](0x194);}return _0x17112c;};}function handleError(_0x3d9923,_0x4ce74c){_0x4ce74c=_0x4ce74c||0x1f4;return function(_0x279a4b){logger['error'](_0x279a4b['stack']);if(_0x279a4b[_0x12a7('0x2c')]){delete _0x279a4b['name'];}_0x3d9923[_0x12a7('0x1d')](_0x4ce74c)[_0x12a7('0x2d')](_0x279a4b);};}exports['index']=function(_0xf4adfa,_0x511d2b){var _0x55fb22={},_0x5591ba={},_0xa2b756={'count':0x0,'rows':[]};var _0x1316ca=_[_0x12a7('0x2e')](db['AnalyticFieldReport'][_0x12a7('0x2f')],function(_0x58c898){return{'name':_0x58c898['fieldName'],'type':_0x58c898[_0x12a7('0x30')][_0x12a7('0x31')]};});_0x5591ba[_0x12a7('0x32')]=_[_0x12a7('0x2e')](_0x1316ca,_0x12a7('0x2c'));_0x5591ba['query']=_['keys'](_0xf4adfa['query']);_0x5591ba[_0x12a7('0x33')]=_[_0x12a7('0x34')](_0x5591ba[_0x12a7('0x32')],_0x5591ba[_0x12a7('0x35')]);_0x55fb22[_0x12a7('0x36')]=_[_0x12a7('0x34')](_0x5591ba[_0x12a7('0x32')],qs[_0x12a7('0x37')](_0xf4adfa[_0x12a7('0x35')][_0x12a7('0x37')]));_0x55fb22[_0x12a7('0x36')]=_0x55fb22[_0x12a7('0x36')][_0x12a7('0x38')]?_0x55fb22[_0x12a7('0x36')]:_0x5591ba[_0x12a7('0x32')];if(!_0xf4adfa['query']['hasOwnProperty'](_0x12a7('0x39'))){_0x55fb22[_0x12a7('0x22')]=qs[_0x12a7('0x22')](_0xf4adfa[_0x12a7('0x35')][_0x12a7('0x22')]);_0x55fb22['offset']=qs['offset'](_0xf4adfa[_0x12a7('0x35')][_0x12a7('0x20')]);}_0x55fb22['order']=qs[_0x12a7('0x3a')](_0xf4adfa['query'][_0x12a7('0x3a')]);_0x55fb22[_0x12a7('0x3b')]=qs[_0x12a7('0x33')](_[_0x12a7('0x3c')](_0xf4adfa[_0x12a7('0x35')],_0x5591ba[_0x12a7('0x33')]),_0x1316ca);if(_0xf4adfa[_0x12a7('0x35')][_0x12a7('0x3d')]){_0x55fb22[_0x12a7('0x3b')]=_[_0x12a7('0x3e')](_0x55fb22[_0x12a7('0x3b')],{'$or':_['map'](_0x1316ca,function(_0x15825a){if(_0x15825a[_0x12a7('0x30')]!==_0x12a7('0x3f')){var _0x4925f8={};_0x4925f8[_0x15825a[_0x12a7('0x2c')]]={'$like':'%'+_0xf4adfa[_0x12a7('0x35')]['filter']+'%'};return _0x4925f8;}})});}_0x55fb22=_[_0x12a7('0x3e')]({},_0x55fb22,_0xf4adfa['options']);var _0x50b949={'where':_0x55fb22[_0x12a7('0x3b')]};return db['AnalyticFieldReport'][_0x12a7('0x23')](_0x50b949)[_0x12a7('0x2a')](function(_0x48c631){_0xa2b756[_0x12a7('0x23')]=_0x48c631;if(_0xf4adfa[_0x12a7('0x35')]['includeAll']){_0x55fb22[_0x12a7('0x40')]=[{'all':!![]}];}return db[_0x12a7('0x41')]['findAll'](_0x55fb22);})['then'](function(_0x38336a){_0xa2b756[_0x12a7('0x42')]=_0x38336a;return _0xa2b756;})[_0x12a7('0x2a')](respondWithFilteredResult(_0x511d2b,_0x55fb22))['catch'](handleError(_0x511d2b,null));};exports['show']=function(_0xca8a7e,_0x435716){var _0x111480={'raw':![],'where':{'id':_0xca8a7e[_0x12a7('0x43')]['id']}},_0x3df4b6={};_0x3df4b6[_0x12a7('0x32')]=_[_0x12a7('0x44')](db[_0x12a7('0x41')]['rawAttributes']);_0x3df4b6[_0x12a7('0x35')]=_[_0x12a7('0x44')](_0xca8a7e[_0x12a7('0x35')]);_0x3df4b6['filters']=_[_0x12a7('0x34')](_0x3df4b6[_0x12a7('0x32')],_0x3df4b6[_0x12a7('0x35')]);_0x111480[_0x12a7('0x36')]=_[_0x12a7('0x34')](_0x3df4b6[_0x12a7('0x32')],qs[_0x12a7('0x37')](_0xca8a7e['query'][_0x12a7('0x37')]));_0x111480[_0x12a7('0x36')]=_0x111480[_0x12a7('0x36')][_0x12a7('0x38')]?_0x111480['attributes']:_0x3df4b6[_0x12a7('0x32')];if(_0xca8a7e[_0x12a7('0x35')][_0x12a7('0x45')]){_0x111480[_0x12a7('0x40')]=[{'all':!![]}];}_0x111480=_[_0x12a7('0x3e')]({},_0x111480,_0xca8a7e['options']);return db['AnalyticFieldReport']['find'](_0x111480)['then'](handleEntityNotFound(_0x435716,null))[_0x12a7('0x2a')](respondWithResult(_0x435716,null))[_0x12a7('0x46')](handleError(_0x435716,null));};exports['create']=function(_0x5d0e35,_0x47fcc9){return db[_0x12a7('0x41')]['create'](_0x5d0e35['body'],{})['then'](respondWithResult(_0x47fcc9,0xc9))['catch'](handleError(_0x47fcc9,null));};exports[_0x12a7('0x47')]=function(_0x384c78,_0x23819a){return db['AnalyticFieldReport']['bulkCreate'](_0x384c78[_0x12a7('0x48')],{'raw':![],'individualHooks':!![]})[_0x12a7('0x2a')](respondWithResult(_0x23819a,0xc9))[_0x12a7('0x46')](handleError(_0x23819a,null));};exports['update']=function(_0x303ecf,_0x1aec4a){if(_0x303ecf[_0x12a7('0x48')]['id']){delete _0x303ecf[_0x12a7('0x48')]['id'];}return db['AnalyticFieldReport'][_0x12a7('0x49')]({'where':{'id':_0x303ecf[_0x12a7('0x43')]['id']}})[_0x12a7('0x2a')](handleEntityNotFound(_0x1aec4a,null))[_0x12a7('0x2a')](saveUpdates(_0x303ecf['body'],null))[_0x12a7('0x2a')](respondWithResult(_0x1aec4a,null))[_0x12a7('0x46')](handleError(_0x1aec4a,null));};exports[_0x12a7('0x29')]=function(_0xdb7c97,_0x2bd7d2){return db['AnalyticFieldReport'][_0x12a7('0x49')]({'where':{'id':_0xdb7c97[_0x12a7('0x43')]['id']}})['then'](handleEntityNotFound(_0x2bd7d2,null))['then'](removeEntity(_0x2bd7d2,null))[_0x12a7('0x46')](handleError(_0x2bd7d2,null));};exports['bulkDestroy']=function(_0x5f3a1e,_0x16797b){return db[_0x12a7('0x41')][_0x12a7('0x29')]({'where':{'id':_0x5f3a1e[_0x12a7('0x35')]['ids']||[]},'raw':![],'individualHooks':!![]})[_0x12a7('0x2a')](respondWithResult(_0x16797b,0xcc))[_0x12a7('0x46')](handleError(_0x16797b,null));};exports[_0x12a7('0x4a')]=function(_0x2da95e,_0x2856df,_0x48a166){return db[_0x12a7('0x4b')][_0x12a7('0x4c')]({'where':{'id':_0x2da95e[_0x12a7('0x43')]['id']}})[_0x12a7('0x2a')](handleEntityNotFound(_0x2856df,null))[_0x12a7('0x2a')](function(_0x4539f6){if(_0x4539f6){return db[_0x12a7('0x4d')][_0x12a7('0x4e')](function(_0x5287ba){return db[_0x12a7('0x41')][_0x12a7('0x29')]({'where':{'CustomReportId':_0x2da95e[_0x12a7('0x43')]['id']},'transaction':_0x5287ba})[_0x12a7('0x2a')](function(_0x681a50){var _0x4174dd=_[_0x12a7('0x2e')](_0x2da95e[_0x12a7('0x48')],function(_0x34f7b2){delete _0x34f7b2['id'];_0x34f7b2[_0x12a7('0x4f')]=_0x2da95e['params']['id'];return _0x34f7b2;});return db[_0x12a7('0x41')]['bulkCreate'](_0x4174dd,{'transaction':_0x5287ba});});})['then'](function(){return db['AnalyticFieldReport'][_0x12a7('0x50')]({'where':{'CustomReportId':_0x2da95e[_0x12a7('0x43')]['id']}});});}})[_0x12a7('0x2a')](respondWithResult(_0x2856df,null))[_0x12a7('0x46')](handleError(_0x2856df,null));};