Built motion from commit 4fa9d4a7.|2.6.31
[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 _0x50a4=['keys','rawAttributes','find','catch','create','body','bulkCreate','ids','addFields','findOne','sequelize','transaction','CustomReportId','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','offset','limit','undefined','count','Content-Range','apply','reject','save','update','then','destroy','error','stack','name','send','index','map','AnalyticFieldReport','fieldName','type','query','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','show','params'];(function(_0x3a2db0,_0xc9430e){var _0x5769c0=function(_0x1b46b5){while(--_0x1b46b5){_0x3a2db0['push'](_0x3a2db0['shift']());}};_0x5769c0(++_0xc9430e);}(_0x50a4,0x165));var _0x450a=function(_0x4f4c4c,_0x4b7fb3){_0x4f4c4c=_0x4f4c4c-0x0;var _0xe2b169=_0x50a4[_0x4f4c4c];return _0xe2b169;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x450a('0x0'));var zipdir=require(_0x450a('0x1'));var jsonpatch=require(_0x450a('0x2'));var rp=require(_0x450a('0x3'));var moment=require(_0x450a('0x4'));var BPromise=require(_0x450a('0x5'));var Mustache=require('mustache');var util=require(_0x450a('0x6'));var path=require(_0x450a('0x7'));var sox=require(_0x450a('0x8'));var csv=require(_0x450a('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x450a('0xa'));var _=require(_0x450a('0xb'));var squel=require(_0x450a('0xc'));var crypto=require(_0x450a('0xd'));var jsforce=require(_0x450a('0xe'));var deskjs=require(_0x450a('0xf'));var toCsv=require(_0x450a('0x9'));var querystring=require('querystring');var Papa=require(_0x450a('0x10'));var Redis=require(_0x450a('0x11'));var authService=require(_0x450a('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x450a('0x13'));var hardwareService=require(_0x450a('0x14'));var logger=require(_0x450a('0x15'))(_0x450a('0x16'));var utils=require(_0x450a('0x17'));var config=require(_0x450a('0x18'));var licenseUtil=require(_0x450a('0x19'));var db=require(_0x450a('0x1a'))['db'];function respondWithStatusCode(_0x4f6987,_0x2d8f54){_0x2d8f54=_0x2d8f54||0xcc;return function(_0x49846b){if(_0x49846b){return _0x4f6987[_0x450a('0x1b')](_0x2d8f54);}return _0x4f6987[_0x450a('0x1c')](_0x2d8f54)[_0x450a('0x1d')]();};}function respondWithResult(_0x306c6e,_0x115024){_0x115024=_0x115024||0xc8;return function(_0x1a0e82){if(_0x1a0e82){return _0x306c6e[_0x450a('0x1c')](_0x115024)[_0x450a('0x1e')](_0x1a0e82);}};}function respondWithFilteredResult(_0x575e56,_0x3b3e56){return function(_0x1f0a89){if(_0x1f0a89){var _0x1578af=typeof _0x3b3e56[_0x450a('0x1f')]==='undefined'&&typeof _0x3b3e56[_0x450a('0x20')]===_0x450a('0x21');var _0x587652=_0x1f0a89[_0x450a('0x22')];var _0x103fb7=_0x1578af?0x0:_0x3b3e56['offset'];var _0x45c449=_0x1578af?_0x1f0a89['count']:_0x3b3e56[_0x450a('0x1f')]+_0x3b3e56[_0x450a('0x20')];var _0x249d38;if(_0x45c449>=_0x587652){_0x45c449=_0x587652;_0x249d38=0xc8;}else{_0x249d38=0xce;}_0x575e56[_0x450a('0x1c')](_0x249d38);return _0x575e56['set'](_0x450a('0x23'),_0x103fb7+'-'+_0x45c449+'/'+_0x587652)[_0x450a('0x1e')](_0x1f0a89);}return null;};}function patchUpdates(_0x5ab667){return function(_0x31b433){try{jsonpatch[_0x450a('0x24')](_0x31b433,_0x5ab667,!![]);}catch(_0x5f3603){return BPromise[_0x450a('0x25')](_0x5f3603);}return _0x31b433[_0x450a('0x26')]();};}function saveUpdates(_0x593bf2,_0x6ecb2d){return function(_0x2ff599){if(_0x2ff599){return _0x2ff599[_0x450a('0x27')](_0x593bf2)[_0x450a('0x28')](function(_0x30dd2f){return _0x30dd2f;});}return null;};}function removeEntity(_0x4e1aa4,_0x2aa3bf){return function(_0x259aec){if(_0x259aec){return _0x259aec[_0x450a('0x29')]()['then'](function(){_0x4e1aa4[_0x450a('0x1c')](0xcc)[_0x450a('0x1d')]();});}};}function handleEntityNotFound(_0x44505f,_0x2d215f){return function(_0x524638){if(!_0x524638){_0x44505f[_0x450a('0x1b')](0x194);}return _0x524638;};}function handleError(_0xff2360,_0x2a08ee){_0x2a08ee=_0x2a08ee||0x1f4;return function(_0x3d6b8d){logger[_0x450a('0x2a')](_0x3d6b8d[_0x450a('0x2b')]);if(_0x3d6b8d[_0x450a('0x2c')]){delete _0x3d6b8d[_0x450a('0x2c')];}_0xff2360[_0x450a('0x1c')](_0x2a08ee)[_0x450a('0x2d')](_0x3d6b8d);};}exports[_0x450a('0x2e')]=function(_0x24855d,_0x10fbaf){var _0x455398={},_0x435e3e={},_0x5c364c={'count':0x0,'rows':[]};var _0x2f194b=_[_0x450a('0x2f')](db[_0x450a('0x30')]['rawAttributes'],function(_0x408207){return{'name':_0x408207[_0x450a('0x31')],'type':_0x408207[_0x450a('0x32')]['key']};});_0x435e3e['model']=_['map'](_0x2f194b,_0x450a('0x2c'));_0x435e3e[_0x450a('0x33')]=_['keys'](_0x24855d[_0x450a('0x33')]);_0x435e3e['filters']=_[_0x450a('0x34')](_0x435e3e[_0x450a('0x35')],_0x435e3e[_0x450a('0x33')]);_0x455398[_0x450a('0x36')]=_[_0x450a('0x34')](_0x435e3e[_0x450a('0x35')],qs['fields'](_0x24855d[_0x450a('0x33')][_0x450a('0x37')]));_0x455398[_0x450a('0x36')]=_0x455398[_0x450a('0x36')][_0x450a('0x38')]?_0x455398['attributes']:_0x435e3e[_0x450a('0x35')];if(!_0x24855d[_0x450a('0x33')][_0x450a('0x39')](_0x450a('0x3a'))){_0x455398[_0x450a('0x20')]=qs[_0x450a('0x20')](_0x24855d[_0x450a('0x33')][_0x450a('0x20')]);_0x455398[_0x450a('0x1f')]=qs[_0x450a('0x1f')](_0x24855d['query'][_0x450a('0x1f')]);}_0x455398[_0x450a('0x3b')]=qs['sort'](_0x24855d['query'][_0x450a('0x3c')]);_0x455398[_0x450a('0x3d')]=qs[_0x450a('0x3e')](_[_0x450a('0x3f')](_0x24855d[_0x450a('0x33')],_0x435e3e[_0x450a('0x3e')]),_0x2f194b);if(_0x24855d[_0x450a('0x33')][_0x450a('0x40')]){_0x455398[_0x450a('0x3d')]=_['merge'](_0x455398['where'],{'$or':_['map'](_0x2f194b,function(_0x461b0f){if(_0x461b0f[_0x450a('0x32')]!==_0x450a('0x41')){var _0x43b61a={};_0x43b61a[_0x461b0f['name']]={'$like':'%'+_0x24855d[_0x450a('0x33')][_0x450a('0x40')]+'%'};return _0x43b61a;}})});}_0x455398=_[_0x450a('0x42')]({},_0x455398,_0x24855d[_0x450a('0x43')]);var _0x519465={'where':_0x455398[_0x450a('0x3d')]};return db[_0x450a('0x30')][_0x450a('0x22')](_0x519465)[_0x450a('0x28')](function(_0x18f103){_0x5c364c[_0x450a('0x22')]=_0x18f103;if(_0x24855d[_0x450a('0x33')][_0x450a('0x44')]){_0x455398[_0x450a('0x45')]=[{'all':!![]}];}return db[_0x450a('0x30')][_0x450a('0x46')](_0x455398);})[_0x450a('0x28')](function(_0x4d2b2c){_0x5c364c['rows']=_0x4d2b2c;return _0x5c364c;})[_0x450a('0x28')](respondWithFilteredResult(_0x10fbaf,_0x455398))['catch'](handleError(_0x10fbaf,null));};exports[_0x450a('0x47')]=function(_0x64f880,_0x572ef3){var _0x22c5b5={'raw':![],'where':{'id':_0x64f880[_0x450a('0x48')]['id']}},_0x2b922d={};_0x2b922d[_0x450a('0x35')]=_[_0x450a('0x49')](db[_0x450a('0x30')][_0x450a('0x4a')]);_0x2b922d[_0x450a('0x33')]=_['keys'](_0x64f880[_0x450a('0x33')]);_0x2b922d['filters']=_[_0x450a('0x34')](_0x2b922d[_0x450a('0x35')],_0x2b922d['query']);_0x22c5b5[_0x450a('0x36')]=_[_0x450a('0x34')](_0x2b922d[_0x450a('0x35')],qs[_0x450a('0x37')](_0x64f880[_0x450a('0x33')][_0x450a('0x37')]));_0x22c5b5[_0x450a('0x36')]=_0x22c5b5[_0x450a('0x36')]['length']?_0x22c5b5[_0x450a('0x36')]:_0x2b922d['model'];if(_0x64f880[_0x450a('0x33')][_0x450a('0x44')]){_0x22c5b5['include']=[{'all':!![]}];}_0x22c5b5=_['merge']({},_0x22c5b5,_0x64f880[_0x450a('0x43')]);return db['AnalyticFieldReport'][_0x450a('0x4b')](_0x22c5b5)[_0x450a('0x28')](handleEntityNotFound(_0x572ef3,null))[_0x450a('0x28')](respondWithResult(_0x572ef3,null))[_0x450a('0x4c')](handleError(_0x572ef3,null));};exports['create']=function(_0x19bf1b,_0x125090){return db[_0x450a('0x30')][_0x450a('0x4d')](_0x19bf1b[_0x450a('0x4e')],{})[_0x450a('0x28')](respondWithResult(_0x125090,0xc9))[_0x450a('0x4c')](handleError(_0x125090,null));};exports[_0x450a('0x4f')]=function(_0x478561,_0x1fc05e){return db[_0x450a('0x30')][_0x450a('0x4f')](_0x478561['body'],{'raw':![],'individualHooks':!![]})[_0x450a('0x28')](respondWithResult(_0x1fc05e,0xc9))[_0x450a('0x4c')](handleError(_0x1fc05e,null));};exports[_0x450a('0x27')]=function(_0x2995e4,_0x3412c1){if(_0x2995e4['body']['id']){delete _0x2995e4['body']['id'];}return db['AnalyticFieldReport'][_0x450a('0x4b')]({'where':{'id':_0x2995e4[_0x450a('0x48')]['id']}})[_0x450a('0x28')](handleEntityNotFound(_0x3412c1,null))[_0x450a('0x28')](saveUpdates(_0x2995e4[_0x450a('0x4e')],null))[_0x450a('0x28')](respondWithResult(_0x3412c1,null))[_0x450a('0x4c')](handleError(_0x3412c1,null));};exports[_0x450a('0x29')]=function(_0x1bf475,_0x169943){return db['AnalyticFieldReport'][_0x450a('0x4b')]({'where':{'id':_0x1bf475[_0x450a('0x48')]['id']}})[_0x450a('0x28')](handleEntityNotFound(_0x169943,null))[_0x450a('0x28')](removeEntity(_0x169943,null))[_0x450a('0x4c')](handleError(_0x169943,null));};exports['bulkDestroy']=function(_0x2ddf33,_0x13d635){return db[_0x450a('0x30')][_0x450a('0x29')]({'where':{'id':_0x2ddf33['query'][_0x450a('0x50')]||[]},'raw':![],'individualHooks':!![]})[_0x450a('0x28')](respondWithResult(_0x13d635,0xcc))[_0x450a('0x4c')](handleError(_0x13d635,null));};exports[_0x450a('0x51')]=function(_0x4dbe9e,_0x3c0b74,_0x460964){return db['AnalyticCustomReport'][_0x450a('0x52')]({'where':{'id':_0x4dbe9e[_0x450a('0x48')]['id']}})[_0x450a('0x28')](handleEntityNotFound(_0x3c0b74,null))[_0x450a('0x28')](function(_0x594a0e){if(_0x594a0e){return db[_0x450a('0x53')][_0x450a('0x54')](function(_0x33b813){return db[_0x450a('0x30')][_0x450a('0x29')]({'where':{'CustomReportId':_0x4dbe9e[_0x450a('0x48')]['id']},'transaction':_0x33b813})['then'](function(_0x4e6737){var _0x554083=_[_0x450a('0x2f')](_0x4dbe9e[_0x450a('0x4e')],function(_0x310a7a){delete _0x310a7a['id'];_0x310a7a[_0x450a('0x55')]=_0x4dbe9e['params']['id'];return _0x310a7a;});return db['AnalyticFieldReport']['bulkCreate'](_0x554083,{'transaction':_0x33b813});});})['then'](function(){return db[_0x450a('0x30')][_0x450a('0x46')]({'where':{'CustomReportId':_0x4dbe9e[_0x450a('0x48')]['id']}});});}})['then'](respondWithResult(_0x3c0b74,null))['catch'](handleError(_0x3c0b74,null));};